Thema: Delphi Records/Typen erkennen

Einzelnen Beitrag anzeigen

Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#7

AW: Records/Typen erkennen

  Alt 3. Mai 2012, 14:06
Ich benutze gern magische Zahlen am Dateibeginn, Abschnittsbeginn und Dateiende.
Die Zahlen am Dateibeginn (z.B. mal zufällig $38 $94 $F3 $21 oder so) versichern der Leseroutine, dass es sich tatsächlich um den erwarteten Dateityp (und -version) handelt. Jede neue Version bekommt leicht abgewandelte Zahlen und jeder neue Dateityp sowieso komplett andere.
Die Zahlen am Abschnittsbeginn versichern der Leseroutine, dass der Zeiger im Header auch richtig stand. Zudem kann man dadurch auch einzelne Abschnittstypen besser versionieren. Änderst du z.B. nur eine Recorddefinition, dann brauchst du auch nur eine neue Version dieses Abschnitttyps, und nicht des ganzen Dateityps.
Die Zahlen am Dateiende zeigen an, dass die Datei vollständig ist, und nicht irgendwo abgeschnitten. Zudem könnte man danach/davor noch eine Prüfsumme anbringen (die könnte aber theoretisch auch einfach in den Header...).
  Mit Zitat antworten Zitat