Hilfsmittel zum Programmieren

Mehrsprachige Delphi-Programme Starthilfe für Delphi (ab XE) Unit-Analysator für Delphi-Projekte
Erstellen von Installationsarchiven Überprüfen von Installationsarchiven Software-Verteilung
Berechnung von Signaturen (MD5, SHA1)  Mikrocontroller Verschiedenes

Delphi-Interface zum Windows Volume Shadow Copy Service (VSS)

Dieser Dienst wurde erstmals mit dem Microsoft-Betriebssystemen Windows XP eingeführt und in den nachfolgenden Betriebssystemen (Windows 7,8 und 10, sowie Windows Server 2008 und 2012) um diverse Funktionen erweitert. Er basiert auf der Möglichkeit, mit NTFS-Dateisystemen Schnappschüsse zu erzeugen. Damit wird es möglich, auch Dateien zu kopieren, die gerade durch laufende Anwendungen blockiert sind. Ist der Dienst aktiv, bleibt von den Dateien, die verändert werden, die beim Anfertigen des Schnappschusses vorhandene Version erhalten. Die neuen Daten werden zunächst an einer anderen Stelle im Dateisystem abgelegt. So bleibt der Zustand des Datenträgers für die Lebensdauer des Schnappschusses erhalten und kann während dieser Zeit problemlos gesichert werden.

Die Benutzung des VSS ist im Microsoft Software Development Kit für Windows 7 genau beschrieben. Dort findet man auch ein Beispielprogramm mit Quelltexten (VSHADOW.EXE). Diese sind allerdings, ebenso wie die Interfaces (Header-Dateien) zu den Windows-Bibliotheken in C++ geschrieben. Um VSS auch unter Delphi nutzen zu können, ist es als erstes erforderlich, die Header-Dateien in eine Delphi-Unit (VssApi.pas im Programmpaket) umzusetzen. Zur einfachen Verwendung in eigenen Programmen wird außerdem eine nach Delphi konvertierte Version der Routinen aus dem o.g. Beispielprogramm von Microsoft bereit gestellt (VssUtils.pas). Das Programmpaket enthält schließlich auch noch eine konvertierte Version des Hauptteils des Beispiel-Programms als Konsolenanwendung (VsToolkit). Dabei wurde als Grundlage nicht das originale Beispiel von Microsoft verwendet, sondern die modifizierte Version Volume Shadow Copy Simple Client (VSCSC). Alle Programme und Routinen können sowohl für 32- als auch für 64-Bit-Systeme kompiliert werden (für letzteres ist mindestens Delphi-XE2 erforderlich).
Hinweise: Mit den bereit gestellten Routinen können die meisten für ein Backup notwendigen Funktionen ausgeführt werden. Ein Restore wird noch nicht unterstützt.
Das Ausführen des Programms erfordert Administratorrechte.

Download:

Version 1.3 v. 6.1.2016


Mehrsprachige Delphi-Anwendungen mit GNU Gettext

Es gibt verschiedene Möglichkeiten, eine Delphi-Anwendung mit einer mehrsprachigen Oberfläche zu versehen. Auch die Original-Entwicklungsumgebung bringt hierfür Werkzeuge mit. Bei der Benutzung zeigen sich diese aber etwas schwerfällig in der Anwendung.
Ich habe daher alle meine mehrsprachigen Programme auf das als OpenSource bereitgestellte System GNU Gettext for Delphi von Lars B. Dybdahl umgestellt. Es funktioniert mit allen aktuellen Delphi-Versionen. Ich benutze es mit Delphi 7, Delphi XE2 und Delphi 10 Seattle (auch mit dem 64-bit-Compiler). Nach kurzer Eingewöhnung kann man damit sehr effizient arbeiten. Außerdem bietet es den großen Vorteil, dass für die Erstellung einer Übersetzung keine Delphi-Entwicklungsumgebung bereitstehen muss, so dass jeder Anwender die Möglichkeit hat, eine Übersetzung in seine Sprache vorzunehmen. Es genügt ein einfacher Texteditor oder besser eines der folgenden speziell dafür entwickelten Editor-Programme:

