Moin Any_key,
Du müsstest nur alle Dateien durchgehen, jeweils die Länge wegschreiben, dann den Inhalt.
Zum Auslesen dann die Länge auslesen, und den danach folgenden Inhalt.
Delphi-Quellcode:
var
fsOUT : TFileStream;
fsIN : TFileStream;
i : integer;
sBuf : string;
dwSize : DWORD;
begin
// Schreiben
fsOUT := TFileStream.Create(Gesamtdatei,...);
try
for i := 0 to slFileList.Count-1 do begin
fsIN := TFileStream.Create(slFileList[i],....);
try
fsOUT.Write(fsIN.Size,4);
fsOUT.CopyFrom(fsIN,0);
finally
FreeAndNil(fsIN);
end;
end;
finally
FreeAndNil(fsOUT);
end;
// Lesen
fsIN := TFileStream(GesamtDatei,....);
try
for i := 0 to slFileList.Count-1 do begin
fsIN.Read(dwSize,4);
sBuf := StringOfChar(#00,dwSize);
fsIN.Read(sBuf[1],dwSize);
fsOUT := TFileStream.Create(slFileList[i],...);
try
fsOUT.Write(sBuf[1],dwSize);
finally
FreeAndNil(fsOUT);
end;
end;
finally
FreeAndNil(fsIN);
end;
end;
Das nur als Beispiel.
Ich hoffe es stimmt alles so, denn ich habe es direkt hier reingeschreiben.