Delphi-Quelltexte

Nachfolgend findet man eine Sammlung von Quelltexten (zur Hauptsache Units und installierbare Komponenten, aber auch einige Anwendungen) für die neueren Delphi-Entwicklungsumgebungen mit Unicode-Unterstützung (XE, XE2 .. XE8 und 10 Seattle). Alle werden bei Bedarf laufend aktualisiert.
Die weiter unten beschriebenen Quelltexte für Delphi 7 sind großenteils mit denen für Delphi XE2 identisch, unterstützen aber noch keine Unicode-Strings und werden auch nicht mehr aktualisiert.
Alle Quelltexte sollten (vielleicht mit kleinen Änderunegn) auch mit dem Open-Source-Projekt Lazarus funktionieren (nicht getestet). Zur Verwendung auf anderen Plattformen als Windows (z.B. Linux) sind zusätzliche Änderungen erforderlich.
Die zeitweilig kostenlos angebotene Entwicklungsumgebung Turbo Delphi wird offiziell leider nicht mehr angeboten. Es gibt aber durchaus immer noch die Möglichkeit, diese Version bei Embarcadero anzufordern (weitere Informationen). Außerdem gibt es eine aktuelle relativ preisgünstige Delphi Starter Version. Sie wird als Upgrade für ca. 200 EUR angeboten, wobei die Upgradebedingungen sehr großzügig gehandhabt werden (angeblich für alle möglichen älteren Entwicklungssystem). Außerdem gibt es für Schüler, Studenten und Lehrkräfte, bzw. Dozenten an Hoch-, Berufs- und allgemeinbildenden Schulen die Professional-Version zu besonders günstigen Konditionen für den nicht kommerziellen Gebrauch (ab ca. 135 €).

Quelltexte mit Unicode-Unterstützung für Delphi 2009, XE, XE2 .. XE8 und 10 Seattle:

Quelltexte ohne Unicode-Unterstützung für Delphi 7:


Quelltexte für Delphi XE, XE2 .. XE8 und 10 Seattle

Units

Die nachfolgenden Units müssen für die Verwendung lediglich unter uses eingetragen werden. Außerdem müssen die Suchpfade in den Projektoptionen geeignet gesetzt sein, damit der Compiler die Dateien findet. Wenn in einem der Pakete nicht alle erforderlichen Units enthalten sind, sollte man in dem Paket units.zip nachsehen. Leider ist es nicht ganz einfach, alle Abhängigkeiten der Units vollständig aufzulösen, so dass man leicht eine erforderliche Units übersieht. Für Projekte hilft bei diesem Problem mein Programm Unit Parser

Mehrsprachige Units: Einige der Units verwenden sprachabhängige Texte. Die Grundversionen sind englisch verfasst und bieten zwei Möglichkeiten, eine Lokalisierung vorzunehmen:

Hinweise zur Verwendung von GnuGetText for Delphi: Alle dafür erforderlichen Units (u.a GnuGetText.pas) sind im Paket gnugettext.zip (s.u.) enthalten (weitere Infos dazu). Die für die Units erforderlichen deutschen po-Dateien befinden sich in den Paketen jeweils im Unterverzeichnis languages\de.
Wenn keine mehrsprachige Programmentwicklung benötigt wird, können die sprachabhängigen Units direkt durch ihre deutschen Versionen ersetzt werden. Dazu muss im Suchpfad der Projektoptionen vor dem Pfad zu den Standardunits der Pfad zu den deutschen Units angegeben werden.
Bsp.: Die Units befinden sich im Pfad ..\Libs\Units\, die deutschen Varianten im Unterverzeichnis ..\Libs\Units\de\. In den Projektoptionen muss dann im Suchpfad dieser Abschnitt hinzugefügt werden: ..\..\Libs\Units\$(LANGDIR);..\..\Libs\Units\;. Die Umgebungsvariable $(LANGDIR) wird vom Delphi-Entwicklungssystem bereitgestellt. Hinweise dazu, wie diese umgeschaltet werden kann, finden man hier.
Bei einigen Paketen gibt es auch rein englische Versionen ohne die Verwendung von GnuGetText.

