addzip Packen mit recurse subdirectories
Moderator: Moderatoren
- Schubi
- Rekursionen-Architekt
- Beiträge: 139
- Registriert: Mi, 05. Okt 2005 15:10
- Wohnort: Wiesloch
- Hat sich bedankt: 5 Mal
addzip Packen mit recurse subdirectories
Hallo Tom oder ein anderer, der schon mal addZip verwendet hat,
ich kämpfe zur Zeit mit dem Dingens, aber es will absolut nicht so wie ich will:
Ich möchte ein Archiv, in dem alle ausgewählten Dateien eines Ordners und ausgewählten Unterordnern drin sind und die Ordnerstruktur relativ erhalten bleibt.
Ich kann Optionen setzten, wie ich will, entweder speichert er die Dateien als absolute Struktur oder komplett ohne Struktur.
Relativ geht nicht. Folgende Optionen habe ich schon in allen Varianten durch:
DllCall(nDllZip,DLL_STDCALL,"addZIP_IncludeDirectoryEntries",0x01)
DllCall(nDllZip,DLL_STDCALL,"addZIP_IncludeEmptyDirectoryEntries",0x01)
DllCall(nDllZip,DLL_STDCALL,"addZIP_SaveStructure",0x01)
DllCall(nDllZip,DLL_STDCALL,"addZIP_Recurse",0x01)
Entweder spinnt addZip oder ich?
ich kämpfe zur Zeit mit dem Dingens, aber es will absolut nicht so wie ich will:
Ich möchte ein Archiv, in dem alle ausgewählten Dateien eines Ordners und ausgewählten Unterordnern drin sind und die Ordnerstruktur relativ erhalten bleibt.
Ich kann Optionen setzten, wie ich will, entweder speichert er die Dateien als absolute Struktur oder komplett ohne Struktur.
Relativ geht nicht. Folgende Optionen habe ich schon in allen Varianten durch:
DllCall(nDllZip,DLL_STDCALL,"addZIP_IncludeDirectoryEntries",0x01)
DllCall(nDllZip,DLL_STDCALL,"addZIP_IncludeEmptyDirectoryEntries",0x01)
DllCall(nDllZip,DLL_STDCALL,"addZIP_SaveStructure",0x01)
DllCall(nDllZip,DLL_STDCALL,"addZIP_Recurse",0x01)
Entweder spinnt addZip oder ich?
Grüße Steffen
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9394
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 104 Mal
- Danksagung erhalten: 364 Mal
- Kontaktdaten:
Hallo, Schubi.
Ich habe die rekursive Speicherung von Verzeichnissen nie benutzt. Allerdings binde ich ein wenig anders ein - vor allem über C-Konventionen, nicht per Standard-Call:
Ich habe die rekursive Speicherung von Verzeichnissen nie benutzt. Allerdings binde ich ein wenig anders ein - vor allem über C-Konventionen, nicht per Standard-Call:
Code: Alles auswählen
DLLFUNCTION addZIP_SaveStructure (nRecVal) USING CDECL FROM azip32.dll
addZIP_SaveStructure(0)
Herzlich,
Tom
Tom
- Martin Altmann
- Foren-Administrator
- Beiträge: 16555
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 115 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Hallo Steffen,
warum so umständlich?
Kann ich gar nicht verstehen - Andreas Gehrs-Pahl hat sich solch' eine Mühe gemacht, einen sehr guten Wrapper für Zlib zu schreiben!
Nutz' doch XbZLibZip() - geht wunderbar und ist auch umsonst!
Du findest hier im Forum schon diverse Postings dazu - der download ist auf der Seite von Phil Ide zu finden...
Viele Grüße,
Martin
warum so umständlich?
Kann ich gar nicht verstehen - Andreas Gehrs-Pahl hat sich solch' eine Mühe gemacht, einen sehr guten Wrapper für Zlib zu schreiben!
Nutz' doch XbZLibZip() - geht wunderbar und ist auch umsonst!
Du findest hier im Forum schon diverse Postings dazu - der download ist auf der Seite von Phil Ide zu finden...
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
- Schubi
- Rekursionen-Architekt
- Beiträge: 139
- Registriert: Mi, 05. Okt 2005 15:10
- Wohnort: Wiesloch
- Hat sich bedankt: 5 Mal
Hallo Martin,Martin Altmann hat geschrieben:Hallo Steffen,
warum so umständlich?
umständlich ist immer relativ! Der Kunde setzt bereits addZip an anderer Stelle ein. Ausserdem kann meines Wissens nach die XbZlib keine Passwort-Verschlüsselung. Auf jeden Fall ist der Einsatz von addZip aber keinesfalls kompliziert oder umständlich!
Nur macht es leider nicht ganz das, was es soll ...
Grüße Steffen
- Schubi
- Rekursionen-Architekt
- Beiträge: 139
- Registriert: Mi, 05. Okt 2005 15:10
- Wohnort: Wiesloch
- Hat sich bedankt: 5 Mal
Hallo Tom,Tom hat geschrieben:Allerdings binde ich ein wenig anders ein - vor allem über C-Konventionen, nicht per Standard-Call:
danke für den Tip, ich werde es mal ausprobieren.
Ich glaube aber kaum, dass es damit zu tun hat, denn zwischen absoluter Struktur und gar keiner kann ich ja wählen.
Grüße Steffen
- AUGE_OHR
- Marvin
- Beiträge: 12913
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: addzip Packen mit recurse subdirectories
hi,
arbeitest du mit BDZIP ?
1.) ist 0x01 = 1 ? Ich denke das nur 0 oder 1 zulässig sind.
2.) addZIP_Recurse würde ich an den Anfang stellen.
ich würde es mal so probieren :
gruss by OHR
Jimmy
arbeitest du mit BDZIP ?
bin mir jetzt nicht sicher, aber ...Schubi hat geschrieben:Hallo Tom oder ein anderer, der schon mal addZip verwendet hat,
ich kämpfe zur Zeit mit dem Dingens, aber es will absolut nicht so wie ich will:
Ich möchte ein Archiv, in dem alle ausgewählten Dateien eines Ordners und ausgewählten Unterordnern drin sind und die Ordnerstruktur relativ erhalten bleibt.
Ich kann Optionen setzten, wie ich will, entweder speichert er die Dateien als absolute Struktur oder komplett ohne Struktur.
Relativ geht nicht. Folgende Optionen habe ich schon in allen Varianten durch:
DllCall(nDllZip,DLL_STDCALL,"addZIP_IncludeDirectoryEntries",0x01)
DllCall(nDllZip,DLL_STDCALL,"addZIP_IncludeEmptyDirectoryEntries",0x01)
DllCall(nDllZip,DLL_STDCALL,"addZIP_SaveStructure",0x01)
DllCall(nDllZip,DLL_STDCALL,"addZIP_Recurse",0x01)
Entweder spinnt addZip oder ich?
1.) ist 0x01 = 1 ? Ich denke das nur 0 oder 1 zulässig sind.
2.) addZIP_Recurse würde ich an den Anfang stellen.
ich würde es mal so probieren :
Code: Alles auswählen
IF nWindowHandle != NIL
IF VALTYPE(nWindowHandle) == "N"
DllCall(nDllZip,DLL_STDCALL,"addZIP_SetWindowHandle",nWindowHandle)
ELSE
DllCall(nDllZip,DLL_STDCALL,"addZIP_SetWindowHandle",nWindowHandle:getHwnd())
ENDIF
ENDIF
DllCall(nDllZip,DLL_STDCALL,"addZIP_Recurse",1)
DllCall(nDllZip,DLL_STDCALL,"addZIP_SaveStructure",1)
DllCall(nDllZip,DLL_STDCALL,"addZIP_ArchiveName",cArcFile)
DllCall(nDllZip,DLL_STDCALL,"addZIP_Include",cFiles)
DllCall(nDllZip,DLL_STDCALL,"addZIP")
DllUnload(nDllZip)
Jimmy
- Schubi
- Rekursionen-Architekt
- Beiträge: 139
- Registriert: Mi, 05. Okt 2005 15:10
- Wohnort: Wiesloch
- Hat sich bedankt: 5 Mal
Hallo an alle,
danke für Eure Bemühungen.
Inzwischen habe ich selbst rausbekommen, warum es nicht geht:
Ich hatte alle Dateien einzeln in einer Liste. Mit dieser Liste hat er nur absolut oder gar keine Struktur gemacht.
Wenn ich die Dinger vorher in einen Temporärordner schiebe und dann nur *.* zippe, funktioniert es.
Warum auch immer ...
danke für Eure Bemühungen.
Inzwischen habe ich selbst rausbekommen, warum es nicht geht:
Ich hatte alle Dateien einzeln in einer Liste. Mit dieser Liste hat er nur absolut oder gar keine Struktur gemacht.
Wenn ich die Dinger vorher in einen Temporärordner schiebe und dann nur *.* zippe, funktioniert es.
Warum auch immer ...
Grüße Steffen