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月14日 星期二
Using Reference Counting Assign AssignTo
2021年12月13日 星期一
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 binary 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 binary serialization
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 binary 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
ZWinLib - Simple C++ GUI Library for Windows Programs
ZWinLib - Simple C++ GUI Library for Windows Programs
http://www.wernerzimmermann.name/media/files/ZWinLib.htm
simple dialog type graphical user interfaces to Windows console programs. ZWinLib does not try to be a competitor to full-fledged libraries like Microsoft Foundation Classes (MFC) or Trolltech's QT library.
http://wernerzimmermann.name/open-source-software-projects.html
Windows Class Library ZWinLib
As I frequently needed small tools for my students' lab projects and didn't like solutions like MFC, wxWidgets or gtk available back then, I developed a set of lightweight class libraries for the Windows WIN32 API. ZWinLib allows to build graphical user interfaces and helps with TCP/IP and serial communication, while ZWinSQL provides C++ classes to deal with SQLite databases, ZWinXML encapsulates libXML and ZWinCrypt implements some crypto algorithms like RSA, AES and hash functions. The latter definitely is not encouraged, you should always use established and well-tested Crypto libraries like OpenSSL!
UnQLite is a in-process software library which implements a self-contained, serverless, zero-configuration, transactional NoSQL database engine.
https://unqlite.org/
UnQLite is a in-process software library which implements a self-contained, serverless, zero-configuration, transactional NoSQL database engine. UnQLite is a document store database similar to MongoDB, Redis, CouchDB etc. as well a standard Key/Value store similar to BerkeleyDB, LevelDB, etc.
UnQLite is an embedded NoSQL (Key/Value store and Document-store) database engine. Unlike most other NoSQL databases, UnQLite does not have a separate server process. UnQLite reads and writes directly to ordinary disk files. A complete database with multiple collections, is contained in a single disk file.
Keybase is secure messaging and file-sharing.
https://keybase.io/
Keybase is secure messaging and file-sharing.
Keybase is an open source app
Keybase comes with everything you need to manage your identity, create secure chats, and share files privately. It's free.
It's fun too.
Over 100,000 people have joined Keybase so far to prove their identities, and it's growing rapidly.
Dear ImGui is a bloat-free graphical user interface library for C++
https://github.com/ocornut/imgui
Dear ImGui
Dear ImGui is a bloat-free graphical user interface library for C++. It outputs optimized vertex buffers that you can render anytime in your 3D-pipeline enabled application. It is fast, portable, renderer agnostic and self-contained (no external dependencies).
Dear ImGui is designed to enable fast iterations and to empower programmers to create content creation tools and visualization / debug tools (as opposed to UI for the average end-user). It favors simplicity and productivity toward this goal, and lacks certain features normally found in more high-level libraries.
Dear ImGui is particularly suited to integration in games engine (for tooling), real-time 3D applications, fullscreen applications, embedded applications, or any applications on consoles platforms where operating system features are non-standard.
Mosquitto is an open source implementation of a server for version 5.0, 3.1.1, and 3.1 of the MQTT protocol.
https://github.com/eclipse/mosquitto
Links
See the following links for more information on MQTT:
Community page: http://mqtt.org/
MQTT v3.1.1 standard: https://docs.oasis-open.org/mqtt/mqtt/v3.1.1/mqtt-v3.1.1.html
MQTT v5.0 standard: https://docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.html
Mosquitto project information is available at the following locations:
Main homepage: https://mosquitto.org/
Find existing bugs or submit a new bug: https://github.com/eclipse/mosquitto/issues
Source code repository: https://github.com/eclipse/mosquitto
There is also a public test server available at https://test.mosquitto.org/
C++ Libraries
https://en.cppreference.com/w/cpp/header
https://isocpp.org/std/status
https://en.wikipedia.org/wiki/Asio_C++_library
https://en.wikipedia.org/wiki/Boost_(C%2B%2B_libraries)
https://pocoproject.org/index.html
https://en.wikipedia.org/wiki/POCO_C%2B%2B_Libraries
https://www.openssl.org/
https://www.ffmpeg.org/
https://en.wikipedia.org/wiki/Adaptive_Communication_Environment
https://www.sqlite.org/index.html
https://en.wikipedia.org/wiki/Category:C%2B%2B_libraries
https://en.wikipedia.org/wiki/Comparison_of_WebSocket_implementations