Beschreibung Version Sprache Größe Download
Delphi-Interface zu den AES-Verschlüsselungsroutinen von Brian Gladman: 3.2
Okt. 2016
unabhängig 154 kB aeslib.zip
  • Ver- und Entschlüsselung nach AES
  • Generierung von Salt-Werten
  • Passwortprüfung
  • Authentifizierung
  • Unicode-Unterstützung
  • Versionen für 32 und 64 Bit
 
Diese Verschlüsselungsmethode wird auch in WinZip verwendet (weitere Informationen).
 
 
Delphi-Interface zum Volume Shadow Copy Services (VSS)
Das Paket enthält alle benötigten Units, um über ein Delphi-Programm eine Volumen-Schattenkopie zu erstellen, und ein Beispielprogramm für die Verwendung.
Dez. 2017 mehrsprachig 60,9 kB vss-s.zip (R)
  • Unit VssApi.pas - Delphi-Interface zum Volume Shadow Copy Service (vssapi.dll)
  • Unit VssUtils.pas - Delphi-Funktionen und -Objekte, um den Volume Shadow Copy Service in eigenen Programmen zu verwenden
  • Unit VssConsts.pas - sprachabhängige Ressourcen für VssUtils.pas
  • Programm VsToolkit.dpr - Beispielprogramm
Die Unit VssConsts.pas liegt in den Versionen für Englisch und Deutsch vor. Außerdem sind die po-Dateien für die beiden genannten Sprachen enthalten, um die Mehrsprachigkeit unter Verwendung von GNU Gettext for Delphi (siehe auch) zu realisieren.
 
 
Delphi-Interface zum Windows Task Scheduler 2.0
Das Paket stellt mehrere Delphi-Objekte bereit, die die Funktionen des Windows Task Scheduler 2.0 so kapseln, dass die Integration in eigene Programme sehr einfach wird. Die Verwendung wird durch ein Beispielprogramm erklärt.
1.5
April 2019
mehrsprachig 107 kB wts2-s.zip (R)
Hinweis: Die Implementierung ist noch nicht vollständig. Es werden aber alle wichtigen Funktionen unterstützt, um Zeitpläne für eigene Anwendungen einzutragen und zu bearbeiten.
  • Unit TaskSchedApi.pas - Delphi-Interface zum Windows Task Scheduler 2.0 (taskschd.dll)
  • Unit WinTask.pas - Delphi-Objekte für die Verwendung des Windows Task Scheduler 2.0 in eigenen Programmen
  • Unit WinTaskConsts.pas - sprachabhängige Ressourcen für WinTask.pas
  • Programm TaskSchedTest.dpr - Beispielprogramm
Die Unit WinTaskConsts.pas liegt in den Versionen für Englisch und Deutsch vor. Außerdem sind die po-Dateien für die beiden genannten Sprachen enthalten, um die Mehrsprachigkeit unter Verwendung von GNU Gettext for Delphi (siehe auch) zu realisieren.
 
 
Mehrsprachige Anwendungen mit GnuGetText
  • Unterroutinen
Dez. 2015
Mai 2018
unabhängig 48,1 kB
109,3 KB
gnugettext.zip (G)
gnugettext.zip (R)
Aug. 2018 mehrsprachig 2,36 MB ggt-translate.zip
 
