===== cpMD5File(sNewFilename:String;) : String; ===== Bis zur Version build 467 wurden Bilddateien mit ihrem originalen Namen sowie dem Datum und der Uhrzeit des Zeitpunkts der Speicherung versehen. Daraus ergab sich ein immer weiter wachsendes Verzeichnis und es konnte vorkommen, dass Bilder doppelt oder gar mehrfach vorhanden waren. MD5 ist ein Verfahren zur Erstellung eindeutiger Prüfsummen für Inhalte von Dateien. Zwei Dateien mit der gleichen Prüfsumme haben immer den exakt gleichen Inhalt. Die Prüfsumme ist immer 32 Zeichen lang und besteht aus den Buchstaben A-F und den Zahlen 0-9. Weiterführende Infos gibt es z.B. bei [[https://de.wikipedia.org/wiki/Message-Digest_Algorithm_5|Wikipedia - MD5]] In dem Cockpit-XP nun diese Prüfsumme als Dateinamen verwendet, nutzt es vorhandene Bilder für neue Inhalte und erzeugt keine weiteren Duplikate. Für diesen Vorgang gibt es eine Funktion in den Massenaktionen. Hat man bestehende Datenbestände und möchte selbst aktiv werden, erlaubt dieser Befehl die Umwandlung innerhalb eines AddOns. ==== Syntax ==== ^ Befehl | cpMD5File(sNewFileName:String;) | ^ Funktion | Erzeugt eine Prüfsumme/Hash einer Datei | ^ Typ | String | ^ ab | **//3.2.4 build 467//** | \\ ==== Codebeispiel ===== var; sFileNameMd5 : String; begin sFileNameMd5 := cpMD5File(C:\LogAddOn.txt) + '.txt' ; cpShowMessage(sFileNameMd5); end. Als Resultat erhält man einen Dateinamen, der einer Prüfsumme nach dem MD5 Verfahren entspricht. Solche Prüfsummen, auch Hash genannt, nutzt man z.B., um bei heruntergeladenen Dateien sicherzustellen, dass man eine unveränderte, dem Originial entsprechende Datei auf den Rechner geladen hat. Das Beispiel oben ist fiktiv. Aber ich habe den Hash-Wert der Datei LogSystem.txt, die bei mir im Cockpit Datenverzeichnis liegt, ermittelt. Der daraus resultierende Dateiname ist __237DC8D1D8583941ABDE2C67E602C72E.txt__ // // Ändere ich innerhalb dieser Textdatei nur ein einzelnes Zeichen, ergibt sich eine auf den ersten Blick vollkommen unterschiedliche Prüfsumme. Wird der Cockpit-Befehl dann erneut ausgeführt, würde die Datei plötzlich so heißen: __F80243DFF7F7F0708B24C6B9DB33BD73.txt__ Ich habe lediglich die Ziffer 1 am Ende eingefügt!!! Wozu ist das gut? Nun, man kann auf diesem Weg z.B. doppelte Dateien finden. Gibt es zwei Dateien, die inhaltlich gleich sich, bekommen sie auch den gleichen Hash-Wert. Prüft man jetzt so Dateien im AddOn-Ordner, z.B. Symbole, könnte man identische Dateien finden, löschen und so den Speicherplatz der Cockpit-Installation verschlanken. **__Wichtig:__** Es muss der gesamte Verzeichnispfad angegeben werden. Das gilt auch, wenn ich die Datei mit der Prüfsumme als neuem Dateinahmen später wieder speichern will. \\ \\ ---- [[cockpit-xp:start|Start]] - [[cockpit-xp:faq|FAQ]] - [[cockpit-xp:glossar|Glossar]] - [[cockpit-xp:sitemap|Sitemap]] - [[cockpit-xp:impressum|Impressum]]