Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Dateien Vereinen (https://www.delphipraxis.net/105252-dateien-vereinen.html)

kevSTAR 18. Dez 2007 19:33


Dateien Vereinen
 
Hi leute,

wie kann ich mehrere dateien miteinander vereinen und auch wieder trennen? am besten so das es nicht jeder wieder auseinander nehmen kann z.B als Zip oder so mit passwort! wichtig wäre dabei das es ne leicht zu verstehende komponente OHNE Dll ist.

mfG

vlees91 18. Dez 2007 19:46

Re: Dateien Vereinen
 
http://dsdt.info/tipps/?id=133

Sollte ja leicht zu verstehen sein: Also was das teil macht: Zuerst oeffnet es Beide Dateien und kopiert bei der einen alles bis zum Ende. Dann wird in der ersten Datei ein 0-Byte angehanegt. Das Kopierte wird in die erste Datei am Ende eingefuegt und das ganze gespeichert.

Beim Splitten wird wieder alles vor dem 0-Byte in die eine gestopft und das danach in die andere.

Anmerkung: es darf kein 0-byte in einer der Beiden Dateien vorkommen.

Oops: funktioniert doch anders: die Dateigroessen werden noch reingespeichert. So kann man es nach Anzahl bytes rauskopieren beim Splitten.

ErazerZ 18. Dez 2007 19:48

Re: Dateien Vereinen
 
Komponente? Wie wäre es du machst dir eine Struktur die du benutzt, z.b.
diese Struktur schreibst am Anfang der Datei..
Delphi-Quellcode:
type TDatenInfo = packed record
  Signature: DWORD; // deine sig oder sonstiges, damit du weißt das es höhstwahrscheinlich dein Archiv format ist
  FilesCount: Integer; // anzahl der Dateien
end;
Danach schreibst du wie oft du das brauchst hintereinander auf, also wieviele Dateien du Archivieren möchtest..
Delphi-Quellcode:
type TDaten = packed record
  Filename: string[255]; // Dateiname
  Offset: DWORD; // Adresse, von wo die Datei beginnt im Archiv
  Size: DWORD; // Größe der Datei im Archiv
end;
und danach schreibst einfach die Dateien nach der Reihe im Archiv auf...

kevSTAR 18. Dez 2007 20:05

Re: Dateien Vereinen
 
ja wie? brauche genauere infos.. das mit dem Split und Join habe ich versucht das verursacht jedoch fehler bzw. ist nicht das was ich suche

Nuclear-Ping 18. Dez 2007 20:11

Re: Dateien Vereinen
 
Was für Fehler? Vlt 'n "Layer 8" Problem?

kevSTAR 18. Dez 2007 20:16

Re: Dateien Vereinen
 
Also ich habe nen timer wo ich nach und nach dateien immer wieder mit einer ausgangs ini verschmelze.. sodass alle anderen in der ini sind die dateien heissen z.B bla_0.dat bla_1.dat das mache ich halt mit ner schleife

und das split dann andersherum zuerst hole ich die 1 dann die 0.. das geht auch soweit jedoch kriege ich neuerdings nen error... manche entpackt er dann kommt ein fehler und er bricht ab habe ich z.B 5 dateien drin hat er gerade 2,3,4 rausgeholt aber 1 und 5 nicht das ist also zu instabil

gibt es keine andere möglichkeit die dateien sicher aneinander zu hängen?

Nuclear-Ping 18. Dez 2007 20:20

Re: Dateien Vereinen
 
Vlt solltest du den Timer deaktivieren, während er seinen Event ausführt?

taaktaak 18. Dez 2007 20:26

Re: Dateien Vereinen
 
Na, nicht vielleicht, sondern UNBEDINGT den Timer disablen!!!!

kevSTAR 18. Dez 2007 20:29

Re: Dateien Vereinen
 
naja der schlägt aber nur alle 20 sekunden zu :)

taaktaak 18. Dez 2007 20:32

Re: Dateien Vereinen
 
Kommando zurück.... na, dann.... aber aus Prinzip würd' ich's trotzdem tun ... :dance:


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:50 Uhr.
Seite 1 von 4  1 23     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz