2021年12月15日 星期三

HBA PXE iSCSI Network booting NIC iSCSI FCoE Protocols Ethernet Ethernet Using PXE with Virtual Machines diskless ipxe xcat gpxe CCBoot Xen Server

 HBA PXE iSCSI Network booting  NIC iSCSI FCoE Protocols  Ethernet

 Ethernet Using PXE with Virtual Machines

https://audiophilestyle.com/forums/topic/26705-diskless-windows-10-pc-setup-procedure/


PXE Server  TFTP  Server DHCP  Server pxe server (serva) - network boot windows 10 - pxe boot (tutorial)
HBA vs. NIC vs. CNA boot

https://en.wikipedia.org/wiki/Preboot_Execution_Environment
預啟動執行環境(Preboot eXecution Environment,PXE
Host Bus Adapter (HBA)
NIC (Network Interface Controller)  Network interface card, short as NIC,
CNA (converged network adapter) Converged network adapter, short as CNA,
PXE (Preboot Execution Environment) is a client-server interface that allows computers in a network to be booted from the server
iPXE is an open-source implementation of the Preboot eXecution Environment (PXE) client software and bootloader  
PXES also known as PXES Universal Linux Thin Client
gPXE is an open-source Preboot eXecution Environment (PXE) client firmware implementation and bootloader derived from Etherboot

While standard PXE clients use TFTP to transfer data, gPXE client firmware adds the ability to retrieve data through other protocols like HTTP

NetBoot was a technology from Apple which enabled Macs

HBA FC , Host Bus Adapter Fibre Channel ,  FC HBA card is preferred in an FC SAN network. While iSCSI HBA card, it comes with an RJ45 port or a fiber port
NIC EC , Ethernet Channel , Based on the Internet Protocol (IP)
CNA , HBA with NIC together.


DellTMQLE8262 Converged Network Adapter 專用10GBps Qlogic QLE8262 10GB 雙口網卡HBA CNA 卡
HPE QLogic Adapters  

https://en.wikipedia.org/wiki/ISCSI

https://en.wikipedia.org/wiki/Category:Network_booting

設定PXE 伺服器以載入Windows PE
使用PXE 與Configuration Manager 部署Windows 10
How to Implement PXE Booting from USB-C and Thunderbolt ...

如何使用 Synology Assistant 來連線網路磁碟機?

Diskless Remote Boot in Linux (DRBL) - for Redhat
免費遠端開機程式AOMEI PXE Boot Tool

遠端重灌os "DRBL"+"Clonezilla" - iT 邦幫忙


Windows Diskless with AoE
A definitive guide to how to boot Windows Diskless with ATA over Ethernet Protocol (AoE)
http://web.archive.org/web/20141106111535/http://windowsdisklessaoe.wordpress.com/
Booting from AoE makes system vBlade AoE Target System  AoE Server for ALL Windows

ATA-over-Ethernet(AoE) : iSCSI  Fibre Channel 


How do I PXE boot multiple Windows 7 desktops off the same image?
https://serverfault.com/questions/415327/how-do-i-pxe-boot-multiple-windows-7-desktops-off-the-same-image

DesignEditors DesignIntf VCLEditors ComponentDesigner MSBuild TFSBuild TFlatDesignRegister Developing Custom VCL and VCL.NET Component Designers.

 DesignIntf
DesignEditors
DesignIntf.pas
DesignEditors.pas

TFlatDesignRegister.pas units DesignIntf DesignEditors VCLEditors
 DesignIDE package  
https://docwiki.embarcadero.com/RADStudio/Sydney/en/Deriving_a_Property-editor_Class
The ComponentDesigner.pas file is in the ToolsAPI folder.

Delphi Flatstyle Component
https://sourceforge.net/projects/flatstyle/
Vcl.WinHelpViewer  delphi
https://docwiki.embarcadero.com/Libraries/Sydney/en/Vcl.WinHelpViewer.ViewerName

https://docwiki.embarcadero.com/RADStudio/Sydney/en/MSBuild
DS=c:\Programme\Embarcadero\RAD Studio\7.0 FrameworkDir=c:\Windows\Microsoft.NET\Framework FrameworkVersion=v2.0.50727
MSBuild delphi  TFS TFSBuild
MSBuild Azure Pipelines 和Team Foundation Server (TFS 的組建和發行工作) ... msbuild. Azure Pipelines:如果您的小組使用Visual Studio 2017
-Microsoft Build Engine(MSBuild)是用於託管代碼和本機C ++代碼的免費開源構建工具集,是.NET Framework的一部分。

VCLEditors.pas unit is located in C:\Program Files\Embarcadero\Studio\18.0\source\ToolsAPI .

Developing Custom VCL and VCL.NET Component Designers.
https://www.slideserve.com/gaetan/developing-custom-vcl-and-vcl-net-component-designers

units with Delphi, you need to add –LUDesignIDE to the Compiler options:
    In the Project Options dialog box, under Delphi Compiler, click Compiling.
    In the Other options section, next to Additional options to pass to the compiler, enter –LUDesignIDE

EDesignPropertyError    
IDesignGroupChange    
TBoolProperty    
TCharProperty    
TClassProperty    
TComponentEditor    TComponentEditor provides the default implementation for the IComponentEditor interface.
TComponentGuidelines    
TComponentNameProperty    
TComponentProperty    
TCustomModule    
TDateProperty    
TDateTimeProperty    
TDefaultEditor    TDefaultEditor is the component editor for components that do not explicitly register a component editor.
TDesignerOleDropTarget    
TEditActionSelectionEditor    
TEnumProperty    
TFloatProperty    
TInt64Property    
TIntegerProperty    
TInterfaceProperty    
TMethodProperty    
TNestedProperty    
TOrdinalProperty    
TPropertyEditor    TPropertyEditor is a base class for property editors that implements the IProperty interface.
TSelectionEditor    
TSetElementProperty    
TSetProperty    
TStringProperty    
TTimeProperty    
TVariantProperty    
TWideCharProperty    
TWideStringProperty    
Routines
AncestorNameMatches    
ClassInheritsFrom    
FreeEditorGroup    
GetComponentEditor    Returns a component editor for the specified component on the specified form designer.
GetComponentProperties    
GetSelectionEditors    
GuidelinesFor    
NewEditorGroup    
NotifyGroupChange    
PossibleStream    
UnnotifyGroupChange    
Types
PInstPropList    
TBit    
TGetTopLevelComponentFunc    
TGroupChangeProc    
TInstProp    
TInstPropList    
Variables
GetTopLevelComponentFunc

Free Programming Libraries, Components and Source Code (thefreecountry.com)

 https://www.thefreecountry.com/sourcecode/index.shtml

Delphi Code Library Components Source Utilities tools wizard generator Coding

 https://github.com/fundamentalslib/fundamentals5

 

Fundamentals 5 Code Library for Delphi and FreePascal

Includes:

    String, DateTime and dynamic array routines
    Unicode routines
    Hash (e.g. SHA256, SHA512, SHA1, SHA256, MD5)
    Integer (e.g. Word128, Word256, Int128, Int256)
    Huge Word, Huge Integer
    Decimal (Decimal32, Decimal64, Decimal128, HugeDecimal and signed decimals)
    Random number generators
    Cryptographic (Symmetric: AES, DES, RC2, RC4; Asymmetric: RSA, Diffie-Hellman, Elliptic Curve)
    Data structures (array, dictionary and map classes)
    Mathematics (Rational number, complex number, vector, matrix, statistics)
    JSON parser
    Google protocol buffer parser, utilities and Pascal code generator
    Socket library (cross platform - Windows, Linux, OSX, iOS, Android)
    TLS Client
    TLS Server
    TCP Client
    TCP Server
    HTTP Client
    HTTP Server
    HTML Parser
    XML Parser
 

https://torry.net/pages.php?id=673

    Code Banks
    Comments Systems
    Syntax Tools
    Code Generators
    Other
    Code Convertors

Delphi Code Library  
Components
Source
Utilities
tools
wizard
generator
Coding

 

Felix J COLIBRI 巴斯卡 連結 delphi

 http://www.felix-colibri.com/links/valid_delphi_links/valid_delphi_links.html

自然語言處理 Natural Language Processing (NLP) Wikidata

 自然語言處理 Falcon 2.0: An Entity and Relation Linking Tool over Wikidata
https://arxiv.org  
https://arxiv.org/abs/1912.11270
  Abstract: The Natural Language Processing (NLP) community has significantly contributed to the solutions for entity and relation recognition from

Falcon 2.0: An Entity and Relation Linking Tool over Wikidata
Ahmad Sakor, Kuldeep Singh, Anery Patel, Maria-Esther Vidal

    The Natural Language Processing (NLP)
community has significantly contributed to the solutions for
entity and relation recognition
from the text, and possibly linking
them to proper matches in Knowledge Graphs (KGs).
Considering Wikidata as the background KG, still,
 there are limited tools to link knowledge within the text to Wikidata.
In this paper, we present Falcon 2.0, first joint entity,
 and relation linking tool over Wikidata.
 

https://en.wikipedia.org/wiki/Bitext_word_alignment
Bitext word alignment
 natural language processing task of identifying translation relationships among

https://labs.tib.eu/falcon/falcon2/description
FALCON 2.0:

FALCON 2.0 is an entity and relation linking tool over Wikidata. FALCON 2.0 identifies the relations and entities in a short text or question. Then link them to their corresponding URI in Wikidata knowledge graph. FALCON 2.0 links relations based on the recognized entities, which makes the chance of linking the correct relations higher.
FALCON 2.0 can be used in two modes:

Falcon  An Entity and Relation Linking Tool over Wikidata


wikidata Articles  Analytics Deployment relations knowledge graph

extended KG extracting alignments of labels  

Wikidata DBpedia

某些單字翻譯

 Entity Hierarchy 實體層級
hierarchical classification 階層式分類
ERD Entity-relationship model 實體聯絡模型 實體關係模型 實體聯絡模式圖
Inheritance Hierarchy 繼承階層架構
aggregation 聚集
Entity 實體
Relational model 關聯模型
multiset 多重集
relvar 關聯變量
header 表頭
hierarchy  層次
composite class hierarchy復合類層次
Table per class hierarchy每個類分層結構一張表
Class Hierarchy Structure類層次結構
class sony hierarchy類層次結構
class s hierarchy類層次結構
class createsony hierarchy類層次結構
class inheritance hierarchy structure類繼承層次結構
Class Composition Hierarchy類復合層次
Class Hierarchy with Services服務的等級
Data Flow Diagram 資料流程圖
Data structure diagram 數據結構圖
data definition 資料定義
data dictionary 資料字典
data flow 資料流
data flow diagram 資料流程圖
data integration 資料整合
data management 資料管理
data management software 資料管理軟體
data manipulation 資料操縱
data mining 資料挖掘
data processing 資料處理

圖表 chart 複數 charts 流程圖 flow chart 座次表 seating chart 組織結構圖 organizational chart 會計科目 chart of accounts
 graph diagram line graph bar graph pie graph diagram schematic diagram wiring diagram circuit diagram tree diagram  flow diagram  


https://www.google.com/search?q=Hierarchy+naer.edu.tw

集合代數 Algebra of sets 交換律 Commutative property 結合律 associative property 分配律 distributive property 自反關係Reflexive relation反對稱關係 Antisymmetric relation 遞移關係 Transitive relation 集合論 Set theory

個別 individual, few, specific, respective, single, exceptional個體 individual

One-to-many (data model) 一對多(數據模型)
 Numerical relationships 數值關係
cardinality 基數
 absolute maximum絕對最大值absolute minimum 絕對最小值
 arithmetic progression  算術級數disproportion  算術級數
 disproportionate  不成比例disproportionately  不成比例的
 function
 independent variable  自變量
 inverse function 反函數inverse proportion反比例
 monotonic 單調的monotonically  單調地
 percent  百分percent positive  陽性百分比percentile  百分位
 pro rata  按比例
 ratio 比率set a term to  給...定期限 給…定限期,對…加以限制 trinomial三項式  


https://tw.dictionary.search.yahoo.com/
https://tw.ichacha.net/

https://zh.m.wikibooks.org/zh-tw/%E5%A4%A7%E9%99%86%E5%8F%B0%E6%B9%BE%E8%AE%A1%E7%AE%97%E6%9C%BA%E6%9C%AF%E8%AF%AD%E5%AF%B9%E7%85%A7%E8%A1%A8
大陸台灣計算機術語對照表

https://homepage.ntu.edu.tw/~karchung/linguistics%20glossary.htm

https://zh.wikipedia.org/wiki/%E7%BB%9F%E4%B8%80%E5%BB%BA%E6%A8%A1%E8%AF%AD%E8%A8%80

Entity Hierarchy  Knowledge Base through Relation Extraction Wikidata

 Articles Analytics Deployment relations knowledge graph

WikidataToolsVisualize data  https://www.wikidata.org/wiki/Wikidata:Tools/Visualize_data

Relation Linking Tool over Wikidata Hierarchy Dictionary


wiki 屬性分析

https://www.wikidata.org/wiki/User:Joshbaumgartner

https://www.wikidata.org/wiki/User:Joshbaumgartner/property_available_summary

Property discussions      

Wikidata:Properties for deletion     

User:Joshbaumgartner/property proposals

https://www.wikidata.org/wiki/Wikidata:List_of_properties

https://rawgit.com/johnsamuelwrites/wdprop/master/index.html



2021年12月14日 星期二

Using Reference Counting Assign AssignTo

 Making the Assignment (賦值操作)
Most VCL components don't implement any support for assignment between instances.
Most VCL helper classes - TPersistent descendants intended for use as properties in components, such as TFont, TPen,
and TBrush - do support assignment.
A few special classes, such as TClipboard, contain extensive assignment support.
大部份的VCL元件不實作任何支援物件間的賦值操作.

https://docwiki.embarcadero.com/Libraries/Sydney/en/System.Classes.TPersistent.Assign
System.Classes.TPersistent.Assign

https://docwiki.embarcadero.com/RADStudio/Sydney/en/Using_Reference_Counting
Using Reference Counting

https://docwiki.embarcadero.com/RADStudio/Alexandria/en/Implementing_Interfaces#Implementing_Interfaces_by_Delegation
Implementing Interfaces by Delegation

https://stackoverflow.com/questions/22649433/delphi-interface-reference-counting
Delegating to an Interface-Type Property

https://docwiki.embarcadero.com/Libraries/Sydney/en/System.SysUtils.Supports
System.SysUtils.Supports

 

2021年12月13日 星期一

delphi 資源

 https://github.com/Fr0sT-Brutal/awesome-delphi

https://asmcn.icopy.site/awesome/awesome-delphi/

Awesome Pascal

https://landof.dev/awesome/pascal/ 
https://sourceforge.net/software/product/Delphi/alternatives

Synapse provides an easy to use serial port and synchronous TCP/IP library.

 Synapse provides an easy to use serial port and synchronous TCP/IP library. 

https://wiki.freepascal.org/Synapse#Overview

Overview

Synapse offers serial port and TCP/IP connectivity. It differs from other libraries that you only require to add some Synapse Pascal source code files to your code; no need for installing packages etc. The only exception is that you will need an external crypto library if you want to use encryption such as SSL/TLS/SSH.

See the documentation on the official site (link below) for more details.
Installation

Installation can be as simple as simply copying over all files to your application directory and adding the relevant Synapse units to your uses clause.

A more elegant and recommended way is compiling the laz_synapse.lpk package so you can use the same units in all your projects.

Synapse download/SVN info page: Synapse download page
Support and bug reporting

The Synapse project has a mailing list where support is given and patches can be submitted.

Bug reports can also be mailed to the mailing list.

See the Synapse support page
SSL/TLS support

You can use OpenSSL, CryptLib, StreamSecII or OpenStreamSecII SSL support with Synapse. By default, no SSL support is used.

The support is activated by putting the chosen unit name in the uses section in your project. You also have to put the binary library file in your project path (Windows), or install it into your library search path (Linux, macOS, FreeBSD).

Synapse loads SSL library files in runtime as dynamic libraries.

    For detailed information refer to SSL/TLS Plugin Architecture
    Some crypt libraries can be obtained from: http://synapse.ararat.cz/files/crypt/

Missing library

On Linux you need to make sure the required dynamic library is present/installed on your system. In case of cryptlib if the library is not present on the system, an error message appears during linking:

/usr/bin/ld: cannot find -lcl

A similar message will be displayed when using other dynamic libraries.

delphi runtime DFM object serializer for Delphi

 delphi runtime DFM

http://www.delphigroups.info/2/07/520442.html

https://torry.net/pages.php?id=51

https://githubmemory.com/repo/jean-lopes/dfm-to-json/issues/2

 http://www.geekinterview.com/question_details/31033

 http://www.delphigroups.info/2/77/421049.html

 http://www.delphigroups.info/2/02/300257.html

 http://www.delphigroups.info/2/75/299813.html

 http://www.delphigroups.info/2/07/520442.html

 DFM-serialization in depth https://www.codeproject.com/Articles/1060345/DFM-serialization-in-depth

delphi runtime DFM xml

Understanding Delphi Project and Unit Source Files 

https://coderedirect.com/questions/292800/delphi-txmldocument-created-at-run-time-generates-av-with-component-on-the-fo

https://www.thoughtco.com/understanding-delphi-project-files-dpr-1057652

https://reposhub.com/python/miscellaneous/ahausladen-DFMCheck.html

 

https://stackoverflow.com/questions/19989389/can-we-load-a-dfm-file-for-a-form-at-runtime/20011340

 


object serializer  Delphi


 

 mORMot / SynDB.pas

https://www.clevercomponents.com/articles/article040/

 https://docwiki.embarcadero.com/RADStudio/Tokyo/en/Serializing_User_Objects

https://github.com/anton-shchyrov/UrsJSON

 https://bitbucket.org/vkrapotkin/unescapejson/src/master/

https://github.com/onryldz/x-superobject

 

load a dfm file for a form at runtime

 
 load a dfm file for a form at runtime 

https://coderedirect.com/questions/382641/can-we-load-a-dfm-file-for-a-form-at-runtime
 

It is indeed possible to load a .dfm file at runtime and create the form represented by that dfm file.

I have written some code to do exactly that:

However: please note: You will need to add more RegisterClass(TSomeComponent) lines in the RegisterNecessaryClasses procedure. As written, if you, for example, try to load a .dfm file that includes a TSpeedbutton, you will get an exception: just add the RegisterClass(TSpeedbutton) to the RegisterNecessaryClasses procedure.

 

unit DynaFormF;  // This is a normal Delphi form - just an empty one (No components dropped on the form)

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TfrmDynaForm = class(TForm)
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmDynaForm: TfrmDynaForm;

implementation

{$R *.dfm}

end.
//////////////////////////////////////////////////////////////////////////
unit DynaLoadDfmU;
{$O-}
interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, ComCtrls, utils08, DynaFormF;

var
  DebugSL : TStrings;

procedure ShowDynaFormModal(Filename:String);

implementation

procedure RegisterNecessaryClasses;
begin
  RegisterClass(TfrmDynaForm);
  RegisterClass(TPanel);
  RegisterClass(TMemo);
  RegisterClass(TTimer);
  RegisterClass(TListBox);
  RegisterClass(TSplitter);
  RegisterClass(TEdit);
  RegisterClass(TCheckBox);
  RegisterClass(TButton);
  RegisterClass(TLabel);
  RegisterClass(TRadioGroup);
end;

type
  TCrackedTComponent = class(TComponent)
  protected
    procedure UpdateState_Designing;
  end;

var
  ClassRegistered : Boolean;

procedure RemoveEventHandlers(SL:TStrings);
const
  Key1 = ' On';
  Key2 = ' = ';

var
  i, k1,k2 : Integer;
  S        : String;

begin
  for i := SL.Count-1 downto 0 do begin
    S := SL[i];

    k1 := pos(Key1, S);
    k2 := pos(Key2, S);

    if (k1 <> 0) AND (k2 > k1) then begin
      // remove it:
      SL.Delete(i);
    end;

  end;
end;

procedure ReportBoolean(S:String; B:Boolean);
const
  Txts : Array[Boolean] of String = (
  'Cleared', 'Set'
  );

begin
  if Assigned(DebugSL) then begin
    S := S + ' : ' + Txts[B];
    DebugSL.Add(S);
  end;
end;

procedure SetComponentStyles(AForm:TForm);
var
  AComponent : TComponent;
  i          : Integer;
  B1, B2     : Boolean;

begin
  for i := 0 to AForm.ComponentCount-1 do begin
    AComponent := AForm.Components[i];
    if AComponent is TTimer then begin
      // TTIMER:
      B1 := csDesigning in AComponent.ComponentState;

      // Does not work: an attempt to make the TTimer visible like it is in Delphi IDE's form designer.
      TCrackedTComponent(AComponent).UpdateState_Designing;

      B2 := csDesigning in AComponent.ComponentState;
      ReportBoolean('Before setting it: ', B1);
      ReportBoolean('After  setting it: ', B2);
    end;
  end;
end;

procedure ShowDynaFormModalPrim(Filename:String);
var
  FormDyna : TfrmDynaForm;

  S1       : TFileStream;
  S1m      : TMemoryStream;
  S2       : TMemoryStream;
  S        : String;
  k1, k2   : Integer;
  Reader   : TReader;
  SLHelper : TStringlist;
  OK       : Boolean;

  MissingClassName, FormName, FormTypeName : String;

begin
  FormName     := 'frmDynaForm';
  FormTypeName := 'TfrmDynaForm';

  FormDyna := NIL;
  OK       := False;

  S1 := TFileStream.Create(Filename, fmOpenRead or fmShareDenyWrite);
  try
    S1m := TMemoryStream.Create;
    try
      SLHelper := TStringlist.Create;
      try
        SLHelper.LoadFromStream(S1);

        S := SLHelper[0];

        k1 := pos(' ', S);
        k2 := pos(': ', S);
        if (k1 <> 0) AND (k2 > k1) then begin
          // match:
          SetLength(S, k2+1);
          S := 'object ' + FormName + ': ' + FormTypeName;
          SLHelper[0] := S;
        end;

        RemoveEventHandlers(SLHelper);
        SLHelper.SaveToStream(S1m);
      finally
        SLHelper.Free;
      end;

      S1m.Position := 0;
      S2 := TMemoryStream.Create;
      try
        ObjectTextToBinary(S1m, S2);
        S2.Position := 0;

        Reader := TReader.Create(S2, 4096);
        try
          try
            FormDyna := TfrmDynaForm.Create(NIL);
            Reader.ReadRootComponent(FormDyna);
            OK       := True;
            SetComponentStyles(FormDyna);
          except
            on E:Exception do begin
              S := E.ClassName + '    ' + E.Message;
              if Assigned(DebugSL) then begin
                DebugSL.add(S);
                if (E.ClassName = 'EClassNotFound') then begin
                  // the class is missing - we need one more "RegisterClass" line in the RegisterNecessaryClasses procedure.
                  MissingClassName := CopyBetween(E.Message, 'Class ', ' not found');
                  S := '    RegisterClass(' + MissingClassName + ');';
                  DebugSL.Add(S);
                end;
              end;
            end;
          end;
        finally
          Reader.Free;
        end;
      finally
        S2.Free;
      end;
    finally
      S1m.Free;
    end;
  finally
    S1.Free;
  end;

  if OK then begin
    try
      FormDyna.Caption := 'Dynamically created form: ' + ' -- ' + FormDyna.Caption;
      FormDyna.ShowModal;

    finally
      FormDyna.Free;
    end;
  end else begin
    // failure:
    S := 'Dynamic loading of form file failed.';
    if Assigned(DebugSL)
      then DebugSL.Add(S)
  end;
end;

procedure ShowDynaFormModal(Filename:String);
begin
  if NOT ClassRegistered then begin
    ClassRegistered := True;
    RegisterNecessaryClasses;
  end;

  ShowDynaFormModalPrim(Filename);
end;

{ TCrackedTComponent }

procedure TCrackedTComponent.UpdateState_Designing;
begin
  SetDesigning(TRUE, FALSE);
end;

end. 
 
Windows

You can associate an event with a socket with WSAEventSelect and wait with WaitForMultipleObjectsEx for the data on the socket or mutex or semaphore event etc.
Linux

You can use the futex syscall with FUTEX_FD argument (however this has been removed from the kernel), or use eventfd to implement the condition variable.

And you can spawn a second thread that would be waiting on the condition variable, and signal the one waiting in select(). Or ask for signals when input is received on the socket, etc. See this related question.
 
 

The reason is because Delphi uses Automatic Reference Counting for Objects on mobile platforms (iOS and Android), but not on desktop platforms (Windows and OSX). Your Free() is effectively a no-op, because accessing the component from the Components[] property will increment its reference count, and then the Free() will decrement it (in fact, the compiler should have issued a warning about the code having no effect). The component still has active references to it (its Owner and Parent), so it is not actually freed.

If you want to force the component to be freed, you need to call DisposeOf() on it, eg:

for LIndex := form4.ComponentCount-1 downto 0 do
begin
  if form4.Components[LIndex] is TVertScrollBox then
  begin
    form4.Components[LIndex].DisposeOf;
  end;
end;

Alternatively, remove the active references and let ARC handle the destruction normally:

var
  VertScrollLink: TVertScrollBox;
  LIndex: Integer;
begin
  ...
  for LIndex := form4.ComponentCount-1 downto 0 do
  begin
    if form4.Components[LIndex] is TVertScrollBox then
    begin
      VertScrollLink := TVertScrollBox(form4.Components[LIndex]);
      VertScrollLink.Parent := nil;
      VertScrollLink.Owner.RemoveComponent(VertScrollLink);
      VertScrollLink := nil;
    end;
  end;
  ...
end;

That being said, you might consider keeping track of the component you create so you don't need to use a loop to find it later:

type
  TForm4 = class(TForm)
    procedure FormShow(Sender: TObject);
    ...
  private
    VertScrollLink: TVertScrollBox;
    ...
  end;

procedure TForm4.FormShow(Sender: TObject);
begin
  VertScrollLink := TVertScrollBox.Create(Self);
  VertScrollLink.Align := TAlignLayout.Client;
  VertScrollLink.Parent := Self;
end;
begin
  ...
  if Assigned(VertScrollLink) then
  begin
    VertScrollLink.DisposeOf;
    { or:
    VertScrollLink.Parent := nil;
    VertScrollLink.Owner.RemoveComponent(VertScrollLink);
    }
    VertScrollLink := nil;
  end;
  ...
end;
 

Delphi object bin­ary Serializing TWinControl Tpanel File save an object to a file in Delphi dfm

 save an object to a file in Delphi

http://robstechcorner.blogspot.com/2009/09/so-what-is-rtti-rtti-is-acronym-for-run.html

Delphi 2010 RTTI - The basics
Using Attributes and TCustomAttribute descendants
Exploring TRTTIType in depth
Introduction to TValue
Exploring TRttiMember Descendants in depth (Part I) Properties and Fields
Why I call TRttiContext.Create() and TRttiContext.Free()
Exploring TRttiMember Descendants in depth (Part II) Methods
TValue in Depth
INI persistence the RTTI way
Xml Serialization - Basic Usage
Xml Serialization - Control via Attributes
Attributes: Practical Example- Object to Client Dataset
Types by Package... Dynamic plug-in systems.

http://robstechcorner.blogspot.com/2009/10/xml-serialization-basic-usage.html
robstechcorner https://code.google.com/archive/p/robstechcorner/source

 Xml Serialization - Basic Usage http://robstechcorner.blogspot.com/2009/10/xml-serialization-basic-usage.html

// Method 1:
var
 o : TypeIWantToSerailze;
 s : TXmlTypeSerializer;
 x : TXmlDocument;
 v : TValue;
begin
  s := TXmlTypeSerializer.create(TypeInfo(o));
  x := TXmlDocument.Create(Self); // NEVER PASS NIL!!!
  s.Serialize(x,o);
  x.SaveToFile('FileName.txt');
  v := s.Deserialize(x);
  o := v.AsType<TypeIWantToSerailze>;
  x.free;
  s.free;
end;

// Method 2:
var
 o : TypeIWantToSerailze;
 s : TXmlSerializer<TypeIWantToSerailze>;
 x : TXmlDocument;
begin
  s := TXmlTypeSerializer<TypeIWantToSerailze>.create;
  x := TXmlDocument.Create(Self); // NEVER PASS NIL!!!
  s.Serialize(x,o);
  x.SaveToFile('FileName.txt');
  o := s.Deserialize(x);
  x.free;
  s.free;
end;

https://pavkam.dev/
 
https://stackoverflow.com/questions/2657502/practical-usage-for-delphis-new-rtti-attributes-values/2657604#2657604
The extended RTTI works like Reflection in .NET. It gives you access to your internal application structure information. You can access class properties, methods etc.. at runtime, at extent you could not do it before.

Some ways of using it:

    Serialization / Deserialization of classes to XML or other media
    Mapping of objects to databases. ORM.
    Cloning of objects
    Dynamic invocation of methods
    "Scanning" of object at runtime and acting according to that.
    Easier development of "plugin" type systems

There is probably a lot of scenarios where it would be beneficial to use it. In short it adds dynamic aspect to your application. Your product is able to do some things at runtime, and more efficiently, than designing everything at designtime. It is not a silver bullet and a lot of people may never use it. But some design patterns or some problems just cannot be solved (at least not in efficient way) without the use of the new RTTI

https://martinfowler.com/articles/injection.html
https://en.wikipedia.org/wiki/Dependency_injection
https://code.google.com/archive/redirect/a/code.google.com/p/delphi-spring-framework?movedTo=https:%2F%2Fbitbucket.org%2Fsglienke%2Fspring4d
https://martinfowler.com/articles/injection.html#ConstructorVersusSetterInjection
https://code.google.com/archive/redirect/a/code.google.com/p/delphi-spring-framework?movedTo=https:%2F%2Fbitbucket.org%2Fsglienke%2Fspring4d
https://delphihaven.wordpress.com/2009/09/02/d2010-rtti-and-active-scripting/

Delphi Haven
Just another Delphi programming port of call on the internet
My book

[Delphi XE2 Foundations]
Some code

    AutoCorrect Components v1.0.3
    CCR Exif v1.5.1
    Generic IDispatch Proxy Classes for Active Scripting (Delphi 2010+)
    Hunspell Wrapper
    Theming Owner-Drawn Tabs
 
Something new for something old: Delphi 2010’s RTTI and Active Scripting

https://theroadtodelphi.com/2009/10/27/convert-string-to-enum-using-delphi-prism/
http://www.malcolmgroves.com/blog/?p=476

RTTI and Attributes in Delphi 2010
How to serialize Delphi object
https://blog.dragonsoft.us/2008/04/21/how-to-serialize-delphi-object/

https://docwiki.embarcadero.com/RADStudio/Alexandria/en/Working_with_RTTI
https://docwiki.embarcadero.com/Libraries/XE2/en/Main_Page

serialize Delphi object  bin­ary  seri­al­iz­a­tion

https://github.com/codejanovic/Delphi-Serialization
https://www.codeproject.com/Articles/1060345/DFM-serialization-in-depth
https://docwiki.embarcadero.com/RADStudio/Sydney/en/Serializing_User_Objects
https://coderedirect.com/questions/441027/binding-an-xml-node-to-a-tree-view-node

https://stackoverflow.com/questions/8782518/getting-the-size-of-a-class-or-object-in-the-same-format-as-a-file-size

https://stackoverflow.com/questions/65171574/how-to-calculate-delphi-class-size-using-tmemorystream-size

A case of using delphiXE RTTI to dynamically obtain information at runtime and obtain RttiType information of a TComponent class or TObject class
https://www.codetd.com/en/article/12146232


Delphi object  bin­ary  Serializing TWinControl  Tpanel File

Speech Synthesis & Speech Recognition: Using SAPI 5.1 Using TTS with Delphi CreateOLEObject('SAPI.SpVoice');

 Using TTS with Delphi
https://en.wikipedia.org/wiki/Microsoft_Speech_API

https://en.wikipedia.org/wiki/SASDK


CreateOLEObject('SAPI.SpVoice');

voz := CreateOLEObject('SAPI.SpVoice');
if not VarIsEmpty(voz) then begin
 vozes := voz.getVoices;
 ComboVoz.Clear;
 for i := 0 to vozes.Count - 1 do
  ComboVoz.Items.Add(vozes.item(i).GetDescription);

  Dialogs, StdCtrls, SpeechLib_TLB, OleServer, XPMan, ExtCtrls, ComCtrls, ENGINE,

  TFlatCheckBoxUnit;
    SAPI: TSpVoice;
  PropriedsF: TPropriedsF;   
  SOTokenVoice: ISpeechObjectToken;  // See the MS SAPI SDK for info on
  SOTokenVoices:ISpeechObjectTokens; // registry tokens that hold resources
  VPT:= 'Você selecionou X como voz padrão do sistema.';
 
  SAPI.EventInterests := SVEAllEvents;
  SOTokenVoices := SAPI.GetVoices('','');  // Use the registry tokens
 
    //For each voice, store the descriptor in the TStrings list
    SOTokenVoice := SOTokenVoices.Item(i);
    CBFA.Items.AddObject(SOTokenVoice.GetDescription(0), TObject(SOTokenVoice));
    //Increment descriptor reference count to ensure it's not destroyed
    SOTokenVoice._AddRef;
 
    CBFA.ItemIndex := CBFA.Items.IndexOf(SAPI.Voice.GetDescription(0));
 
  TB.Position := SAPI.Rate;
  EDTEST.TEXT:= TROCA('X', SAPI.Voice.GetDescription(0), VPT);
var SOTokenVoice:  ISpeechObjectToken;
begin
  SOTokenVoice   := ISpeechObjectToken(Pointer(CBFA.Items.Objects[CBFA.ItemIndex]));
  SAPI.Voice := SOTokenVoice;
  EDTEST.TEXT:= TROCA('X', SAPI.Voice.GetDescription(0), VPT);
  if SAPI.Voice = nil then
  SAPI.Speak(EDTEST.Text, 1);
  SpFileStream1: TSpFileStream;
  FileName : TFileName;
  T: TSTRINGLIST;
  I: INTEGER;
  T:= TSTRINGLIST.CREATE;
  T.LoadFromFile(EXTRACTFILEPATH(PARAMSTR(0))+'LISTA.TXT');
  FileName := extractfilepath(paramstr(0))+'RAQUEL\'+T[I];
  SpFileStream1 := TSpFilestream.Create(nil);
  SpFileStream1.Open(FileName, SSFMCreateForWrite, False);
  SAPI.AudioOutputStream := SPFileStream1.DefaultInterface;
  SAPI.Speak(COPY(T[I], 1, POS('.', T[I])-1), SVSFDefault);
  SPFileStream1.Close;
  SpFileStream1.Free;


procedure TForm1.FormClick(Sender: TObject);
var
  SpVoice: Variant;
begin
  SpVoice := CreateOleObject('SAPI.SpVoice');
  SpVoice.Speak('this is a test', 0);
end;


SpVoice GetVoices method (SAPI 5.3) | Microsoft Docs
 
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, OleServer, SpeechLib_TLB,ActiveX, ComCtrls,ControlCenter;
 
SpVoice1: TSpVoice;
SpSharedRecoContext1: TSpSharedRecoContext;
ProgressBar1: TProgressBar;
SRGrammar: ISpeechRecoGrammar;
CmdLine:string;
ControlActive:Boolean;
adeSoundControl: TadeSoundControl;
 
SOToken: ISpeechObjectToken;
SOTokens: ISpeechObjectTokens;
SOTokens := SpVoice1.GetVoices('', '');
SOToken := SOTokens.Item(id);
SpVoice1.Voice := SOToken;
SpVoice1.Rate:=speech;
SpVoice1.Volume:=100;
spvoice1.Speak(str,SVSFDefault);
Speecker(StrToInt(Edit2.Text),StrToInt(Edit3.Text),Edit1.Text);
 
 
https://github.com/halilhanbadem/delphi-google-speech-to-text
https://www.youant.net/

https://github.com/SirAlex/delphi-jose-jwt
Delphi JOSE and JWT Library
https://github.com/grijjy/DelphiGoogleAPI
Using the Google Cloud Platform APIs

 
voice: OLEVariant;
  voice := CreateOLEObject ('SAPI.SpVoice');
  voice.Voice := voice.GetVoices.Item(combobox1.ItemIndex); // current voice selected
  voice.volume := tbVolume.position;
  voice.rate := tbRate.position;
  voice.Speak (s, SVSFDefault);
  voice.Speak (s, SVSFlagsAsync);
  repeat  Sleep(100); until  voice.WaitUntilDone(10);
 

TMainForm = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
   voice: OLEVariant;
   procedure SayIt(const s:string);
  end;

var
  MainForm: TMainForm;

implementation

uses
   ComObj;

{$R *.dfm}
procedure TMainForm.SayIt(const s:string); // s is the string to be spoken
const
  SVSFDefault = 0;
  SVSFlagsAsync = 1;
  SVSFPurgeBeforeSpeak= 2;
begin
  memo1.setfocus;
  voice.Voice := voice.GetVoices.Item(combobox1.ItemIndex); // current voice selected
  voice.volume := tbVolume.position;
  voice.rate := tbRate.position;
  voice.Speak (s, SVSFlagsAsync {or SVSFPurgeBeforeSpeak});
end;


procedure TMainForm.Button1Click(Sender: TObject);
begin
  SayIt('Hello');
end;

procedure TMainForm.FormCreate(Sender: TObject);
begin
  voice := CreateOLEObject('SAPI.SpVoice');
end;

procedure TMainForm.FormDestroy(Sender: TObject);
begin
  voice  := Unassigned;
end;

end.
https://stackoverflow.com/questions/12117883/sapi-with-dephi-async-speech-doesnt-work


https://github.com/kimond/Jarvis-Project/blob/master/pyttsx/drivers/sapi5.py

MSSAM = 'HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\Voices\\Tokens\\MSSam'
MSMARY = 'HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\Voices\\Tokens\\MSMary'
MSMIKE = 'HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\Voices\\Tokens\\MSMike'

MSSam  MSMary MSMike


http://www.blong.com/conferences/dcon2002/speech/SAPI51/SAPI51.htm

https://edn.embarcadero.com/article/29583

 Speech Synthesis & Speech Recognition: Using SAPI 5.1 


procedure TfrmTextToSpeech.FormCreate(Sender: TObject);
var
  I: Integer;
  SOToken: ISpeechObjectToken;
  SOTokens: ISpeechObjectTokens;
begin
  SendMessage(lstProgress.Handle, LB_SETHORIZONTALEXTENT, Width, 0);
  //Ensure all events fire
  SpVoice.EventInterests := SVEAllEvents;
  Log('About to enumerate voices');
  SOTokens := SpVoice.GetVoices('', '');
  for I := 0 to SOTokens.Count - 1 do
  begin
    //For each voice, store the descriptor in the TStrings list
    SOToken := SOTokens.Item(I);
    cbVoices.Items.AddObject(SOToken.GetDescription(0), TObject(SOToken));
    //Increment descriptor reference count to ensure it's not destroyed
    SOToken._AddRef;
  end;
  if cbVoices.Items.Count > 0 then
  begin
    cbVoices.ItemIndex := 0; //Select 1st voice
    cbVoices.OnChange(cbVoices); //& ensure OnChange triggers
  end;
  Log('Enumerated voices');
  Log('About to check attributes');
  tbRate.Position := SpVoice.Rate;
  lblRate.Caption := IntToStr(tbRate.Position);
  tbVolume.Position := SpVoice.Volume;
  lblVolume.Caption := IntToStr(tbVolume.Position);
  Log('Checked attributes');
end;

XP style TXPManifest is used to enable run-time themes in your application.

 Dialogs, OleCtrls, SHDocVw, StdCtrls, ExtCtrls, XPMan, ComCtrls,MSHTML;
 
   ActiveX;

TXPManifest
Vcl.XPMan.TXPManifest

https://docwiki.embarcadero.com/Libraries/Sydney/en/Vcl.XPMan.TXPManifest

TXPManifest is used to enable run-time themes in your application.

Common Controls and XP Themes

https://docwiki.embarcadero.com/RADStudio/Sydney/en/Common_Controls_and_XP_Themes

2021年12月12日 星期日

織帶機

 織帶機

 https://en.wikipedia.org/wiki/Braiding_machine

Braiding machine Horn Gear 

Loom Braiding Machine Woven Knitting

 Enhance Production Rate of Braiding Machine Using Speed Reduction Technique 

 Rope Braiding Machine  Offering Mild Steel Horn Gear Set for Industrial, SMGC Braiders

Weaving on the Ashford Jack Loom

Paradise Mill How The Jacquard Mechanism Works
















2021年12月11日 星期六

DelphiStuff Download page La pagina e' in allestimento, abbiate pazienza qualche altro giorno. Nel frattempo, prelevate pure quello che c'e'!

 http://web.tiscali.it/I2/delphistuff/links.htm

La pagina dei links  Links page http://web.tiscali.it/I2/delphistuff/links.htm

DelphiStuff Download page

La pagina e' in allestimento, abbiate pazienza qualche altro giorno. Nel frattempo, prelevate pure quello che c'e'!
Ultimo aggiornamento: 07.11.99
       EasterStuff.zip
   Una serie di aiuti e routines per determinare la data di Pasqua
xceedbkp.exe
   Una libreria + un set di componti per effettuare backup di files, drives ecc. E' Freeware per gli utenti finali, Shareware per i produttori di software.
 xceedzip.exe
    Una libreria + un set di componenti per comprimere in formato ZIP qualsiasi file. E' Freeware per gli utenti finali, Shareware per i produttori di software.
format_1.zip
Un esempio su come formattare un dischetto (delphi 1 o 2?)
passhack.zip
Un esempio di programma che ti consente di ottenere le password dimenticate del tuo sistema
GifImage.zip
   Componente free per la gestione dei GIF animati
modemspy_1.zip
   Un programma completo di sorgente che consente di tenere sotto controllo i segnali del modem
Delphi-Directx.zip
   Ovvero, come realizzare un videogame con le DirectX. I componenti sono accompagnati da un sorgente di videogioco!
spheres.zip
   Sources di un salvaschermo
floppystuff.zip
Tutto quello che occorre per leggere, scrivere e formattare un dischetto con delphi. Se qualcuno realizza qualche cosa, mi mandi il sources in EMAIL, grazie!
Gestionale.zip
Una unit di supporto che contiene tutte le piu' comuni funzioni gestionali, per realizzare programmi di contabilita', gestionali di azienda ecc. ecc.
spacesrc.zip
I sorgenti di un videogame spaziale! In turbopascal!
gms.zip
 Fatemi sapere se qualche link non va con una semplice email
Torna a DelphiStuff
    Delphi Super Page Really the best Delphi site at this time. A lot of components, tools and applications. Recieve user uploads by ftp or e-mail. Perfect job by Robert M. Czerwinski. Mirrors: Australia(1), Australia(2), Czech Republic, Finland, Germany, Italy, Japan(1), Japan(2), Korea, Portugal, Russia, Switzerland South Africa, Turkey, United Kingdom, USA.
    Richey's Delphi-Box By Richard Fellner. Richey's Delphi-Box - 1000++ links and answers for Delphi developers ..one of the best starting points for Delphi developers worldwide..
    Developers. href.com Makes it easy to find programming information and answers to tough Delphi questions. Updated daily, the site archives the full text of almost 200 programming newsgroups and already has more than 340,000 articles. Use it for quick full text searches and read articles conveniently. You will also see what can be made with Delphi, WebHub and Rubicon. Thanks to HREF.

        Abis Developer's Network - Source Code Gallery, abisMAG - magazine for developers, many more...
        AdaptAccounts - Delphi-based accounting system by Adapta Software Inc...
        Akzhan On The Web - While in Russian only. Delphi-related VCL & WinAPI, Database Delphi-oriented tips'n'tricks, Delphi-related Multi-tier FAQ, Component reviews etc...
        Alex Wernhardt's Homepage - The site is open to everyone and supports components, examples, programs and tips about Delphi, just and just Freeware...
        Alexey Fedorov's Homepage - A lot of useful code examples from exlusive editor of Russian edition of "ComputerPress"...
        Almer's Homepage - Delphi Related Links, components and more...
        Alvas Components Collection - Home of Alvas Components Collection...
        Anders Melander's Home on the Net - Components, projects and many useful information (bug fixes, file formats, etc)...
        Andrew's Freeware Delphi Components Review Page - Freeware components reviews
        Another Delphi Page - Freeware components
        Andy'z World - API written in Delphi 2.0 for people who want to write Internet applications such as chat, games. Currently requires beta testers in Delphi, C++ and VB
        Apogee Online - Has nice Delphi and IntraBuilder sections. The home of The Delphi Knowledge Base
        ArGo Software Design - Freeware and shareware components
        Artem Berman Home Page - Home of many useful components and programs.
        Ask the Delphi Pro - You really could ask the question and get an answer. Also big archive of Q&A and solved problems.
        Automated QA Inc: Memory Leaks and How to Plug Them - Thanks to the work of Atanas Stoyanov and feedback from many loyal MemProof users, we have compiled a list of memory leaks in Delphi and appropriate workarounds to eliminate them.
        Ben Ziegler's Delphi Pages - Lots of free source code including WABD (Web Application Builder for Delphi), and a Print Preview Component, and more ...
        BDE Alternatives Guide - The BDE Alternatives Guide is the definitive source of information on non-BDE database access solutions for Delphi...
        Big Wave Dave's Delphi Destination - Components, patches, mailing list...
        Bill White's Delphi Components - Installer components
        Boris Ingram's Page - Components and tools
        Brad Clarke's Web Site - Here you could find Delphi 3 and Delphi 4 Information Pages
        Brendan's Delphi Corner - Discussion about program design, ask your questions
        Business Software - Home of BWS Data Workshop, BSBatch and useful free components
        BuyPin Delphi Faq - Tips and tricks for Delphi developers...
        Bytamin-c.com - Pages for C++ Builder programers, full of tips and triks, links, etc...
        Calitz Bros Delphi Page - Printing components for Delphi and C++ Builder
        Calling Dr. Marteens... - Contains tricks and tips, and articles on Delphi & C++ Builder (Spanish only)
        Cetus Links: Object-Orientation (by Manfred Schneider) - More than 10000 Links to Object-Orientation Sites
        Cipher Development Lab - non-commercial site dedicated to software developers. The main languages covered are Visual Basic, Delphi and Java.
        Code Corner - Delphi controls with source by Gordon Bamber
        Coder's Knowledge Base - Delphi category at the Coder's Knowledge Base
        Chris & Tim's Rapid Application Development Homepage - Components, bugs, documents, links...
        Chuck's Delphi Pages - Components, books, links, Delphi Ring...
        Classic Software - Classic Software develops Delphi components, including the TcsNotebook component which is part of the Classic Component Set
        Code Colorizer - CodeColorizer can convert your Active Server Pages, C/C++, Clipper, Delphi/Pascal, HTML, Java, JavaScript and Visual Basic source code to colorized (syntax highlighted) HTML documents.
        ComputingSite: Delphi Channel - Collection of links to different Delphi sites...
        Cyber Directory of Delphi Developers - It's a new site but more and more Delphi developers have registered and communicate via Email...
        Cyberhome of John W. Small - Delphi, C++ and Java shareware stuff
        Dart Communications - TCP/IP SDK, OLE toolkits...
        Dave Baldwin's Delphi Utilities - HTML viewer. Animation and tab listbox component...
        David Berneda - The Delphi chart component library
        Delfai - Many useful resourses for Delphi and C++ Builder (apps, components, tools, links,...)
        Delphi 2 Java - Converts your Delphi sources to Java...
        Delphi 5 Information Page - Fresh information about Delphi 5...
        Delphi64 - New site with components, links and so on...
        Delphi Alliance - In Czech Republic was born new Delphi initiative to creating complex Delphi library and tools (like WebBroker , MIDAS , TCPIP replacements)....
        Delphi Bug List - Delphi bug list by Reinier Sterkenburg
        Delphi Cryptography Page - Cryptography components, units, examples...
        Delphi Dalnet Website - Components, Programs, Tips and Tricks, Tutorial...
        Delphi Heritage Controls - Free tips, docs, tutors, components and applications with full source...
        Delphi Internet Programing - Components, tips, examples for Delphi Internet programers...
        Delphi - Dicas e Tutorial - Tips and tutorial (in Portugal)...
        Delphi HyperActive - A open-source resource center for Delphiers by African Dancer...
        Delphi Kingdom - Virual Club of Delphi prgramers (in Russian)...
        Delphi Deloght - New site with components, tools, links and so on...
        Delphi Procedures and Functions Library - Small functions and procedures...
        Delphi Programming - Components, samples, links to technical docs, books and so on...
        Delphi and Pascal Programming Tutorials - Tutorial for Delphi and Pascal programers...
        Delphi Technology Club - Articles and Tips for Delphi programers (in Russian)...
        Delphi3.com - Components, Delphi Yellow Pages and many more...
        Delphi Club - Let's make this Club a great point to developers share ideas, comments, codes, etc...
        Official Delphi 4 Developer's Guide homepage - Information about "Delphi 4 Developer's Guide" book by Steve Teixeira and Xavier Pacheco...
        Delphi-Games-Creator - There you can find components wich you help developing little Jump'n'Runs and Games...
        Delphi CGI Components - Components and utilities for web sites
        Delphi Collection - Documents, patches, the unofficial newsletter of Delphi users...
        Delphi...Delphi...Delphi... - Nice Delphi pages in Malaysia
        Delphi Central - Delphi Articles, Tutorials and Hints...
        Delphi DAO Home Page - Information resource for Delphi developers which are using Access/DAO ...
        Delphi Developers Library - Various components
        Delphi Homepage - FAQ, tips, componets...
        Delphi Gold Resource CD - VCL source, DLL's, VBX's, tips & tricks...
        Delphi Internet Pages - Useful examples for Delphi for ISAPI, MIDAS etc..
        Delphi Information Connection - Very good site, long time was "dead", but now try to come back...
        Delphi Job Hunter - Delphi Job Hunter provides a matching service for Delphi programmers and Delphi employers...
        Delphi Jobs - If you are a Delphi developer, looking for a position, check it out...
        Delphi Jobs - This the other site with the same name. If you are a Delphi developer, looking for a position, check it out...
        Delphi JobsExpress - Here Employers could post Delphi Job openings and Developers could register here for job announcements by email
        DelphiMag.com - Site by Informant Communications Group, publisher of "Delphi Informant" (DI). This site features tips and tricks, how to articles, book reviews, product reviews, third-party product information, and industry news columns from DI. In addition, www.DelphiMag.com will offer additional articles, reviews, news bits, and product information not included in DI...
        DelphiLand - Free Delphi programming lessons, online and for download. Also Delphi tips, source code, freeware...
        Delphi Message Board - New place for Delphi for questions and tips....
        Delphi Planet - The Delphi Planet was established to provide timely news coverage about Delphi itself and about third party component packages...
        Delphi Prefix Registry - The Delphi Prefix Registry has been designed to list component creators, the prefixes they use and contact details.
        Delphi Programming Source Code Web Site - Components, tips, samples and many other stuff, related to Delphi...
        Delphi Programmers Ring - Webring for Delphi Developers by Bjoern Ischo, free and steadily growing....
        Delphi My Favorite - A top-100 of Delphi components
        Delphi Nerds' Playground - Components, tips and so on...
        Delphi Resource Gallery - Components, sample applications, technical white papers, and links to Delphi related pages. Also home of Delphi Knowledge Base application
        Delphi Search Engine - The Delphi Seach Engine allows you to search for Delphi related web sites on several search engines without finding lots of references to Delphi internet services, out of date message boards, Greece and other irrelvances to Delphi Programmers.
        Delphi Snippet's - These pages contains several Borland Delphi and Borland CBuilder examples, articles and links to other pages with free source code.
        Delphi Stop - A lot of components, code examples. Well organized site.
        Delphi Tips - Components, tips, how to's, tips of the week and much more. Provided by Gustav Evertsson.
        Delphi WebPository - Books, components, usergroups and links to FTP sites
        Delphi World - Usergroups, FTP sites...
        Delphi@PT - Components, examples, links...
        Developer Express - Home of many great components, such as ExpressGrid, ExpressBar and so on...
        Developer Express Support Forum - Questions, answers, tips, ideas....
        DFL Software - Image and chart components
        Die Delphipage - Delphi site by Michael Hoffacker. Contains components, applications and so on (German only)...
        Dirk Brouwer's Page - Delphi resources, java...
        dWinsock Home Page - Home of dWinsock component
        Dr. Bob's Delphi, C++ Builder and JBuilder Clinics - Book reviews, links and articles
        Eagle Software - Home of Component Developer Kit, reAct and Raptor
        efg's Computer Lab - Reference Library and Mostly Delphi Projects: Graphics, Image Processing, Mathematics, Fractals, Chaos, ... Projects and Lab Reports
        Electric Dreams - FAQ, tips & tricks and a few components
        Engineering Objects International - Useful classes for use with Delphi and C++ Builder...
        Epsylon Technologies - One of the bigest Russian Borland distributors. Also the home of Baikonur.
        EQSoft - Home of very nice component collections. Nake a look...
        Evgeny Links Page - Links to various components, applications, sites and so on...
        Experts Exchange - Good place to find answers to Delphi (and others) questions...
        FAQSYS - Site, full of theory and algorithm og graphic programming...
        Frank's Delphi Lessons - Free Delphi Lessons, Example Prgms, Help Libraries...
        Frank's Delphi Pages - Collection of problems and solutions for Delphi Developers...
        Franz Glaser's Delphi Pages - Turbo Pascal pages with big Delphi section...
        Francois Piette Delphi Page - Freeware components, mostly Internet related with good samples...
        Gavina Software - Gavina Software Department Website. Home of many nice shareware and freeware components...
        GJL Software - GJL Software Website. Home of Database Utilities, excellent and powerfull tool for database and Delphi developers alike especially those using the BDE and works with a variety of database formats...
        Andrey Grigoriev Developers Page - Various Delphi, C++ Builder, Interbase stuff and more...
        Helpfile-Builder - Specialises in simple yet professional tools for winhelp and HTML help generation and management.
        High Gear - Delphi 1.0 and 2.0 components
        Hans Lohninger's Delphi Components - TDirTree, TRChart and others
        HREF Tools Corporation - Home of WebHub and associated components...
        Sky Line Tools Imaging - SkyLine Tools Imaging is an award winning software toold development company dedicated to providing cutting edge imaging technology to programmers in the Delphi and C++ Builder Market...
        Inprise Online - Inprise's Main Page
        Additional Tools & Components - Additional tools and components for Delphi, mostly commercial
        Inprise: Russian site - The copy of Main site in Russian
        Delphi - Delphi Main Page
        Delphi 1.0 - Delphi 1.0 Page
        Delphi Booklist - A very complete Delphi booklist
        Developer's Corner - Developer's Corner Page
        Info Recs - Delphi Links, User Groups and Other Links
        Tech Library - technical articles
        Tech Tips - Tech Tips Page
        Technical Support - Technical Support Page
        Interface Ltd - One of the best place when teach, how to work with Delphi and other products
        John Goyvaerts' Page - Freeware and shareware components
        John Taylor's Delphi Site - Shareware, freeware, links, java...
        John's Little Nook - Delphi Places of Interest - Components and links
        K.Nishita's Homepage - Home of NishitaView
        Marat Delphi Page - Components, tips, samples, links and so on (in Russian)
        MainTron Delphi Page - New site, which will brings you components, tips, samples, links and so on
        Marko Tietz's Delphi Page - Tips & tricks
        MER Systems Search Engines - This archive contains over 1,100,000 news messages from the Inprise newsgroups. This includes a wealth of information on Delphi, C++Builder, JBuilder, Interbase (and more).
        Mike Marsden's Borland Delphi Links - Links, usergroups
        Mike Shkolnik Homepage - Home of several nice components (SMReport, SMExport)
        Mike Sutton's Delphi Directory - Job for programers
        Mindi's Delphi Pages - Hints, tips, documents, resourses and so on...
        MultiLizer - Multi language support to your Delphi applications
        Nataly Elmanova Home Page - Home page of author of "Introduction to Borland C++ Builder" book (in Russian). Here you can download C++ Builder samples.
        Nevrona Designs - Home of ReportPrinter Pro and AdHocery component suites
        Object Lessons - Educational Services and Resources for Borland Delphi.
        OOPSoft, Inc. - Home of Object Express and SQL Express.
        Open Delphi Forum - Delphi Queries & Answers. There are about 100.000 articles stored in the archive (Italian version only).
        Phillip Gussows Delphi Homepage - Freeware Delphi components with source and soon a Java section
        ProDelphi - The source code profiler for Delphi 2/3/4 - Source code for Delphi source code Profiler by Helmuth J.H. Adolph
        Programmers Heaven - Useful files, links and so on
        Programming Resource Megasite - Contains a large collection of programs, and programming related tutorials, source code, links, ideas, etc....
        Programming Tips - Collection of useful programing tips...
        Radek Delphi Page - Components, applications, links and many more...
        Raize Software Solutions, Inc. - This site contains product information on "Raize Components for Delphi," updates to "Developing Custom Delphi Components", and source code for the "Delphi By Design" column.
        Reinhard Kalinke Homepage - Freeware and Shareware components.
        Ruslan Delphi Page - A Delphi site with forum, tips and tricks, downloads, links. Also information about C++ Builder, Borland C++, MS Visual C++, ActiveX.
        Russian System Developments - Home of Auto Visual Component Library 32. Components, code examples, tips and more.
        RU.DELPHI Too Frequently Asked Questions - Too Frequently Asked Questions of RU.DELPHI hierarchy (in Russian).
        Samara Delphi & Interbase Club - Club for Delphi and Interbase developers. There you could find comonents, tools and so on...
        Sanjay Kanade's Delphi Tricks'N'Tips - Various tips for Delphi programers...
        Security Central - Special site for software security and protection.
        Sergei Orlic's Home page - The home of eXpert Development Kit.
        Silicon Commander Games Delphi Resource Page - Sprite toolkit, high resolution timer...
        siComponents Home page - Home of the siComponents for Delphi and C++ Builder...
        Skyline Consulting - Turkish company, which specialized in applications localization. Home of TRoex and Delphi Notebooks...
        SourceSite - All the source code you need...
        South Pacific Information Services Ltd - Home of TCompress, TCompLHA and Web components...
        Stargate - Site with Delphi material: personnal tools and components, always free (with or w/o source code), always original (in French and English)...
        Stefan Hoffmeister's list of Delphi resources - FAQs, Knowledge Bases, Mailing lists, Large WWW sites that add value to the Delphi community...
        Steven Kamradt's Delphi Zone - Featuring Custom Delphi Components, Delphi written Applications, and Delphi Links...
        Swiss Delphi Center - Components, tips, links for Delphi programers...
        Tamarack Associate - Home of Rubicon Search Engine...
        Technical Computer Forums - The 800+ forums offer "peer-to-peer" based support on just about every issue you can imagine...
        The.Tower - Various tools for DelphiX...
        The Adrock Software Development Team - A lot of useful components, links and many more...
        The C++ Builder Information and Tutorial Site - Very useful site. Many links to other C++ Builder places...
        The City Zoo - FAQ, tips & tricks, announcements, articles...
        The Coriolis Group - Articles, shareware, press releases, java...
        The DCU Store - Components, links and so on...
        The #1 Delphi Pages - Looks like this site tooks all the best features from Top Delphi Sites...
        The Delphi Companion - Articles, FAQ, tips, books, database stuff, java...
        The Delphi Source - Books, FAQ, unofficial newsletter by Robert Vivrette...
        The Delphi Station - Information, freeware/shareware and lots of links
        The Ultimate Developer's Resource Site - A big collection of links, not only Delphi
        The Waldi - Contains tips and tricks for Delphi programers, links and many more...
        Tips and Tricks for Delphi - Tips and Tricks for Delphi by Peter Tiemann
        Toryu's D1 Page - Components for Delphi 1, and some applications (without source).
        Trucomania - Site of Delphi Tips. Looks very useful...
        Turbo - Game development site dedicated to Borland compilers (Delphi, C++ Builder, JBuilder)
        Turbo Power Software - Great commercial components with free preview
        TWorldMap Component - A great world map component. Both 16 and 32 bit versions
        VIRT Laboratory - Home of TVirtComp components...
        WestSide Software - Home of TZipList and TZipView components... and more...
        WideProject - Home of several programs, written in Delphi and something more...
        Woric's Tracelog Application - Tracelog is personal 32-bit tracing application. It was originally written to debug only Delphi applications, but these days in addition to the native Delphi version there is a COM version for debugging ASP pages, WSH scripts or any other COM capable application (eg: VB, Word, Outlook, Cold Fusion).
        UtilMind Solutions - Formed Xacker's Delphi Workshop. Home of many useful freeware components and samples...
        XCL Pages - Home of eXtream Class Library. Let's make our Delphi program small... 

C++ (using files as database)

 http://www.cplusplus.com/doc/tutorial/files/

 https://code.sololearn.com/czgs0L9Om9WY/?ref=appt

 http://soprano.sourceforge.net/

 https://couchdb.apache.org/

 https://www.mongodb.com/

 https://study.com/academy/lesson/practice-using-files-as-databases-for-industry.html

 

 

 https://github.com/LEW21/sparqlxx

 sparqlxx

C++ semantic toolkit + sparqlite RDF database


A simple C++ library for manipulating scientific data sets as structured data

 https://www.researchgate.net/publication/2434170_A_simple_C_library_for_manipulating_scientific_data_sets_as_structured_data

 

 

A simple C++ library for manipulating
scientific data sets as structured data 



discussion.
References
[1] Object Management Group, http://www.omg.org
[2] Sayegh, A., CORBA - Standard, Spezifikationen, Entwicklung,
O’Reilly, Cambridge, 1997.
[3] MICO, a public-domain CORBA implementation, http://diamant-
atm.vsb.cs.uni-frankfurt.de∼mico/
[4] NCSA HDF group, http://hdf.ncsa.uiuc.edu/
[5] Xerox PARC, ftp://ftp.parc.xerox.com/pub/ilu/ilu.html
[6] Sun Microsystems, Java 2.0, http://java.sun.com/
[7] CERN IT/ASD Application Software & Databases,
http://wwwinfo.cern.ch/asd/cernlib/rd45/
22

This is a tutorial on how to build a block-based database with B-Tree index.

 https://github.com/nam178/FooDB

 

https://www.codeproject.com/Articles/1029838/Build-Your-Own-Database