so, ich hab mir nun was ganz anderes einfallen lassen, was meiner meinung nach auch am einfachsten ist.
ich habe nun 6 verschiedene records, also für jeden Datumsfall ein extra record.
nur jetzt steh ich wieder auf dem schlauch, wie kann ich die denn jetzt zuordnen ?
Delphi-Quellcode:
...
var
Data0:TDaten_0;
Data1:TDaten_1;
Data2:TDaten_2;
Data3:TDaten_3;
Data4:TDaten_4;
Data5:TDaten_5;
...
Format:=0;
CreateDate:=StrToDate(FormatDateTime('dd.mm.yy',GetFileModifyDate(Fread)));
if CreateDate<StrTodate('22.01.04') then Format:=1;
if CreateDate<StrTodate('23.07.03') then Format:=2;
if CreateDate<StrTodate('21.02.02') then Format:=3;
if CreateDate<StrTodate('27.04.01') then Format:=4;
if CreateDate<StrTodate('31.10.00') then Format:=5;
case Format of //format wählen
0: begin
//benutze "Data0" record
DataArray[0]:=Data0;
groesse[0]:=Sizeof(TDaten_0);
end;
1: begin
//benutze "Data1" record
end
else
begin
ShowMessage('Format wird noch nicht unterstützt.');
exit;
end;
end;
fStream:=TMemoryStream.Create;
try
fStream.LoadFromFile(Fread);
fStream.ReadBuffer(DataArray[0],sizeof(groesse[0]));
{fStream.ReadBuffer(DataZ2,SizeOf(DataZ2));
fStream.ReadBuffer(DataZ3,SizeOf(DataZ3));
fStream.ReadBuffer(DataZ4,SizeOf(DataZ4));}
// fStream.ReadBuffer(DataZ5,SizeOf(DataZ5));
finally
fStream.Free;
end;
EditIdVor.Text:=trim(DataArray[0].IdVorr);