Dateien zippen
Moderator: Moderatoren
- Werner_Bayern
- Der Entwickler von "Deep Thought"
- Beiträge: 2126
- Registriert: Sa, 30. Jan 2010 22:58
- Wohnort: Niederbayern
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 75 Mal
Dateien zippen
Servus,
wenn ich Dateien zippen und entzippen möchte, was ist aktuell die einfachste Lösung? Werde hier im Forum nicht wirklich fündig.
Grundfunktionen würden reichen: 1 oder mehrere Dateien zu einem Zip-Archiv hinzufügen, ein Archiv entzippen, Passwortschutz.
Danke!
wenn ich Dateien zippen und entzippen möchte, was ist aktuell die einfachste Lösung? Werde hier im Forum nicht wirklich fündig.
Grundfunktionen würden reichen: 1 oder mehrere Dateien zu einem Zip-Archiv hinzufügen, ein Archiv entzippen, Passwortschutz.
Danke!
es grüßt
Werner
<when the music is over, turn off the lights!>
Werner
<when the music is over, turn off the lights!>
- Wolfgang Ciriack
- Der Entwickler von "Deep Thought"
- Beiträge: 2936
- Registriert: Sa, 24. Sep 2005 9:37
- Wohnort: Berlin
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: Dateien zippen
Ich kann heute abend oder morgen die XbZlib.dll incl. Sourcen zukommen lassen. Ist aus dem Forum (weiss gerade nicht von wem), damit kannst du das sehr einfach realisieren.
Viele Grüße
Wolfgang
Wolfgang
- Werner_Bayern
- Der Entwickler von "Deep Thought"
- Beiträge: 2126
- Registriert: Sa, 30. Jan 2010 22:58
- Wohnort: Niederbayern
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 75 Mal
Re: Dateien zippen
Servus Wolfgang,
das ist von Phil, damit bin ich nicht klar gekommen, das XPJ ließ sich nicht kompilieren und eine Beschreibung dazu hab ich auch nicht gefunden.
Danke im Voraus, werde es mir dann nochmal genauer anschauen, sobald Du es mir geschickt hast.
das ist von Phil, damit bin ich nicht klar gekommen, das XPJ ließ sich nicht kompilieren und eine Beschreibung dazu hab ich auch nicht gefunden.
Danke im Voraus, werde es mir dann nochmal genauer anschauen, sobald Du es mir geschickt hast.
es grüßt
Werner
<when the music is over, turn off the lights!>
Werner
<when the music is over, turn off the lights!>
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Dateien zippen
per Programm nutze ich auch XppZIP, ich plane das in ein PRG zum Einbinden per PRG umzustellen, dauert aber noch etwas ...
ansonsten nutze ich 7z und ich meine GEORG hätte von einer Klasse berichtet, dass dies über runshell aufruft.
ansonsten nutze ich 7z und ich meine GEORG hätte von einer Klasse berichtet, dass dies über runshell aufruft.
Gruß
Hubert
Hubert
-
- 1000 working lines a day
- Beiträge: 525
- Registriert: Mi, 01. Feb 2006 16:22
- Wohnort: 06618 Naumburg
Re: Dateien zippen
Die XbZlib.dll funktioniert einwandfrei.
Ich nutze es seit Jahren um in meinen Programmen auf eine simple Art von den Import und Export von Daten zu realisieren. Ich vergebe statt .zip dann nur noch eine eigene Endung um Manipulationen der Datei nicht zu einfach zu machen.
Ich nutze es seit Jahren um in meinen Programmen auf eine simple Art von den Import und Export von Daten zu realisieren. Ich vergebe statt .zip dann nur noch eine eigene Endung um Manipulationen der Datei nicht zu einfach zu machen.
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2825
- Registriert: Fr, 08. Feb 2008 21:29
- Hat sich bedankt: 96 Mal
- Danksagung erhalten: 13 Mal
Re: Dateien zippen
Hallo,
nein, ich habe bisher lediglich ein Frontend für WinRAR gebaut,das die Parametrisierung erleichtert.
Die Frage ist immer, was man genau machen will.
Der Aufruf von einer on-the-fly erzeugten Batch-Datei ist zwar nicht "state of the art", aber damit kann man viel erledigen.
Wenn Du uns etwas genauer erzählst, was Du machen willst, lässt sich auch eine Lösung finden.
Leider rückt der FTP-Server von Alaska die XbzLib derzeit nicht raus (kann aber auch an unserem Firmen-Proxy liegen), sonst würde ich mal nachsehen, wo das Compile-Problem liegt. Ich habe hier vor mehr als einem Jahrzehnt eine Anwendung realisiert, die Daten aus einem Host-System zieht, ein Archiv erstellt und das für den Versand per Email bereitstellt. Ich denke, die Anwendung läuft immer noch.
nein, ich habe bisher lediglich ein Frontend für WinRAR gebaut,das die Parametrisierung erleichtert.
Die Frage ist immer, was man genau machen will.
Der Aufruf von einer on-the-fly erzeugten Batch-Datei ist zwar nicht "state of the art", aber damit kann man viel erledigen.
Wenn Du uns etwas genauer erzählst, was Du machen willst, lässt sich auch eine Lösung finden.
Leider rückt der FTP-Server von Alaska die XbzLib derzeit nicht raus (kann aber auch an unserem Firmen-Proxy liegen), sonst würde ich mal nachsehen, wo das Compile-Problem liegt. Ich habe hier vor mehr als einem Jahrzehnt eine Anwendung realisiert, die Daten aus einem Host-System zieht, ein Archiv erstellt und das für den Versand per Email bereitstellt. Ich denke, die Anwendung läuft immer noch.
Liebe Grüsse aus der Eifel,
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Dateien zippen
Phils Datei ist kein Problem, in den LINKS findet man einen funktionierenden, notfalls kann ich meine Anpassung hochladen.
Die Umsetzung ist etwas unglücklich, da man zuerst die LIB / DLL selbst erzeugen muss (Xbase++ Teil), dann diese LIB, DLL + die eigentliche DLL ins eigene Verzeichnis.
Und das für jede Xbase++ Hauptversion, daher wollte ich das in eine PRG packen ... bin aber noch nicht dazu gekommen.
Ich habe hier XbZLib_2.0.146.HB.ZIP und eine XbZLib22.zip eventuell wurden auch schon neuere freigegeben ?
http://www.idep.nl/ => 1.4 von 2006 bei Alaska liegt Version 1.1 von 2004
In der Alaska Newsgroup hatte Andreas Gehrs-Pahl neuere Versionen (2007) zur Verfügung gestellt, die HILFE IST ALLERDINGS VERALTET !
Einige Funktionen heißen nun anders. Man muss also im Quellcode stöbern
Die Umsetzung ist etwas unglücklich, da man zuerst die LIB / DLL selbst erzeugen muss (Xbase++ Teil), dann diese LIB, DLL + die eigentliche DLL ins eigene Verzeichnis.
Und das für jede Xbase++ Hauptversion, daher wollte ich das in eine PRG packen ... bin aber noch nicht dazu gekommen.
Ich habe hier XbZLib_2.0.146.HB.ZIP und eine XbZLib22.zip eventuell wurden auch schon neuere freigegeben ?
http://www.idep.nl/ => 1.4 von 2006 bei Alaska liegt Version 1.1 von 2004
In der Alaska Newsgroup hatte Andreas Gehrs-Pahl neuere Versionen (2007) zur Verfügung gestellt, die HILFE IST ALLERDINGS VERALTET !
Einige Funktionen heißen nun anders. Man muss also im Quellcode stöbern
Gruß
Hubert
Hubert
- Herbert
- Der Entwickler von "Deep Thought"
- Beiträge: 1991
- Registriert: Do, 14. Aug 2008 0:22
- Wohnort: Gmunden am Traunsee, Österreich
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: Dateien zippen
Meine XbZLin ist datiert vom 3.10.10
Ich bin mir nicht sicher, ob für das .zip ein Passwortschlüssel funktioniert, sonst absolut problemlos.
Ich bin mir nicht sicher, ob für das .zip ein Passwortschlüssel funktioniert, sonst absolut problemlos.
Grüsse Herbert
Immer in Bewegung...
Immer in Bewegung...
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9367
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: Dateien zippen
Benutze schon seit Jahren ADDZIP, auch mit Passwortschutz und als DLL, funzt nach wie vor problemlos.
Herzlich,
Tom
Tom
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Dateien zippen
hast du dazu einen LINK ?Tom hat geschrieben: ADDZIP, auch mit Passwortschutz und als DLL, funzt nach wie vor problemlos.
Bei der google Suche nach ADDZIP bringt er tausende Seiten mit "ADD ... ZIP"
Gruß
Hubert
Hubert
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9367
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: Dateien zippen
Hallo, Hubert.
Die Libraries hei/ießen "AZIP32.DLL" und "AUNZIP32.DLL", Verfasser war ein gewisser Stephen Darlington. Ich habe das vor zehn oder zwölf Jahren gekauft, aber das ist inzwischen offenbar nicht mehr möglich. Allerdings nutze ich das auch nur in einem Datensicherungssystem.
Die Libraries hei/ießen "AZIP32.DLL" und "AUNZIP32.DLL", Verfasser war ein gewisser Stephen Darlington. Ich habe das vor zehn oder zwölf Jahren gekauft, aber das ist inzwischen offenbar nicht mehr möglich. Allerdings nutze ich das auch nur in einem Datensicherungssystem.
Herzlich,
Tom
Tom
- AUGE_OHR
- Marvin
- Beiträge: 12909
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Dateien zippen
XbZLib kann KEIN Passwort genau so wenig wie das Windows ZIP ( CopyHere )Herbert hat geschrieben:Ich bin mir nicht sicher, ob für das .zip ein Passwortschlüssel funktioniert, sonst absolut problemlos.
gruss by OHR
Jimmy
Jimmy
- Koverhage
- Der Entwickler von "Deep Thought"
- Beiträge: 2470
- Registriert: Fr, 23. Dez 2005 8:00
- Wohnort: Aalen
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
- AUGE_OHR
- Marvin
- Beiträge: 12909
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Dateien zippen
Andreas Gehrs-Pahl
6. September 2013
public.xbase++.generic
Re: Password protected zip file
6. September 2013
public.xbase++.generic
Re: Password protected zip file
>Is it possible to use XbZLib to generate a password protected zip file?
If you want PkWare (or WinZip) compatible zip files with encrypted contents,
than the answer is: Not at this time. But because you have the source code,
you can add your own -- compatible or proprietary -- encryption yourself.
If you need to create zip files that can be opened and decrypted by other
programs, you should probably use a different add on product (at this time.)
I still hope to (some day) add this feature to XbZLib, though.
gruss by OHR
Jimmy
Jimmy
- AUGE_OHR
- Marvin
- Beiträge: 12909
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Dateien zippen
welche DLL Version Nummer hast du ?Tom hat geschrieben:Benutze schon seit Jahren ADDZIP, auch mit Passwortschutz und als DLL, funzt nach wie vor problemlos.
gruss by OHR
Jimmy
Jimmy
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9367
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: Dateien zippen
Hallo, Jimmy.
Version 0.7.2.
Die Company hieß "littleBIGware". Gibt's nicht mehr.
Version 0.7.2.
Die Company hieß "littleBIGware". Gibt's nicht mehr.
Herzlich,
Tom
Tom
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Dateien zippen
Wer verschlüsselte ZIP Dateien will, muss sich entscheiden zwischen sicher und kompatibel.
Kompatibel taugt nicht viel, 7z kann richtige AES Verschlüsselung auch bei ZIP, aber vermutlich kann NUR 7z das wieder lesen.
Dann kann man auch gleich das kleinere Dateiformat 7z nutzen.
Kompatibel taugt nicht viel, 7z kann richtige AES Verschlüsselung auch bei ZIP, aber vermutlich kann NUR 7z das wieder lesen.
Dann kann man auch gleich das kleinere Dateiformat 7z nutzen.
Gruß
Hubert
Hubert
- Werner_Bayern
- Der Entwickler von "Deep Thought"
- Beiträge: 2126
- Registriert: Sa, 30. Jan 2010 22:58
- Wohnort: Niederbayern
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 75 Mal
Re: Dateien zippen
Ganz einfach, wie eingangs geschrieben, 1 oder mehr Dateien zippen und ein Archiv wieder komplett entzippen. PW-Schutz sekundär, wenn ich das hier alles lese. Die Funktionen, die Windows bereitstellt, würden schon reichen.georg hat geschrieben:Wenn Du uns etwas genauer erzählst, was Du machen willst, lässt sich auch eine Lösung finden.
es grüßt
Werner
<when the music is over, turn off the lights!>
Werner
<when the music is over, turn off the lights!>
- AUGE_OHR
- Marvin
- Beiträge: 12909
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Dateien zippen
in der Wissensbasis http://www.xbaseforum.de/viewtopic.php?f=16&t=5306Werner_Bayern hat geschrieben:Die Funktionen, die Windows bereitstellt, würden schon reichen.
gruss by OHR
Jimmy
Jimmy
- Werner_Bayern
- Der Entwickler von "Deep Thought"
- Beiträge: 2126
- Registriert: Sa, 30. Jan 2010 22:58
- Wohnort: Niederbayern
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 75 Mal
Re: Dateien zippen
Hatte ich gesehen, ist für mich ziemlich undurchsichtig, sorry. Magst ein Beispiel reinstellen, wo z. B. 3 Dateien in ein Archiv gezipped werden?AUGE_OHR hat geschrieben:in der Wissensbasis http://www.xbaseforum.de/viewtopic.php?f=16&t=5306
es grüßt
Werner
<when the music is over, turn off the lights!>
Werner
<when the music is over, turn off the lights!>
- AUGE_OHR
- Marvin
- Beiträge: 12909
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Dateien zippen
CopyHere() ist eine Folder- und keine File-Funktion.Werner_Bayern hat geschrieben:Hatte ich gesehen, ist für mich ziemlich undurchsichtig, sorry.
Magst ein Beispiel reinstellen, wo z. B. 3 Dateien in ein Archiv gezipped werden?
In dem Demo wird der ganze Ordner
Code: Alles auswählen
oNameDest := oShell:NameSpace(cDestFolder)
Code: Alles auswählen
oNameSrc:CopyHere(oNameDest:items(), 0x10)
also jedem einzelnen Filenamen mit CopyHere() aufrufen.wenn man nun einzelne Dateien haben will muss man die oNameDest:items():item(i):Name in einer Scheife abarbeiten und "einzeln" die CopyHere API aufrufen
p.s. immer "Full-Path" angeben.
gruss by OHR
Jimmy
Jimmy
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Dateien zippen
ich persönlich halte die XppZlib mit einer Anpassung für die einfachste Lösung:
Beispiel für ZIP entpacken:
ZIP erstellen:
ich habe die Beispiele aus einem Programm heraus geholt, die könnten Kopierfehler enthalten !
Aber wenn man Klassen mag, ist XppZlib leicht anzuwenden.
Die Grundinfos gibt es in der Hilfe, die genaue Syntax kann man im Quellcode nachlesen.
Die Klassendefinition ist in XbZLibCl.prg enthalten.
Im Original ist die Funktion AddDir nicht in der Lage andere Verzeichnisse als das eigene zu verarbeiten,
daher habe ich die Funktion geändert. Was ich sonst noch geändert habe, sollte ein // HB als Kennzeichnung haben, bin mir aber nicht wirklich sicher
... ist schon eine Weile her.
diese ist nötig, wenn man bei AddDir einen Pfad mit angeben möchte.
Beispiel für ZIP entpacken:
Code: Alles auswählen
oZIP := XbZLibZip():New()
if oZIP:open(cZIP_Pfad+cZIP_Name,XBZ_OPEN_TEST) // nur eine intakte Datei importieren
oZIP:Extract(cZielPfad,"*.*",.t.,XBZ_OVERWRITE_ALL)
// Fehler abfragen ?
oZip:Close()
else
// Fehler ZIP beschädigt abfragen ?
endif
Code: Alles auswählen
oZip := XbZLibZipHB():New(cPfad+cZipName)
if oZip:IsOpen(.t.)
// Info ?
cFile := "xyz1.DBF"
if fexists(cPfad+cFile)
nZipError := oZip:AddFile(cFile,cPfad) // eventuell auch eine Schleife bzw. ein Array mit Dateinamen
if nZipError = XBZ_OK
// Info ?
else
IsZipErr := .t.
// Fehlerinfo ?
endif
else
// date(),"-",time()," "+cPfad+cFile+" fehlt" Info ?
endif
aFiles := ... directory oder fixe Vorgabe ?
for i := 1 to len(aFiles)
cFile := cPfad+aFiles[i] // in der ZIP ... eventuelle Unterverzeichnisse an cPfad anhängen ...
... eventuell Existenz prüfen und log schreiben
nZipError := oZip:AddFile(cFile,cPfad)
if nZipError = XBZ_OK
// Info ?
else
IsZipErr := .t.
// Fehler melden ... " Fehler: "+ntrim(nZipError)
endif
next
...
// eventuell ein ganzes Unterverzeichnis !
cPfadFile := "... Verzeichnisname..."
if fexists(cPfad+cPfadFile,"D")
// Maske zur Dateiauswahl ist möglich ... alle *.DB*
nZipError := oZip:AddDir("*.DB*" ,; // Maske
cPfadFile ,; // [<cRootDir>]
,; // [<cAttribs>]
.t. ,; // [<lSubDirs>]
.t. ,; // [<lAddPath>]
.f. ,; // [<lAddNote>]
cPfad ) // --> nQuit
if nZipError = XBZ_DONT_QUIT
// alles OK melden ?
else
IsZipErr := .t.
// Fehler melden ? ... Fehler: "+ntrim(nZipError)
endif
endif
endif
oZip:Close()
Aber wenn man Klassen mag, ist XppZlib leicht anzuwenden.
Die Grundinfos gibt es in der Hilfe, die genaue Syntax kann man im Quellcode nachlesen.
Die Klassendefinition ist in XbZLibCl.prg enthalten.
Im Original ist die Funktion AddDir nicht in der Lage andere Verzeichnisse als das eigene zu verarbeiten,
daher habe ich die Funktion geändert. Was ich sonst noch geändert habe, sollte ein // HB als Kennzeichnung haben, bin mir aber nicht wirklich sicher
... ist schon eine Weile her.
Code: Alles auswählen
Class XbZLibZipHB from XbZLibZip
EXPORTED:
Method AddDir // Replace original !
EndClass
// OLD cRootdir -> cRootDir\Files ... ZIP is only OK, if the call is from curdir()
// NEW cRootdir -> cRootDirZIP -> ::addFile(cRootDirZIP+filename)
// NEW cRootDirFiles -> aFiles := directory( cRootDirFiles + cFileSpec )
Method XbZLibZipHB:AddDir(cFileSpec, cRootDirZIP, cAttribs, lSubDirs, lAddPath, lAddNote, cRootDirFiles )
LOCAL cFSpec := iif(cFileSpec == NIL, '*.*', cFileSpec)
LOCAL cAttr := iif(cAttribs == NIL, 'AHS', upper(cAttribs))
LOCAL lSubs := iif(lSubDirs == NIL, .f., lSubDirs) .or. 'D' $ cAttr
LOCAL lPath := iif(lAddPath == NIL, .f., lAddPath) .or. lSubs
LOCAL lText := iif(lAddNote == NIL, .f., lAddNote)
LOCAL nQuit := XBZ_DONT_QUIT
LOCAL aFiles
local x, nMax
if ::IsOpen(.t.)
// cRootDirFiles will serve directory()
if empty(cRootDirFiles) // could be "" or NIL -> no info about the files dir ?
if "\" $ ::FileName
cRootDirFiles := cPathGetPath(::FileName) // if possible, think that the ZIP is in the same directory
else
cRootDirFiles := CurDrive() + ':\' + CurDir(CurDrive()) + '\' // or take the current ...
endif
else
cRootDirFiles := strTran(cRootDirFiles,"/","\")
if cRootDirFiles[-1] # '\'
cRootDirFiles += '\'
endif
endif
// cRootDirZIP will define the basedir in ZIP file
if empty(cRootDirZIP) // could be "" or NIL
cRootDirZIP := ""
else
cRootDirZIP := strTran(cRootDirZIP,"/","\")
if cRootDirZIP[-1] # '\'
cRootDirZIP += '\'
endif
x := len(cRootDirFiles)
if upper(left(cRootDirZIP,x)) == upper(cRootDirFiles)
cRootDirZIP := substr(cRootDirZIP,x+1)
endif
endif
if lSubs
if At('D', cAttr) == 0
cAttr += 'D'
endif
aFiles := Directory(cRootDirFiles + cRootDirZIP + '*.*', cAttr)
aFiles := ASort(aFiles, , , {|a, b| upper(a[F_NAME]) < upper(b[F_NAME])})
nMax := len(aFiles)
if ::lDisplay .and. .not. ::IsConsole
::Display('Reading Sub-Directories from "' + cRootDirFiles + '"...')
endif
// first walk through the subdirs, but don't build them, if there are files, they will build the dirs too.
for x := 1 to nMax
if 'D' $ aFiles[x, F_ATTR] .and. .not. (aFiles[x, F_NAME] == '.' .or. aFiles[x, F_NAME] == '..')
// make debugging easy, and don't care about empty dirs !
if ::EventLoop()
nQuit := ::CancelAdd(cRootDirFiles + aFiles[x, F_NAME], .t.)
if nQuit # XBZ_DONT_QUIT
return (nQuit)
endif
endif
nQuit := ::AddDir(cFSpec, cRootDirZIP + aFiles[x, F_NAME], cAttr, lSubs, lPath, lText, cRootDirFiles )
endif
if nQuit == XBZ_QUIT_ALL
return (nQuit)
elseif nQuit == XBZ_QUIT_CURRENT
exit
endif
next
endif
if ::lDisplay .and. .not. ::IsConsole
::Display('Reading Files from Directory "' + cRootDirFiles + '"...')
endif
aFiles := Directory(cRootDirFiles + cRootDirZIP + cFSpec , strTran(cAttr,"D",""))
aFiles := ASort(aFiles, , , {|a, b| upper(a[F_NAME]) < upper(b[F_NAME])})
nMax := len(aFiles)
for x := 1 to nMax
if ::EventLoop()
nQuit := ::CancelAdd(cRootDirFiles + aFiles[x, F_NAME], .t.)
if nQuit # XBZ_DONT_QUIT
return (nQuit)
endif
endif
// cRootDirZIP could be empty, this is needed because of maybe empty dirs.
nQuit := ::AddFile(cRootDirZIP + aFiles[x, F_NAME], cRootDirFiles ,;
iif(lText,cRootDirZip+aFiles[x, F_NAME] ,''), lText )
if nQuit # XBZ_OK
return (XBZ_QUIT_CURRENT)
exit
endif
next
endif
return (nQuit)
- Dateianhänge
-
- XbZLib2.0.146.HB.zip
- Hier stehen die Quellcodes und die Klassendefinition XbZLibCl.prg - hier sieht man nach wenn man Syntax wissen will.
- (2.05 MiB) 186-mal heruntergeladen
-
- XbZlib20_Install_XppW32_1.90.331.zip
- Fertige Dateien für Xbase++ 1.90.331
- (812.99 KiB) 157-mal heruntergeladen
-
- XbZlib20_Install_XppW32_1.90.355.zip
- Fertige Dateien für Xbase++ 1.90.355
- (815.92 KiB) 161-mal heruntergeladen
Gruß
Hubert
Hubert
- Werner_Bayern
- Der Entwickler von "Deep Thought"
- Beiträge: 2126
- Registriert: Sa, 30. Jan 2010 22:58
- Wohnort: Niederbayern
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 75 Mal
Re: Dateien zippen
Danke euch, werde das testen.
es grüßt
Werner
<when the music is over, turn off the lights!>
Werner
<when the music is over, turn off the lights!>
- Werner_Bayern
- Der Entwickler von "Deep Thought"
- Beiträge: 2126
- Registriert: Sa, 30. Jan 2010 22:58
- Wohnort: Niederbayern
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 75 Mal
Re: Dateien zippen
Funktioniert wunderbar, jedoch keine Möglichkeit, ein Passwort zu vergeben. Müsste jedoch möglich sein, da ein mit 7zip erstelltes Zip mit Passwort über die Windows-Standard-Zipfunktion entpackt werden kann, Windows frägt dann nach dem Passwort.
Weiß jemand, wie das mit XBZlib geht?
Weiß jemand, wie das mit XBZlib geht?
es grüßt
Werner
<when the music is over, turn off the lights!>
Werner
<when the music is over, turn off the lights!>
- Martin Altmann
- Foren-Administrator
- Beiträge: 16517
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Re: Dateien zippen
Moin Werner,
indem du es implementierst - die sourcen hast Du ja. Danach bitte auch Andreas Gehrs-Pahl geben, damit er das bei sich einpflegen kann - er kam noch nicht dazu, das zu berücksichtigen.
Viele Grüße,
Martin
indem du es implementierst - die sourcen hast Du ja. Danach bitte auch Andreas Gehrs-Pahl geben, damit er das bei sich einpflegen kann - er kam noch nicht dazu, das zu berücksichtigen.
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.