Lange Integer-Arithmetik:
Jun. 2018 unabhängig 13,38 KB xmath.zip
Das Paket enthält die Delphi-Unit XMathUtils.pas, die mehrere Routinen zum Rechnen mit positiven (vorzeichenlosen) Integerzahlen beliebiger Länge bereit stellt. Für die Rechenoperationen mit entsprechend deklarierten Variablen können die üblichen Operatoren verwendet werden (siehe Infos bei Embarcadero).
Das Paket enthält neben der o.g. Unit ein Demo-Programm und ein Programm zur Berechnung von Pi nach P. Borwein mit beliebiger Stellenanzahl.
 
 
Routinen für Dateioperationen: Nov. 2015
Apr. 2019
mehrsprachig
mehrsprachig
1,04 MB
757 kB/td>
extfiletools.zip (G)
extfiletools.zip (R)
  • Dateien kopieren
  • Dateien nach GZip oder Zip komprimieren
  • Zip-Archive erzeugen
  • GZip- und Zip-Dateien entpacken
  • Alle Operationen auch mit AES-Verschlüsselung
  • Kopieren, Packen und Zip-Archive erzeugen auch über FTP
  • Alle Operationen laufen in einem eigenen Thread
  • Unicode-Unterstützung
  • Unterstützung von Pfadlängen > 260
  • Enthält AES und ZLib für 32 und 64 Bit
 
Zur Komprimierung und Dekomprimierung werden die Zlib-Bibliotheken von Jean-Loup Gailly und Mark Adler verwendet.
Für den FTP-Transfer werden die Indy10-Komponenten benötigt.
 
 
Eigene Beiträge zum SynEdit - Projekt bei sourceforge.net
SynEdit ist eine leistungsfähige Texteditor-Komponente für Delphi.
Sie wird u.a in meinen Programmen Mikrocontroller-Entwickungsumgebung und HTML Editor verwendet.
  • Für eigene Softwareentwicklungen modifizierte Units und Anpassung an die aktuellen Delphi-Versionen
Jul. 2017 unabhängig 145 kB synedit.zip
  • Syntaxhervorhebung für Mikrocontroller der 51er Familie (Unicodeversion)
     
Juni 2011 unabhängig 259 kB mc51highlighter.zip
Sammlung von diversen nützlichen Unterroutinen für Stringverarbeitung, Zahlenkonvertierung, mathematische Berechnungen, Datums- und Feiertagsberechnungen, Verschlüsselung von Strings (erfordert AES), Ansteuerung der seriellen Schnittstelle, Textfilterung mit regulären Ausdrücken, sowie zusätzlichen System- und Shell-Funktionen
 
Nov. 2015
Apr. 2019
mehrsprachig
mehrsprachig
209 kB
467 kB
units.zip (G)
units.zip (R)
E-Mail-Versand - erfordert Indy10
(kann auch als Komponente installiert werden)
 
Juli 2018 unabhängig 10 kB mmailer.zip

 

Komponenten

Die nachfolgenden Komponenten müssen für die Verwendung in eigenen Programmen zunächst als Paket compiliert (dpk-Datei) und dann in der Toolpalette installiert werden.

Beschreibung Version   Größe Download
Sammlung von Komponenten für folgende Aufgaben:
Toolpalette: JR-Comps
Juli 2019   103 kB jrcomps.zip
  • Eingabefelder für Integer- und Fließkommazahlen (NumberEd.pas)
  • Combo-Boxen mit integrierten History-Listen (HListBox.pas)
  • Verschiedene Fortschrittsanzeigen (Prgrss.pas)
  • Erweiterte Kalenderfunktionen (JRCalendar.pas)
  • Analoge Uhranzeige (CClock.pas)
  • Verschiedene grafische Anzeigeelemente (Indicators.pas)
  • Grafische Schalter (Switches.pas)
  • Combo- und Group-Box mit Check-Feldern (CheckBoxes.pas)

Hinweis: Der Name der Gruppe innerhalb der Palette kann durch Bearbeiten der Include-Datei UserComps.pas angepasst werden.

 
SynEdit-Komponenten mit Ergänzungen:
Toolpalette: SynEdit und SynEdit Highlighters
 
Nov. 2018   1,45 MB synedit-code-jr.zip

In den bei Delphi mitgelieferten Komponenten findet man die Unit Vcl.Shell.ShellCtrls.pas. Sie enthält u.a. die Komponenten TShellTreeView und TShellListView, die sich sehr gut für Dialogfelder zur Auswahl von Verzeichnissen und Dateien eignet. Außer einigen Anpassungen an Unicode scheint diese Unit aber seit Delphi 7 (dort noch unter der Rubrik Demos) nicht mehr weiter entwickelt worden zu sein.
In den nachfolgenden Shell-Komponenten habe ich neben verschiedenen Korrekturen einige Zusatzfunktionen eingebaut, wie z.B. eine Sortierung der Dateien nach Namen, Datum, Typ oder Größe.

