Delphi-Quellcode:
type
TVersionFileHeader =
Signatur: array[1..4] of AnsiChar;
Version: Word;
end;
TFileHeaderXyzV1 =
Version: TVersionFileHeader;
A: Byte;
B: Word;
... weitere Felder für V1
end;
TFileHeaderXyzV2 =
Version: TVersionFileHeader;
C: LongWord;
D: Word;
... weitere Felder für V2
end;
Wenn die Header möglichst jeweils gleich groß sind, dann könnte man auch ... (mir fällt grade der Name nicht ein)
Delphi-Quellcode:
type
TMyFileHeader =
Signatur: array[1..4] of AnsiChar;
Version: Word;
case Integer of
0: (A: Byte;
B: Word;
... weitere Felder für V1);
2: (C: LongWord;
D: Word;
... weitere Felder für V2);
end;
Alternativ könnte man sich auch einen Header ala TReader/TWriter aufbauen, welcher deinen Aufbau gleich mitbringt (quasi wie eine binäre
XML).