Basis ist immer eine vorzugsweise in Englisch geschriebene Delphi-Anwendung. Weitere Informationen findet man unter Personal Backup - Übersetzungen.

Die Übersetzung wird in zwei Schritten erstellt:

  1. Erstellung einer Text-Datei (po-Datei) mit den englischen Redewendungen als Schablone für die Übersetzung.
  2. Zusammenführen einer vorhandenen Übersetzung mit der aktualisierten Schablone

Bereits übersetzte Teile werden dadurch bei Programmaktualisierungen immer automatisch übernommen, so dass der Aufwand für die Aktualisierung der Übersetzung klein bleibt.
Die beiden erforderlichen Programme werden im Windows-Explorer über das Kontext-Menü aufgerufen:

1. Rechtsklick auf ein Verzeichnis   2. Rechtsklick auf eine po-Datei.
erzeugt die Schablone (po-Datei).   führt Schablone und Übersetzung zusammen und startet PoEdit für die Nachbearbeitung.

Das Programm für die Schablonenerstellung (ggdxgettext.exe) habe ich etwas erweitert:

Außerdem wurde ein Fehler beseitigt, den ich erstmals unter Windows 7 festgestellt habe: Die Po-Datei wurde nicht in das per Rechtsklick ausgewählte Verzeichnis geschrieben, sondern eine Ebene höher.
Auch für die Programme zur Zusammenführung einer vorhandenen Übersetzung mit der aktualisierten Schablone (ggmerge.exe) und zur Einbettung der Übersetzung (mo-Datei) in die Exe-Datei (ggassemble.exe), sowie für die Übersetzungen der Kontextmenüs gibt es kleine Ergänzungen.

Neue Bedieneroberfläche GgtTranslate

Zum sporadischen Bearbeiten einzelner Übersetzungen ist die Integration in Form der Kontext-Menüs sicher ganz praktisch. Beim Erstellen eines mehrprachigen Programms (z.B. in Englisch und Deutsch), wobei die Texte noch laufend angepasst werden müssen, wird die Bedienung auf diese Weise allerdings doch etwas mühsam. Man muss ständig die Verzeichnisse wechseln und erreicht sein Ziel erst nach diversen Mausklicks.
Abhilfe schafft hier mein Programm GgtTranslate, das für jedes Projekt alle Schritte, auch für mehrere Sprachen, unter einer Bedieneroberfläche zusammenfasst. Es benutzt dabei die gleichen Einstellungen (dxgettext.ini) wie die Originalprogramme, erlaubt es aber, alle Schritte unmittelbar nacheinander auszuführen:

  1. Extrahieren der Strings in der Originalsprache (i.d.R. englisch) aus den Quelltexten (pas- und dfm-Dateien) in die Übersetzungsschablone.
  2. Zusammenführen dieser Schablone mit den ausgewählten Übersetzungen
  3. Bearbeiten von ignore.po mit einem Texteditor
  4. Bearbeiten der Übersetzungen und Erzeugen der mo-Dateien, z.B. mit PoEdit
  5. Kopieren der erzeugten mo-Dateien in das jeweils zugehörige Sprachverzeichnis: z.B. <Verzeichnis der ausführbaren Datei>\de\LC_MESSAGES\
  6. Einbetten der Übersetzungen in die ausführbare Dateien

Die aktuelle Version 2.5 bietet außerdem noch folgende zusätzliche Möglichkeiten:

Hilfsprogramme

Außerdem werden einige Hilfsprogramme zur Bearbeitung von po-Dateien bereit gestellt:

Downloads:

Delphi-10-Version von GgtTranslate:

Das Programmpaket enthält alle oben aufgeführten Zusatzprogramme und Erweiterungen.
ggt-translate-setup (5,99 MB) Quelltexte (798 kB) - Vers. 2.5.4 v. 20.03.2017

Delphi-7-Version von GgtTranslate:

Diese Version erfordert eine vorherige Installation von DxGetText (s.u.).
dxgettext-update (849 kB) Quelltexte (114 kB)

Originalversion von DxGetText:

GNU gettext for Delphi (5,2 MB)

Vorlagen und deutsche Übersetzungen für Delphi-Bibliotheken:

Delphi 10 Seattle* (824 kB) Delphi-XE2* (501 kB) Delphi 7 (368 kB) Indy 10* (513 kB)
* enthält auch teilweise Übersetzungen für Französisch, Spanisch, Italienisch, Niederländisch und Ungarisch


Starthilfe für Delphi

Ab Delphi XE gibt es nicht nur die Möglichkeit, die Entwickleroberfläche in der Sprache umzuschalten, sondern auch die Sprache der für eigene Anwendungen verwendeten Bibliotheken (z.Zt. englisch, deutsch und französisch). Wenn man z.B. eine mehrsprachige Anwendung entwickelt (siehe auch), ist es zu empfehlen, alle Texte in Englisch zu verfassen. Die verwendeten Systemdialoge, Systemfehlermeldungen, etc. müssen dann natürlich auch in Englisch erscheinen. Bei Anwendungen, die ausschließlich z.B. für den deutschen Raum entwickelt werden, benötigt man stattdessen die entsprechenden deutschsprachigen Bibliotheken.

Leider kann diese Umschaltung nicht aus der Entwicklungsumgebung heraus gemacht werden. Embarcadero stellt ein kleines Hilfsprogramm (BDSSetLang.exe) zur Verfügung, mit dem sich dies bewerkstelligen lässt. Erst anschließend kann die IDE gestartet werden.

Das Programm Start Delphi kombiniert diese Umschaltung nun mit einer einfachen Projektverwaltung:

Beim ersten Start des Programms wird automatisch ermittelt, welche Delphi-Versionen (Delphi XE, XE2, XE3, XE4, XE5, XE6, XE7, XE8 oder Delphi 10 Seattle, 10.1 Berlin) auf dem System installiert sind. Der Benutzer wählt die Version aus, mit der er arbeiten möchte.

Für die beiden Sprachen Deutsch und Englisch werden getrennte Projektlisten verwaltet. Neue Projekte werden durch Auswahl der zugehörigen Projektdateien (.dproj) der jeweiligen Liste hinzugefügt. Nach Klick auf die Start-Schaltfläche wird die vom Benutzer ausgewählte Delphi-Version mit der ausgewählten Bibliothekssprache gestartet und das ausgewählte Projekt geladen. Durch Klick auf die Titelleiste der Projektliste kann die Anzeigereihenfolge verändert werden.

Hintergrundinformationen: Die Einstellung der Bibliothekssprache erfolgt im Registry-Key: HKEY_CURRENT_USER\Software\Embarcadero\BDS\<version>\MUI. Der Wert für Translated Library Directory wird entweder auf EN oder DE eingestellt (zusätzlich auch möglich: FR). <version> ist je nach Delphi-Version zu ersetzen durch:
XE:8.0  XE2:9.0  XE3:10.0  XE4:11.0  XE5:12.0  XE6:14.0  XE7:15.0  XE8:16.0  10 Seattle:17.0  10.1 Berlin:18.0 

Download (Vers. 2.1 v. 1.2.2017):


Unit-Analysator für Delphi-Projekte

Beim Programmieren von Delphi-Projekten verwendet man viele Funktionen, die sich in selbsterstellten Units befinden. Diese sind meistens nicht im Projektverzeichnis angesiedelt, sondern befinden sich an verschiedenen anderen Stellen. Die Suchpfade dorthin werden in den Projektoptionen angegeben.

Wenn man nun ein Projekt oder auch eine Unit im Quelltext weiter geben möchte, stellt sich immer das Problem, welche Units werden benötigt und müssen beigefügt werden. Delphi bringt selbst kein Werkzeug mit, mit dem sich dies übersichtlich machen lässt.

Das Programm UnitParser hilft hier weiter. Für Projekte mit dproj-Dateien ist es ab Delphi 2007 verwendbar, für dpr- oder pas-Dateien auch für ältere Delphi-Versionen.

Eventuell in den Suchpfaden vorhandene Platzhalter ($(Config), $(Platform) und $(LANGDIR)) werden durch die im Programm gemachten Einstellungen ersetzt. Durch Klick auf die Schaltfläche rechts neben dem Suchpfad, können die Angaben vom Benutzer angepasst werden.
Mach einem Klick auf Projekt durchsuchen analysiert das Programm in allen verwendeten Units die Uses-Klauseln und erstellt eine nach Pfaden sortierte Liste aller im Projekt verwendeten Units. System-Units sind dabei ausgenommen.

Anschließend kann man alle oder einige ausgewählte Units in ein beliebiges Zielverzeichnis kopieren. Units, die sich nicht im Projektverzeichnis befinden, werden dabei in das Unterverzeichnis Units kopiert. Zuletzt wird die Hauptdatei (dpr) kopiert, wobei die dort enthaltenen Pfade für die Units entsprechend angepasst werden, sowie die zugehörigen Ressourcendateien.

Download (Vers. 3.4 v. 8.2.2017):


Hilfsmittel zur Erzeugung von Installationsarchiven

Um dem Anwender die Installation eines neuen Programms möglichst einfach zu machen, wird dies am Besten mit allen seinen Komponenten in ein platzsparendes Archiv gepackt. Dadurch wird ein schnelles Download gewährleistet. Um auch die Installation komfortabel zu gestalten, sollte dieses Archiv selbstextrahierend sein, damit kein Zusatzprogramm zum Entpacken nötig ist. Wichtig ist auch, dass während der Installation individuelle Einstellungen (wie. z.B. das Programmverzeichnis oder Einträge im Startmenü oder auf dem Desktop) vom Benutzer vorgenommen werden können.

Verwendung von Inno-Setup

Neben kommerziellen Programmen wie z.B. InstallShield oder Wyse hat sich hierfür das Freeware-Programm Inno-Setup bewährt. Durch eine sehr leistungsfähige Skript-Sprache können hiermit fast alle Anforderungen erfüllt werden.

1. Beispiel - Installation von WinBib

Beschreibung der einzelnen Abschnitte:
Setup
Hier findet man die globalen Einstellungen, wie Name der Anwendung, Autor, Name der Installations-Datei
Languages
Hier wird angegeben, welche Sprachen bei der Installation ausgewählt werden können
CustomMessages
Individuelle Installationshinweise in den verwendeten Sprachen
Tasks
Zusätzliche Aufgaben bei der Installation, wie z.B. Anlegen eines Desktop-Icons oder Einstelllen von Verknüpfungen zu best. Dateitypen
Registry
In die Registry einzutragende Werte, wobei hier der Name des Schlüssels durch eine unter Code eingefügte Funktion in Pascal-artiger Syntax ermittelt wird.
Files
Für die Installation benötigte Dateien.
Icons
Einträge im Startmenü und auf dem Desktop.
Run
Nach der Installation zu startendes Programm.
Code
Zusätzliche Benutzerfunktionen.

2. Beispiel - Installation zur Nutzung eines serverseitig installierten MikTeX

Beschreibung der Verfahrensweise:

  1. In dem Beispiel wird davon ausgegangen, dass auf einem Server das vollständige MikTeX installiert ist. Die Serverfreigabe ist auf dem lokalen Rechner als Netzlaufwerk P: angebunden. Auf der gleichen Serverfreiggabe befindet sich auch eine GhostScript-/GhostView-Installation.
  2. Auf dem lokalen Rechner wird von einem Administrator die mit dem o.g. Inno-Setup-Skript erzeugte Installation Admin-MiKTeX-From-Server-Setup.exe gestartet. Sie nimmt alle erforderlichen Einstellungen in der Registry, der Programm-Umgebung und im Startmenü (All users) vor.
  3. Der Administrator installiert einen Editor, wie. z.B. TeXnicCenter.
  4. Der jeweilige Benutzer muss nach der Anmeldung im Startmenü das Programm MikTeX > Settings starten und die erforderlichen lokalen Datenbanken erzeugen: Schaltflächen Refresh FNDB und Update Formats.

Einfügen einer Versionsinfo in den Namen der Installationsdatei