Beschreibung Version   Größe Download
Shell-Komponenten: Mai 2018   25,2 kB vclshellctrls.zip
  • TShellTreeView mit möglichem Ausschluss der Anzeige von Zip-Dateien und Anzeige von versteckten Systemdateien und -verzeichnissen (ab Windows 7)
  • TShellComboBox
  • TShellListView mit möglichem Einschluss der Anzeige von Zip-Dateien und mit Sortiermöglichkeit durch Klick auf den Spaltenkopf und einstellbaren Spaltenbreiten
  • TShellChangeNotifier
 
 

 

Dialoge

Die nachfolgenden Dialoge müssen jeweils dem Projekt hinzugefügt werden. Den Eintrag unter uses nimmt Delphi dann automatisch vor. Für einige Dialoge gibt es auch Aufrufvarianten, die ihr Formular selbst erzeugen (z.B. InputText), so dass keine Aufnahme in das Projekt nötig ist.
Alle Dialoge sind in englischer (Basisversion für mehrsprachige Entwicklungen) und deutsch verfügbar. Die Verwendung ist oben bei den Units erläutert. In einigen Dialogen werden Units verwendet, die in den o.g. Unit-Paketen enthalten sind:
Unit-Sammlung, Dateioperationen und FTP, E-Mail-Versand.

Beschreibung Version Sprache Größe Download
Sammlung von Dialogen für verschiedenen Zwecke: DXE Nov. 2015
D10 April 2019
mehrsprachig
mehrsprachig
560 kB
754 kB
dialogs.zip
dialogs.zip
  • Auswahl von Verzeichnissen
  • Auswahl von Dateien
  • Kennwort-Eingabe
  • Verwaltung von Stringlisten
  • Definition von Etiketten-Formaten
  • FTP-Einstellungen - erfordert Indy10
  • CSV-Import mit Vorschau
  • Definition des Export-Formats für CSV-Dateien
  • Eingabe von Zahlen und Text
  • Textanzeige mit Suchfunktion
  • Einfacher Web-Browser
  • Mail-Einstellungen - erfordert Indy10
 

 

Programme

Beschreibung Version Sprache Größe Download
WinTouch
Befehlszeilenprogramm zum Ändern von Datei-Zeitstempeln
1.0
Jun. 2016
englisch 59,0 kB wintouch-s.zip
Berechnung von Datei-Fingerprints
Berechnet MD5- und SHA1/256-Prüfsummen
3.1
Aug. 2018
mehrsprachig 366 kB filefp-s.zip
Immerwährender Kalender mit Druckfunktion
Individuelle Einträge für Feiertage, Geburtstage und sonst. Termine
3.8
Sep. 2016
deutsch 171 kB kalender-s.zip
Projektverwaltung für Delphi (XE,..,10)
mit Sprachumschaltung Englisch - Deutsch
2.2
Dez. 2017
mehrsprachig 285 kB startdelphi10-s.zip
Sudoku-Löser
Lösen von Sudoku-Aufgaben (inkl. Exe-Datei)
3.3
Dez. 2017
mehrsprachig 1,23 MB
1,01 MB
sudoku.zip (D10)
sudoku.zip (DXE)
Versionierung und Kopieren von Programmen
Erzeugen eines Setupnamens mit Version und Kopieren aller benötigten Dateien für den Download (auch per FTP)
4.4
Jan. 2019
mehrsprachig 1,52 MB versioncopy-s.zip

Quelltexte für Delphi 7

Alle für Delphi 7 bereitgestellten Quelltexte unterstützten noch kein Unicode.

Units für Delphi7

Die nachfolgenden Units müssen für die Verwendung lediglich unter uses eingetragen werden. Außerdem müssen die Suchpfade in der Projektverwaltung geeignet gesetzt sein, damit der Compiler die Dateien findet. Einige der Units verwenden die Möglichkeit über GnuGetText for Delphi andere Sprachen einzubinden. Die dafür erforderliche Unit GnuGetText.pas ist im Paket e-units.zip enthalten.

