Zitat von
SirThornberry:
das einfachste ist du schreibst alle deine Skindateien hintereinander in die Datei und speicherst eben die Positionen in eine die Ini (oder sogar mit in diese Datei)
Folgendes ist ungetestet sollte aber funktionieren.
Delphi-Quellcode:
var
lFile : TMemoryStream;
lBigFile : TFileStream;
lCount : Integer;
begin
lFile := TMemoryStream.Create();
lBigFile := TFileStream.Ceate(Filename, fmCreate);
for lCount := 0 to DateiListe.Count - 1 do
begin
lFile.LoadFromFile(DateiListe.Strings[lCount];
Ini.WriteString('Files', 'File' + IntToStr(lCount), DateiListe.Strings[lCount]);
Ini.WriteInteger('Files', 'FilePos' + IntToStr(lCount), lBigFile.Position);
Ini.WriteInteger('Files', 'FileSize' + IntToStr(lCount), lFile.Size);
lFile.Position := 0;
lBigFile.CopyFrom(lFile, lFile.Size);
end;
lBigFile.Free;
lFile.Free;
end;
Mit Streams habe ich noch nichts gemacht. Kannst du mir die vorgehensweise hier noch etwas deutlicher erklären ?
Soll ich eine eigene Application schreiben, womit man alle im sagen wir mal einem best.Ordner befindlichen Dateien in eine zusammenfasst sowie eine ini erstellen lassen, die die Positionen angibt ? Dann im Hauptprogramm die ini auslesen und anhand der Positionen die eigendlichen Dateien innerhalb der erstellten BigDatei finden ??
...und ich dachte, Delphi ist ein Programmgenerator mit nur einem Button......tzzz