![]() |
Dateien packen in Multivolumes
Hallo,
ich habe ein "kleines" Problem das ich nun schon seit einiger Zeit nicht gelöst bekomme. Und glaubt mir, man ist abends frustriert wenn man den ganzen sucht und nichts findet. Deswegen frage ich euch mal. Und zwar möchte ich ein Programm schreiben welches ich eben falls auf Unix laufen lassen möchte. Ich habe schon öfters ein Programm für beide entwickelt. Ich schreibe mit dann alles was auch rüber muss in eigene Units, mit {$IFDEF Unix} usw., und kann es dann mit Delphi (die IDE ist einfach schöner) entwickeln. Dann Wechsel ich zu CodeTyphon (FreePascal) und muss nur noch Main neu schreiben. Das hat bisher immer super geklappt. Sind oft CLI-Programme. Nun bin ich aber einem Punkt wo ich dran am verzweifeln bin. Ich möchte x Dateien packen (das wäre ja nicht schwer), aber in das Ziel solle nicht eine große gepackte Datei sein, sondern mehrere kleine. Bei Delphi habe ich mich für TZipMaster192 entschieden. Dort gibt es ein OnGetNextDisk wo ich wohl merke das er ein neues Volume/Datei anfängt. So, nach der riesen Einleitung mal zu meiner Frage: Gibt es etwas was sowohl auf FreePascal und Delphi läuft womit ich das machen könnte? Es muss nicht Zip sein, das habe ich nur als Beispiel genommen. Wichtig wäre halt das ich erstens mit bekomme wann er einen Teil fertig hat und das die Sachen z.b. und Windows packen kann und mit Unix wieder entpacken kann. Und andersrum. |
AW: Dateien packen in Multivolumes
Schau dir die mal an. Da ist bestimmt etwas Passendes dabei. Wir benutzen z.B. ZIPForge und Compression Library schon länger völlig ohne Probleme. Und es ist auch noch günstig - kein Abo.
![]() |
AW: Dateien packen in Multivolumes
Leider steht nichts von Lazarus/FreePascal. Nur alle Delphi Versionen.
Meinst du man bekomme die Units auf FreePascal übersetzt? |
AW: Dateien packen in Multivolumes
Boah, keine Ahnung. Kannst ja mal eine Mail an den Support schreiben; vielleicht können die was dazu sagen.
|
AW: Dateien packen in Multivolumes
Das halt mein Problem. Du glaubst gar nicht wie lange ich schon suche. Das ist sehr sehr Frustrierend wenn man abends merkt man hat im Grunde nichts erreicht. Für Delphi habe ich einige freie Sachen gefunden. Aber das war es auch schon. Mit MultiVolumes habe die fast alle nix am Hut.
|
AW: Dateien packen in Multivolumes
Laut Readme gibt es das für
Zitat:
Zitat:
Zitat:
|
AW: Dateien packen in Multivolumes
Zitat:
|
AW: Dateien packen in Multivolumes
7zip? Oder besser gesagt die LZMA SDK, die gibt es als source, kann man sich selber übersetzen und sich libs erzeugen. Muss man allerdings bisschen in C rumwurschteln. Irgendwo hatte das mal jemand gemacht und ein Delphi Schnittstelle gebastelt.
|
AW: Dateien packen in Multivolumes
Naja, sowas wird wohl auch kaum noch jemand entwickeln. Früher musste man die Dateien stückeln, weil auf die Floppys eben nicht so viel drauf passte. Heute wird fast alles im Web gespeichert, wo der Speicherplatz quasi grenzenlos ist.
|
AW: Dateien packen in Multivolumes
Zitat:
|
AW: Dateien packen in Multivolumes
7-Zip ist nun teilweise im Windows/Explorer integriert ... vielleicht kann man das via API ansprechen.
Ich hatte mal versucht sowas wie 7-Zip und Git als *.OBJ zu kompilieren (später vielleicht auch noch .O für Win64 oder Android), damit es in eine PAS gekackt werden kann (siehe LZW, RegEx, PNG oder JPeg, im Delphi), aber war leider erstmal gescheitert. |
AW: Dateien packen in Multivolumes
Achso,
hatte ich im eingangs Post vergessen. Das muss nix sein was mit irgendwas Kompatible ist. Das kann ein total anderes Format sein. Wichtig ist halt nur das man es auf beiden Systemen übersetzen kann und man den Wechsel auf ein neues Volume mit bekommt. |
AW: Dateien packen in Multivolumes
Da Du ja etwas für Delphi hast fehlt nur noch etwas für FreePascal und da kann ich Dir
![]() Das kann alles was andere Archiv-Programme auch können, Quelltext liegt für FreePascal/Lazarus vor. Meine generelle Empfehlung wäre von CodeTyphoon weg und rüber nach Lazarus. Per IfDefs kannst Du ja dann deine verschiedenen Zweige (Delphi/Lazarus) gehen.
Delphi-Quellcode:
Viel spaß!
{$IF Defined(DCC) or Defined(VER210) or Defined(VER200) or Defined(VER190) or Defined(VER185) or Defined(VER180) or Defined(VER170) or Defined(VER160) or Defined(VER150) or Defined(VER140) or Defined(VER130) or Defined(VER120) or Defined(VER100) or Defined(VER90) or Defined(VER80)}
{$DEFINE Delphi} { Delphi } {$IFEND} {$IF Defined(DELPHI) and Declared(CompilerVersion) and (CompilerVersion >= 25)} {$LEGACYIFEND ON} {$IFEND} {$IF Defined(FPC)} {$DEFINE Lazarus} { Lazarus and Free Pascal } {$IFEND} {$IF Defined(DELPHI) and Declared(CompilerVersion) and (CompilerVersion >= 23)} {$DEFINE NameSpace} { Delphis NameSpace feature (eg Winapi.Windows instead of Windows) } {$IFEND} {$IF Defined(DELPHI) and Declared(CompilerVersion) and (CompilerVersion >= 20)} {$DEFINE UniCode} { Delphis UniCode support } {$IFEND} {$IF Defined(WIN32) or Defined(WIN64) or Defined(MSWindows)} {$DEFINE Windows} { We are on Windows } {$IFEND Windows} {$IF Defined(FPC) and Declared(FPC_VERSION) and (FPC_VERSION >= 3)} {$DEFINE UniCode} { FreePascal UniCode support } {$IFEND} |
AW: Dateien packen in Multivolumes
Hi,
ich danke dir. Ich werde mir das gleich mal ansehen. [Rückmeldung] Danke, sowas habe ich gesucht aber echt nicht gefunden. [/Rückmeldung] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:49 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