Beschreibung Version Sprache Größe Download
Delphi-Interface zu den AES-Verschlüsselungsroutinen von Brian Gladman:
  • Ver- und Entschlüsselung nach AES
  • Generierung von Salt-Werten
  • Passwortprüfung
  • Authentifizierung
Diese Verschlüsselungsmethode wird auch in WinZip verwendet (weitere Informationen).
1.8
Jan. 2009
unabhängig 70,2 kB aeslib.zip
Routinen für Dateioperationen:
  • Dateien kopieren
  • Dateien nach GZip komprimieren
  • Zip-Archive erzeugen
  • GZip-Dateien entpacken
  • Alle Operationen auch mit AES-Verschlüsselung
  • Kopieren, Packen und Zip-Archive erzeugen auch über FTP
  • Entpacken von Zip-Dateien
  • Alle Operationen laufen in einem eigenen Thread
Zur Komprimierung und Dekomprimierung werden die Zlib-Bibliotheken von Jean-Loup Gailly and Mark Adler verwendet.
Für den FTP-Transfer werden die Indy10-Komponenten benötigt.
Das Paket enthält Demo-Programme für die wichtigsten Funktionen.
5.2
Apr. 2010
mehrsprachig 257 kB extfiletools.zip
Eigene Beiträge zum SynEdit - Projekt bei sourceforge.net
SynEdit ist eine leistungsfähige Texteditor-Komponente für Delphi.
Sie wird u.a in den Programmen Mc-Tools und HtRed verwendet.
  • Für eigene Softwareentwicklungen modifizierte Units
Feb. 2007 unabhängig 71,9 kB synedit.zip
  • Syntaxhervorhebung für Mikrocontroller der 51er Familie
Juni 2005 unabhängig 84,0 kB mc51highlighter.zip
  • Finden- und Ersetzen-Dialog mit Demo-Programm
Juni 2005 englisch 13,2 kB findrepldemo.zip
Sammlung von diversen nützlichen Unterroutinen für die Stringverarbeitung, Zahlenkonvertierung, Datums- und Feiertagsberechnungen, System-Funktionen, Desktop-Funktionen, Mathematische Funktionen, Textfilter, Mehrsprachigkeit (nur e-units.zip) Apr. 2010
Apr. 2010
deutsch
mehrsprachig
160 kB
199 kB
d-units.zip
e-units.zip

 

Dialoge für Delphi 7

Die nachfolgenden Dialoge müssen jeweils dem Projekt hinzugefügt werden. Den Eintrag unter uses nimmt Delphi dann automatisch vor. Für einige Dialoge gibt es auch Aufrufvarianten, die ihr Formular selbst erzeugen (z.B. InputText), so dass keine Aufnahme in das Projekt nötig ist.

Beschreibung Version Sprache Größe Download
Sammlung von Dialogen für verschiedenen Zwecke:
  • Auswahl von Verzeichnissen
  • Auswahl von Dateien
  • CSV-Import mit Vorschau
  • Verwaltung von Stringlisten
  • Definition von Etiketten-Formaten
  • Definition des Export-Formats für CSV-Dateien
  • Eingabe von Zahlen und Text
  • Eingabe von Passwörten
  • Textanzeige mit Suchfunktion
  • Einfacher Web-Browser
Apr. 2010
Apr. 2010
deutsch
mehrsprachig
160 kB
201 kB
d-dialogs.zip
e-dialogs.zip

 

Komponenten für Delphi 7

Die nachfolgenden Komponenten werden in der Komponentenpalette unter der Gruppe JR-Komp. installiert. Für eine Umbenennung der Gruppe muss vor dem Kompilieren des Packages in der Datei UserComps.pas eine entsprechende Änderung vorgenommen werden.

