Mein Vorschlag wäre:
Delphi-Quellcode:
Type
TRecordKind=(rkGanzAlt, rkNichtsoAlt, rkNeu, ...);
TMyRecord= Record
Kind: TRecordKind;
case TRecordKind of
rkGanzAlt:
// hier alle Member vom alten typ
rkNichtsoAlt:
// hier alle Member vom alten typ
rkNeu:
// hier alle Member vom alten typ
..:
// hier alle Member vom alten typ
end;
end;
Jetzt kannst Du Dir ein Array von diesen Records erstellen und abhängig vom Dateidatum den RecordKind ermitteln. Diesen schreibst Du mit in den Record und kannst dann überall im Programm wissen, welcher art dieser Record ist und dementsprechend zugreifen.
Zu dem Stream lesen: Erstelle Dir für jeden RecordKind eine Konstante, die die jeweilige Gesaamtlänge beinhaltet, dann kannst Du immer soviele Bytes einlesen.
Manchmal sehen Dinge, die wie Dinge aussehen wollen mehr wie Dinge aus, als Dinge
<Esmerelda Wetterwachs>