Das nächste Entwicklertreffen findet Anfang Mai in Münster statt - weitere Infos bzw. zur Anmeldung!

addzip Packen mit recurse subdirectories

Moderator: Moderatoren

Antworten
Benutzeravatar
Schubi
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 126
Registriert: Mi, 05. Okt 2005 15:10
Wohnort: Wiesloch

addzip Packen mit recurse subdirectories

Beitrag von Schubi » Fr, 15. Sep 2006 16:13

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?
:roll:
Grüße Steffen

Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 7356
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Kontaktdaten:

Beitrag von Tom » Fr, 15. Sep 2006 16:32

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:

Code: Alles auswählen

DLLFUNCTION addZIP_SaveStructure (nRecVal) USING CDECL FROM azip32.dll

addZIP_SaveStructure(0)
Herzlich,
Tom

Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 14597
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Kontaktdaten:

Beitrag von Martin Altmann » Fr, 15. Sep 2006 17:38

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
:grommit:
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
stellv. Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.

Benutzeravatar
Schubi
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 126
Registriert: Mi, 05. Okt 2005 15:10
Wohnort: Wiesloch

Beitrag von Schubi » Sa, 16. Sep 2006 9:49

Martin Altmann hat geschrieben:Hallo Steffen,
warum so umständlich?
Hallo Martin,
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

Benutzeravatar
Schubi
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 126
Registriert: Mi, 05. Okt 2005 15:10
Wohnort: Wiesloch

Beitrag von Schubi » Sa, 16. Sep 2006 9:52

Tom hat geschrieben:Allerdings binde ich ein wenig anders ein - vor allem über C-Konventionen, nicht per Standard-Call:
Hallo Tom,
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

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 11547
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: addzip Packen mit recurse subdirectories

Beitrag von AUGE_OHR » Sa, 16. Sep 2006 12:36

hi,

arbeitest du mit BDZIP ?
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?
:roll:
bin mir jetzt nicht sicher, aber ...

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)
gruss by OHR
Jimmy

Benutzeravatar
Schubi
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 126
Registriert: Mi, 05. Okt 2005 15:10
Wohnort: Wiesloch

Beitrag von Schubi » So, 17. Sep 2006 9:48

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 ...
Grüße Steffen

Antworten