Beschreibung Version   Größe Download
Sammlung von Komponenten für folgende Aufgaben:
  • Eingabefelder für Integer- und Fließkommazahlen
  • Combo-Boxen mit integrierten History-Listen
  • verschiedene Fortschrittsanzeigen
  • erweiterte Kalenderfunktionen
  • verschiedene grafische Anzeigeelemente
  • grafische Schalter
  • E-Mail-Versand (erfordert Indy10)
Jan. 2009   92,8 kB jrcomps.zip

 

Programme für Delphi 7

Hinweis: Viele der nachfolgenden Programme benötigen die Installation der oben angebotenen Komponenten, sowie einige der oben bereitgestellten Units und Dialoge.

Beschreibung Version Sprache Größe Download
Glyph-Viewer
Ein Programm zur übersichtlichen Anzeige aller Glyph-Grafiken (z.B. für Delphi-Buttons) in einem Verzeichns.
2.0
Jan. 2007
englisch 6,04 kB glyphviewer.zip
Windows- oder DOS-Programme vom Desktop aus starten
Über Befehlszeilenoptionen können für verschiedene Anwendungen vorkonfigurierte Startumgebungen festgelegt werden. Ein Beispiel zum Starten von Turbo-Pascal mit verschiedenen Projekt-Verzeichnissen liegt bei.
2.3
Dez. 2006
deutsch 304 kB prlaunch.zip
Konvertierung von Postscript-Dokumenten nach PDF
Das Programm erfordert eine vorhandene Ghostscript-Installation
2.2
Nov. 2009
deutsch 9,86 kB pstopdf-s.zip
Zusammenfügen von Encapsulated-Postscript-Dateien auf einer Seite
Das Paket enthält zwei Programme:
1. Positionieren von EPS-Dateien von Hand (interaktiv) auf einer Seite
Dieses Programm war ursprünglich dazu gedacht, kleine Abbildungen im EPS-Format, die mit dem Eagle-Layout-Editor erstellt wurden, zusammen auf einer Seite auszudrucken, kann aber auch für alle anderen EPS-Dateien (z.B. Abbildungen) verwendet werden.
2. Automatische Anordnung von EPS-Dateien als Miniaturen auf einer Seite
Die Anzahl der Zeilen oder Spalten pro Seite ist einstellbar.
Zum Ausdrucken der mit diesen Programmen erstellten Seiten gibt es verschiedene Möglichkeiten:
  • Direkter Ausdruck auf einem postscript-fähigen Drucker,
  • Ausgabe der Seite in eine Postscript-Datei, die dann über Ghostview oder nach Konvertierung mit PsToPdf über den Adobe Reader ausgedruckt wird.
2.8
Apr. 2010
deutsch 45,9 kB printeps-s.zip
Ausdrucken von Text-Dateien (ASCII)
Das Programm fügt beim Ausdruck Seitenformatierungen mit Kopfzeilen und Seitennumerierungen ein (z.B. für den Ausdruck von Programm-Listings).
1.3
Dez. 2006
deutsch 386 kB/td> printtext.zip
Delphi-Textresourcen konvertieren und bearbeiten:
Mit diesen Programmen können die Texte aus Delphi-Formularen und -Textresourcen extrahiert und wieder eingesetzt werden. Die Übersetzung in andere Sprachen wird dadurch erheblich vereinfacht und kann auch von Mitarbeitern gemacht werden, die die Delphi-Entwicklungsumgebung nicht zur Verfügung haben. Es ist lediglich ein einfacher Texteditor erforderlich.
  • Konvertieren von Formularen von binär nach Text und umgekehrt,
  • Extrahieren aller Texte aus den zu einem Projekt gehörenden Formularen in ein Textdatei, die mit jedem Texteditor weiter bearbeitet werden kann,
  • Einsetzen der bearbeiteten Texte in die Formulare
  • Extrahieren aller relevanten Texte aus einer Textresource (DC-Datei),
  • Einsetzen der bearbeiteten Texte in die Textresource (DC-Datei).
Vers. 1.1
Dez. 2006
englisch 1,48 MB res-tools.zip

Tutorials


Weitere Quellen zu Delphi