(Moderator)
Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
Delphi 2007 Enterprise
|
Re: alte Datenbankdatei einlesen und weiterverarbeiten
19. Nov 2006, 08:56
Wir raten: Das, was wir sehen, sind die Spaltenüberschriften.
- Vorne stehen 4 Nullen und 10003#0.
- Kundenname mit Extratext endet mit einem Leerzeichen, Straßenname mit Nummer auch, aber die PLZ mit drei Leerzeichen.
- Jede 'Spaltenüberschrift' wird mit einem #0 abgeschlossen und auf eine gerade Anzahl von Bytes aufgefüllt.
Hansa könnte durchaus Recht haben. Und der Rest von den ersten 256 Bytes ist einfach irgendwelcher Müll...
Du solltest Dir die nächsten Records anschauen, denn der erste endet ähnlich, wie der zweite angefangen hat. (10003___Kun vs. 10005___MAZ)
Ich gehe mal davon aus, das Du in den nächsten Records eine ähnliche Struktur feststellen wirst. Wenn die 'Records' variabel sind, dann liegt das an den Strings mit variabler Länge.
Der BTree-Filer hat z.B. per definitionem in den ersten 4 Bytes eines Records (gabs auch mit variabler Länge) eine 00 00 00 00, wenn der Record gültig war und etwas Anderes, wenn der Record gelöscht wurde (repack musste man manuell durchführen).
Letztendlich ist das Spiel 'zeig mir eine Datei und ich sag Dir was drin ist' mur mit Versuch und Irrtum zu lösen. Und viel Nachzählerei.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
|