Bei Programmen, die sich noch in der Weiterentwicklung befinden, ist es nützlich, aus dem Dateinamen der Installationsdatei die Versionsnummer zu erkennen. Mit einiger Kenntnis der in InnoSetup verwendeten Scriptsprache kann man das in das Installationsskript integrieren. Wem das zu kompliziert ist, der kann auf das nachfolgend beschriebene kleine Delphi-Befehlszeilenprogramm zurückgreifen. Es lässt sich sehr einfach in eine Batch-Datei integrieren.

Batch-Datei zur Erzeugung des Installationsarchivs:

rem InnoSetup starten
"%ProgramFiles%\Inno Setup 5\Compil32.exe" /cc htred.iss
rem Versionsinfo in Dateinamen einfügen
\Delphi7\bin\AddVersionToName.exe "\Delphi7\Bin\html\HtRed.exe" htred-setup.exe 3

Das Programm AddVersionToName benötigt folgende Angaben in der Befehlszeile:

AddVersionToName <ExeFile> <InstallFile> [<Level>]

Es liest dann aus der Exe-Datei die Versionsnummer aus (siehe z.B. Projekt-Eigenschaften bei Delphi) und benennt die Installations-Datei entsprechend um.

Ein zweites Programm CopyVersionFile kopiert zusätzlich zur Umbenennung die Datei in ein oder mehrere Verzeichnisse für die Softwareverteilung.

Download der Programme (Quelltexte und Exe-Dateien) (57,2 kB)

Eine Weiterentwicklung dieser beiden kleinen Programm wird im nächsten Abschnitt beschrieben.

Überprüfen und Entpacken von InnoSetup-Archiven

Manchmal möchte man gerne ein erstelltes InnoSetup-Archiv überprüfen oder Dateien daraus extrahieren. Dazu gibt es das Konsolenprogramm Inno Setup Unpacker. Wem die Bedienung etwas zu unkomfortabel ist, kann sich hier eine Windows-GUI herunterladen:

Download:

Version 1.3.1 v. 5.3.2014 (Deutsch, Englisch und Ungarisch)


Verteilung von Softwarepaketen

Die Erstellung und Verteilung von Softwarepaketen erfordert immer wieder die gleiche Abfolge von Operationen, so dass sich eine Automatisierung anbietet:

  1. Integration der Sprachpakete nach einer Neu-Compilierung
  2. Erstellen der Installationsdatei mit InnoSetup (s.o.)
  3. Einfügen der Versionsnummer in den Namen der Installationsdatei
  4. Kopieren der Installationsdatei und ev. weiterer Dateien auf den Download-Server
  5. Anpassen der Download-Webseite

Beispiel einer Batch-Datei für einen automatischen Ablauf:

echo Sprachdateien aktualisieren
copy /y ..\languages\de\default.mo ..\Release\Win32\locale\de\LC_MESSAGES\
rem copy /y ... für weitere Sprachpakete

echo.
echo InnoSetup starten
"%ProgramFiles%\Inno Setup 5\Compil32.exe" /cc pb51.iss
echo InnoSetup fertig

rem Archiv für Update aktualisieren
"%ProgramFiles%\7-Zip\7z.exe" u -r pb-update-5.zip @pb-files.txt

rem Setup versionieren und verteilen
"%ProgramFiles%\Utilities\VersionCopy.exe" PersBackup-5.vcj /f

Die Schritte 3 - 5 werden dabei von dem Programm VersionCopy ausgeführt.


VersionCopy

Die Funktionen im Überblick:

Verfahrensweise:

Zunächst werden im interaktiven Modus mit dem Program geeignete Aufträge erstellt und gespeichert.
Mit der Schaltfläche "Testen" kann die Funktionsweise geprüft werden, ohne dass irgendwelche Daten tatsächlich verändert oder kopiert werden. Der Ablauf wird im Status-Fenster angezeigt und gleichzeitig auch in eine Protokolldatei geschrieben ("VersionCopy.log" im Verzeichnis "Anwendungsdaten").
Wenn alles richtig aussieht, kann durch Klick auf die Taste "Starte Kopieren" der Auftrag real ausgeführt werden.
Aufruf über die Befehlszeile:
Der Kopiervorgang kann auch direkt über die Befehlszeile gestartet werden (siehe auch die Batch-Datei weiter oben):
<Pfad>\VersionCopy.exe <Auftrag> /force

Downloads:


Grund-Einstellungen

Exe-Datei mit Versionsinfo:
Dies kann eine mit einer beliebigen Programmentwicklungsumgebung erstellte Datei sein. Sie muss die üblichen Versionsinformationen in ihren Ressourcen enthalten (unter Delphi wird das über die Projektoptionen eingestellt).
Setup-Datei:
Dies ist das mit einem Installer (z.B. Inno-Setup) erstellte Installationspaket, das zum Download bereitgestellt werden soll.
Benutzte Versionsebene:
Hier wird eingestellt, wie die Versionsinformation weiter gegeben werden soll. Es sind maximal 4 Stufen möglich: Setup-1, Setup-1.2, Setup1.2.03 oder Setup-1.2.0304
Vorversion behalten:
Hier wird eingestellt, welche im Downloadbereich befindlichen älteren Versionen gelöscht werden sollen. Wird z.B. Ebene 1 gewählt, werden Setup-Dateien nur dann erhalten wenn sich die erste Versionstufe ändert (setup-1... auf setup-2..).
Projekt-Präfix:
Hier wird die Projektkennzeichnung für die Bearbeitung der HTML-Vorlagen eingestellt (siehe).

FTP-Einstellungen

Hier werden die Zugangsdaten für die verwendeten FTP-Server eingestellt.

Dateien

Versionsinfo-Dateien:
Name der Dateien, die die Informationen zur aktuellen Version und zum Download bereitstellen (siehe unten)
Setup-Datei:
Setup mit Versionsnummer (wird vom Programm erzeugt)
Erstelle Datei mit MD5-Checksumme:
Auswählen, wenn der MD5-Wert in eine Datei "<Setupname>.txt" geschrieben werden soll
Zusätzliche Dateien:
Hier können beliebige Dateien, z.B. mit Update-Informationen ausgewählt werden, die zum Downlaod bereitgestellt werden sollen. Auf Wunsch kann den Dateien automatisch das Projekt-Präfix vorangestellt werden.

Ziele

Verzeichnisse:
Hier können beliebige Verzeichnisse im Windows-Dateisystem ausgewählt werden, in die die oben genannten Dateien und das Setup kopiert werden sollen. Die Versionsinformation wird nur in die markierten Verzeichnisse kopiert.
Ziele auf FTP-Server
Hier können beliebige Verzeichnisse auf den oben festgelegten FTP-Servern ausgewählt werden, in die die Dateien und das Setup kopiert werden sollen. Die Versionsinformation wird nur in die markierten Verzeichnisse kopiert.

HTML-Seiten

Es werden die weiter unten beschrieben HTML-Vorlagen ausgewählt, die vom vom Programm aktualisiert und per FTP in die ausgewählten Verzeichnisse kopiert werden.


Erforderliche Vorlagen

  1. Vorlage für die auf dem Webserver bereitgehaltene Versionsinfo für die automatische Prüfung auf Updates.
  2. Vorlage für die Download-Webseite, die vom Programm automatich aktualisiert wird.

Vorlagen für Versionsinformatione

Dabei handelt es sich um zwei kleine Textdateien. Die erste enthält die Versionsinfo, die zweite den Downloadort.

Version:

1. Zeile: <Platzhalter für Version>

Download:

1. Zeile: <URL-Pfad für Download>
2. Zeile: <Platzhalter für Setup-Datei>

Fest vorgegeben wird nur die Zeile mit dem Downloadpfad, die anderen Zeilen werden vom Programm eingefügt.
 
Beispiel:
pb-setup-5.ver

5.1.0.4

pb-setup-5.loc

http://personal-backup.rathlev-home.de/download/
pb-setup-5.1.0004.exe
 

Vorlage für die Download-Webseite

