![]() |
datein verschmelzen
moin
ich suche ne möglichkeit mit der ich mehrere datein (auf jeden fall mehr als zwei) in eine datei zusammen binden und später wieder auseinander nehmen kann dazu hab ich jetzt das hier gefunden: ![]() aber wenn ich darüber mehrere datein zusammenbinden will geht das nicht mehr |
Re: datein verschmelzen
|
Re: datein verschmelzen
so wie ich die seite jetzt verstanden hab ist das ein programm mit dem man große datein aufsplitten kann und später wieder zusammenfügen...
aber ich suche eine möglichkeit in meinem eigenen programm verschiedene datein zu binden |
Re: datein verschmelzen
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:
Das nur als Beispiel.
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; Ich hoffe es stimmt alles so, denn ich habe es direkt hier reingeschreiben. |
Re: datein verschmelzen
so ganz verstehe ich das noch nicht :?
könntest du das evtl noch ne bissschen genauer erläutern? |
Re: datein verschmelzen
Zitat:
Gerd |
Re: datein verschmelzen
ich will darüber eine art installation laufen lassen
d.h. ich will die datein die verwendet werden direkt in die .exe reinbringen und wenn diese ausgeführt wird hat man direkt die konfig usw dabei |
Re: datein verschmelzen
Dann scau dir mal
![]() |
Re: datein verschmelzen
Moin Any_key,
fsOUT ist immer der FileStream, in den geschrieben wird, fsIN der aus dem gelesen wird. slFileList ist eine StringListe, in der die Pfade der Dateien enthalten sind, die zusammengefasst, bzw. wieder ausgelesen werden. Um die Dateien zu "verschmelzen" öffnest Du jetzt die Zieldatei, und gehst dann, der Reihe nach alle Dateien durch, die Du in einer speichern willst. Als erstes wird die Grösse der Datei gespeichert (fsIN.Size), dann der Inhalt (CopyFrom(fsIN,0)). Durch die 0 bei CopyFrom wird die gesamte Datei kopiert. Beim Lesen wird der Ablauf dann umgekehrt: fsIN ist jetzt die Datei, die alle anderen zusammengefasst enthält, und fsOUT ist für das Speichern der ausgelesenen Dateien auf der Platte zuständig. Hier liest man zuerst die Grösse des folgenden Abschnittes (dwSize), reserviert sich einen Buffer (sBuf), und liest die Datei dann dort ein, und speichert sie anschliessen. |
Re: datein verschmelzen
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz