hallo union
hier erstmal die funktion StringStrSpeichn
Delphi-Quellcode:
procedure TClDateiTransfer.StringStrSpeichn(ZeichenFolge: String;
ZielStr: TStream);
var i: Integer;
begin
i := Length(ZeichenFolge);
ZielStr.Write(i, sizeof(i));
ZielStr.Write(ZeichenFolge[1], i);
end;
in der Stringlist stehen 1-x Vollständige Dateinamen (kompletter Pfad + Dateiname + ext)
in den stream wird dann je item in der stringlist folgendes geschrieben:
Dateigrösse / Dateiname+ext (Bsp. KU_Mapos.Dat) / die eigentliche Datei
dein vorschlag hört sich sehr gut an.
was gehört hier hin
Delphi-Quellcode:
try
aDateiGr:= aDateiGr+aFs.Size+length(aObjList.Strings[i])+1;
//warum +1 ???
//imho aDateiGr:=sizeof(aDateiGr)+???+aFs.Size
//Speicher für Int64 + Speicher für String (Dateiname+ext)+ Speicher für Datei binär
finally
aFs.Free;
end;
oder