Es handelt sich dabei um eine gewöhnliche HTML-Seite mit einigen speziellen Erweiterungen und Platzhaltern. Diese werden benötigt, damit das Programm VersionCopy an den gewünschten Stellen die aktuellen Informationen einsetzen kann.
Formateinstellungen:
format-date   = <mode>   0 - internationales Datumsformat
1 - deutsches Datumsformat
2 - englisches Datumsformat
decimal-sep   = <char>   Standardmäßig wird als Dezimaltrenner für die Größenangabe (s.u.) der Punkt
verwendet. Mit <char> = , wird das auf das Komma umgestellt.
Platzhalter:
Ein Platzhalter hat die Form [%<pf>-<name>] und kann an beliebiger Stelle im HTML-Text eingefügt werden. Er wird durch den Wert ersetzt, der ihm im Header zugewiesen ist.

pf   Projekt-Präfix (2 Buchstaben, in Versioncopy einstellbar)
name = version
= date
= setup
= size
= md5
Versionsnummer (z.B. 5.1.3)
Datum der zur Bereitstellung (z.B. 12.10.2010)
Name der Download-Datei (z.B. program-5.1.3.exe)
Größe der Download-Datei (z.B. 4,71 MB)
MD5-Wert der Download-Datei (z.B. 4981dd3...)
Header:

Der HTML-Datei wird ein Header vorangestellt, der die Informationen für alle Platzhalter enthält:

<!-- #var
<pf>-<name> = <wert>
...
-->

VersionCopy passt die Werte im Header, die zu dem Projekt-Präfix passen, automatisch an und ersetzt anschließend die Platzhalter im Text durch die aktuellen Werte.

Beispiel:

Berechnung von Signaturen

Zum Überprüfen von Downloads werden auf vielen Webseiten Prüfsignaturen für die Download-Dateien bereitgestellt. Die am meisten verwendeten Methoden sind MD5 (Message-Digest Algorithm 5) und SHA1 (Secure Hash Algorithm).

Mit dem hier bereit gestellten Programm können diese Signaturen für einzelne oder mehrere heruntergeladene Dateien oder auch für ganze Verzeichnisbäume zur Überprüfung auf dem lokalen PC berechnet werden. Nach der Installation kann das Programm außerdem über das Kontextmenü für Dateien direkt zur Berechnung der Signatur der angeklickten Datei aufgerufen werden (siehe unteres Bild). Das Ergebnis kann als Datei gespeichert oder in die Zwischenablage übertragen werden.
Zur Beschleunigung der Berechnung werden alle verfügbaren Prozessorkerne parallel eingesetzt.

Befehlszeilenoptionen

ohne
Das Programm startet mit seinem normalen Desktop-Fenster.
[Dateiname]
Das Fenster zum Berechnen der Signaturen für diese Datei wird mit den im Programm eingestellten Optionen geöffnet.
/md5
Die Berechnung der MD5-Signatur wird eingeschaltet.
/sha1
Die Berechnung der SHA1-Signatur wird eingeschaltet.
/out
Die Ausgabe in eine Textdatei wird eingeschaltet.
/force
Die Berechnung wird nach dem Start des Programms sofort gestartet.

Hinweis: Alle Steueroptionen können abgekürzt werden: z.B. ist /force = /f = /for

Download:

Version 2.6 v. 16.8.2015


Hilfsprogramme für die Bearbeitung von Delphi-Ressourcen

GlyphViewer

Zur Beschriftung der Buttons und Menüs in Delphi benötigt man kleine Symbolbildchen (Glyphs) in einer Größe von meisten 16x16. Einige werden mit Delphi zusammen ausgeliefert, andere findet man im Internet. Es ist aber auch nicht schwer sich selbst solche Bildchen neu zu erstellen oder aus vorhanden abzuleiten. Mit der Zeit wird die Sammlung immer größer und unübersichtlicher.
Das Programm GlyphViewer hilft, hier die Übersicht zu behalten. Es stellt alle Bilder innerhalb eines Verzeichnisses als Buttons dar. Man kann dabei die Effekte (Disabled oder gedrückt) prüfen und das benötigte Bild über die Zwischenablage in die Delphi-Entwicklungsumgebung kopieren.