Paules-PC-Forum.de Anzeige:

Microsoft Windows Intune: PC-Verwaltung und -Sicherheit in der Cloud: Updateverwaltung, Anti-Virus und vieles mehr!


Zurück   Paules-PC-Forum.de > Programmierung > XProfan > Helfer & Tools

Helfer & Tools Programme für und in XProfan und Fragen dazu.

EM-Tippspiel

Paule bei Facebook


Paule bei Twitter


Letzte Forenthemen
Gehe zum ersten neuen Beitrag Hilfe bei Script Erstellung
Aufrufe: 15, Antworten: 5
Gehe zum ersten neuen Beitrag PPF - Spiel "Wörter weiter...
Aufrufe: 26731, Antworten: 4207
Gehe zum ersten neuen Beitrag Von Live CD Windowspfad...
Aufrufe: 121, Antworten: 15
Gehe zum ersten neuen Beitrag Grand Prix 2012 Eurovision
Aufrufe: 36, Antworten: 4
Gehe zum ersten neuen Beitrag Bundesliga-Tippspiel Saision...
Aufrufe: 7572, Antworten: 179
Gehe zum ersten neuen Beitrag Verlust der Internetverbindung
Aufrufe: 43, Antworten: 2
Gehe zum ersten neuen Beitrag avs4you_com Lizenz oder Abo?
Aufrufe: 34, Antworten: 2
Gehe zum ersten neuen Beitrag Acer Aspire 8745ZG fährt...
Aufrufe: 25, Antworten: 4
Gehe zum ersten neuen Beitrag Dateien lassen sich nicht...
Aufrufe: 34, Antworten: 3
Gehe zum ersten neuen Beitrag Programmvorstellung:...
Aufrufe: 22, Antworten: 1
Zeige:





Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 25.09.2010, 15:24   #31 (Direktlink)
Forenmaskottchen
 
Benutzerbild von ts-soft
 
Registriert seit: 16.05.2010
Ort: Berlin
Beiträge: 724
Standard

Zitat:
Zitat von Jac de Lad Beitrag anzeigen
@ts-soft: Wenn du es hinkriegst, dass man bestimmte Verzeichnisse nicht mit entpacken kann, dann werde ich mit Gamsav auf deine DLL umsteigen
Das hinzubekommen ist wohl eher Deine Aufgabe
Pseudocode:
Code:
j = ZIP_GetFilesCount()
For i = 1 to j
  Name = ZIP_GetFileInfo()
  If Dir in Name
    ZIP_ExtractFile()
  EndIf
Next
Gruß
Thomas
ts-soft ist gerade online   Mit Zitat antworten
Alt 25.09.2010, 15:28   #32 (Direktlink)
Super-Moderator
 
Benutzerbild von Jac de Lad
 
Registriert seit: 06.02.2009
Ort: Coswig
Alter: 27
Beiträge: 1.159
Standard

Damit kann ich auch einzelne Verzeichnisse aus dem Namen löschen?
__________________
XProfan-Profi (XProfan X2+XPIA)
http://jacdelad.bplaced.net
http://jacdelad.square7.ch
Jac de Lad ist offline   Mit Zitat antworten
Alt 25.09.2010, 15:43   #33 (Direktlink)
Forenmaskottchen
 
Benutzerbild von ts-soft
 
Registriert seit: 16.05.2010
Ort: Berlin
Beiträge: 724
Standard

Zitat:
Zitat von Jac de Lad Beitrag anzeigen
Damit kann ich auch einzelne Verzeichnisse aus dem Namen löschen?
Der relative Pfad ist doch im Namen enthalten. Den überprüfst Du, ob das nicht zu entpackende Verzeichnis enthalten ist und lässt es dann beim entpacken aus. ExtractFile entpackt doch nur einzelne Dateien. ExtractArchiv entpackt immer alles, da kann man nichts beeinflussen.

Dateinamen in einem ZipArchiv werden immer mit einem relativen Pfad gespeichert, es gibt dort keine Ordner. Deshalb kann man auch keine leeren Ordner entpacken.

Verzeichnis/bla.bmp
Verzeichnis/weiteresVerzeichnis/blub.bmp
root.bmp

Gruß
Thomas

//edit:
Code:
$I minizip.inc

Declare hMinizip&, sZIP$, iCount&, bFile#, sFile$
Dim bFile#, 260

hMinizip& = UseDLL("minizip.dll")

sZIP$ = @LoadFile$("Wähle ZipArchiv", "*.zip")

iCount& =  ZIP_GetFilesCount(Addr(sZIP$))
WhileLoop 1, iCount&
  bFile# = ZIP_GetFileInfo(Addr(sZIP$), &Loop, 0)
  sFile$ = String$(bFile#, 0)
  ' Hier vergleichen und ggflls. entpacken
  Print sFile$
EndWhile

Dispose bFile#
FreeDLL hMinizip&
WaitInput

Geändert von ts-soft (25.09.2010 um 16:28 Uhr)
ts-soft ist gerade online   Mit Zitat antworten
Alt 25.09.2010, 20:11   #34 (Direktlink)
Super-Moderator
 
Benutzerbild von Jac de Lad
 
Registriert seit: 06.02.2009
Ort: Coswig
Alter: 27
Beiträge: 1.159
Standard

Achso, jetzt verstehe ich. Danke.
__________________
XProfan-Profi (XProfan X2+XPIA)
http://jacdelad.bplaced.net
http://jacdelad.square7.ch
Jac de Lad ist offline   Mit Zitat antworten
Alt 25.09.2010, 21:04   #35 (Direktlink)
Forenmaskottchen
 
Benutzerbild von ts-soft
 
Registriert seit: 16.05.2010
Ort: Berlin
Beiträge: 724
Standard

Zitat:
Zitat von Jac de Lad Beitrag anzeigen
Achso, jetzt verstehe ich. Danke.
Puuh, naja, ich bin eben kein Erklärer .
Und Beispiele in XProfan erfordern immer fleißiges Hilfe studieren, wo ich zu
Faul zu bin.

Die Sache mit den Unterstrukturen hab ich jetzt auch rausgefunden. Man läßt
die Angabe der Unterstruktur einfach weg, gibt stattdessen dessen Member
an. Allerdings komme ich noch nicht an den Member: FileName$(260)
Aber der wird von der Funktion ja sowieso direkt zurückgegeben, somit sind
alle Werte erreichbar, falls mal benötigt.

Gruß
Thomas
ts-soft ist gerade online   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 28.09.2010, 15:29   #36 (Direktlink)
Forenmaskottchen
 
Benutzerbild von Bangkok
 
Registriert seit: 09.02.2009
Ort: Bangkok
Beiträge: 686
Standard

Hallo Thomas,

Also bei mir kommt es immer zu einem schweren Absturz,wenn ich Zipfiles mit Verzeichnissen entpacken will.
Vielleicht bracht man dazu mehr Speicher, mein Notebook hat nicht viel Speicher. Hast du das entpacken von
Verzeichnissen schon getestet ?

Ich benutze folgende Form

ZIP_ExtractArchiv(addr(zipfile$),addr(outpath$),1,0)

desweiteren gibt diese Funktion bei mir bei einem Archiv mit nur einem File darin true zurück, bei mehreren Files
aber false, obwohl einwandfrei entpackt wird.

Die Funktion ZIP_DirAdd() funktioniert, aber außerhalb der Norm, Wenn ich ein Verzeichinss packe wird es ins Rootverzeichnis des
des zipfiles gepackt, das heißt das Verzeichnis selbst erscheint nicht im Zipfile. Wenn ich mit einem Zipprogramm packe erscheint
das Verzeichnis im Zipfile. Wenn ich dann 2 Verzeichnisse in eine Datei packe, werden die dadurch untrennbar vermischt.
Hoffe du weißt was ich meine.

Die Parameter von ZIP_UnpackMemory() sind mir nicht klar, da nicht erklärt.
__________________
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai.
http://dieterzornow.gmxhome.de
Bangkok ist offline   Mit Zitat antworten
Alt 28.09.2010, 17:31   #37 (Direktlink)
Forenmaskottchen
 
Benutzerbild von ts-soft
 
Registriert seit: 16.05.2010
Ort: Berlin
Beiträge: 724
Standard

Zitat:
Zitat von Bangkok Beitrag anzeigen
Hallo Thomas,

Also bei mir kommt es immer zu einem schweren Absturz,wenn ich Zipfiles mit Verzeichnissen entpacken will.
Vielleicht bracht man dazu mehr Speicher, mein Notebook hat nicht viel Speicher. Hast du das entpacken von
Verzeichnissen schon getestet ?
Es ist alles getestet, aber nicht mit XProfan.
Zitat:
Zitat von Bangkok Beitrag anzeigen
Ich benutze folgende Form

ZIP_ExtractArchiv(addr(zipfile$),addr(outpath$),1,0)

desweiteren gibt diese Funktion bei mir bei einem Archiv mit nur einem File darin true zurück, bei mehreren Files
aber false, obwohl einwandfrei entpackt wird.
Ich brauche schon einen Beispielcode und vor allem das Archiv zum testen.
1. Wenn ich selber Beispiele bastel, funktionieren die Erfahrungsgemäß
2. Es werden nicht alle Zip-Archive unterstützt, nur PKZIP 2 kompatible.
Wenn Winzip und Konsorten irgendwelche ungenormten Erweiterungen nutzen, werden diese nur sehr eingeschränkt unterstützt, da es keine Informationen zu diesen Erweiterungen gibt.
3. Ich habe Freitag Prüfung und nur eingeschränkt Zeit.
Zitat:
Zitat von Bangkok Beitrag anzeigen
Die Funktion ZIP_DirAdd() funktioniert, aber außerhalb der Norm, Wenn ich ein Verzeichinss packe wird es ins Rootverzeichnis des
des zipfiles gepackt, das heißt das Verzeichnis selbst erscheint nicht im Zipfile. Wenn ich mit einem Zipprogramm packe erscheint
das Verzeichnis im Zipfile. Wenn ich dann 2 Verzeichnisse in eine Datei packe, werden die dadurch untrennbar vermischt.
Hoffe du weißt was ich meine.
Ich weiß was Du meinst, aber das ist Absicht. Diese DLL soll ja kein
Packprogramm ersetzen, sondern Programmieren dienlich sein .
Bei Deiner Variante könnte ich nicht mit nur einem Packbefehl ein
komplettes Archiv erstellen, das auch Dateien im Root enthält.
Erstell einfach einen Ordner oberhalb, dann hast Du das gewünschte
Resultat.
Zitat:
Zitat von Bangkok Beitrag anzeigen
Die Parameter von ZIP_UnpackMemory() sind mir nicht klar, da nicht erklärt.
Eigentlich sollte *source, *dest selbsterklärend sein, vorausgesetzt Du
weißt das dieses * für einen Pointer steht. *source ist also der Bereich, wo
das gepackte etwas enthalten ist *dest ist der Bereich wo das ungepackte
etwas hinein soll

Die meisten denken bei ZIP immer nur an das Archivfileformat, aber in
erster Linie ist es ein Packformat. Es ist nicht zwingend erforderlich, das
dort ein Container mit Headern mit Informationen wie Dateiname,
Verzeichnis, Attribute usw. existiert.

Angenommen Du verwaltest die Einstellungen Deines Programmes in einem
strukturierten Bereich, so könntest Du beim Programmende diesen Bereich
speichern. Wenn dieser aber sehr gross ist, könntest Du diesen Bereich
auch erstmal in einen anderen Bereich packen und diesen gepackten
speichern. Hierbei aber nicht vergessen, die orginalgrösse mitzuspeichern,
sowie einen Check auf korruption, z.B. CRC32 oder MD5Fingerprint wäre
sinnvoll um "Illeagal Memory Access" zu vermeiden.

Die Rohdaten aus einer Listview könntest Du so z.B. gepackt speichern.

Kurzfassung: Für ZipArchive ist der Befehl nutzlos.

Gruß
Thomas
ts-soft ist gerade online   Mit Zitat antworten
Alt 28.09.2010, 18:58   #38 (Direktlink)
Forenmaskottchen
 
Benutzerbild von Bangkok
 
Registriert seit: 09.02.2009
Ort: Bangkok
Beiträge: 686
Standard

Hallo Thomas,

das mit dem * wusste ich nicht

Zum entpacken, ich habe einfach den Inhalt deines Zipfiles minizip_dll.zip entpackt in ein Verzeichnis kopiert und mit ZIP_DirAdd() gepackt und dann versucht zu entpacken, da ist ja das Unterverzeichnis Source drin. Also kein fremdes Programm verwendet, so dass Formatunterschiede keine Rolle spielen

Einfaches beispiel zum entpacken.
Code:
$I minizip.inc
var zip& = usedll("minizip.dll")

cls

var file$ = loadfile$("Archiv öffnen","*.ZIP")

var path$ = Choosedir$("Verzeichnis zum entpacken wählen")

print ZIP_ExtractArchiv(addr(file$),addr(path$),1,0)

freedll zip&

waitinput
Das mit dem ZipDirAdd() verstehe ich nicht, wo der Vorteil liegt
Ich packe das Verzeichnis "C:\Temp" und das Verzeichnis "C:\Test" in eine Datei. Die beiden Verzeichnisse werden nun in dem Zipfile vermischt. Beim entpacken werden nun gleichnamige Dateien sogar überschrieben, weil die Pfadangabe dann fehlt. Wenn z.B. in beiden Verzeichnissen eine Readme.txt ist bleiben die zwar im Zipfile erhalten. Aber beim entpacken wird eine dann überschrieben.
__________________
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai.
http://dieterzornow.gmxhome.de
Bangkok ist offline   Mit Zitat antworten
Alt 28.09.2010, 20:13   #39 (Direktlink)
Forenmaskottchen
 
Benutzerbild von ts-soft
 
Registriert seit: 16.05.2010
Ort: Berlin
Beiträge: 724
Standard

Zitat:
Zitat von Bangkok Beitrag anzeigen
Das mit dem ZipDirAdd() verstehe ich nicht, wo der Vorteil liegt
Ich packe das Verzeichnis "C:\Temp" und das Verzeichnis "C:\Test" in eine Datei. Die beiden Verzeichnisse werden nun in dem Zipfile vermischt. Beim entpacken werden nun gleichnamige Dateien sogar überschrieben, weil die Pfadangabe dann fehlt. Wenn z.B. in beiden Verzeichnissen eine Readme.txt ist bleiben die zwar im Zipfile erhalten. Aber beim entpacken wird eine dann überschrieben.
Kopiere c:\temp in c:\zip und c:\test auch. Dann packe nur noch c:\zip

Das andere werde ich mir die Tage mal anschauen.

Gruß
Thomas
ts-soft ist gerade online   Mit Zitat antworten
Alt 28.09.2010, 20:59   #40 (Direktlink)
Forenmaskottchen
 
Benutzerbild von Bangkok
 
Registriert seit: 09.02.2009
Ort: Bangkok
Beiträge: 686
Standard

Zitat:
Zitat von ts-soft Beitrag anzeigen
Kopiere c:\temp in c:\zip und c:\test auch. Dann packe nur noch c:\zip
Na ja, das ist aber kein work around, da eine Packdll ja nicht für den Eigengebrauch ist, sondern um seine Programme bei Bedarf mit Zip-Funktionen auszustatten. Das heißt ein User bedient dann das Programm und der dürfte für den Umweg kein Verständnis haben, da er es von Zipprogrammen besser kennt.

Ich muss dann wohl eine Routine entwerfen um die Verzeichnisse einzuladen in der Form:
Code:
ZIP_FileAdd(ZipHandle&, "c:\ordner\", "ordner", 9, 0)
ZIP_FileAdd(ZipHandle&, "c:\ordner\earth.bmp","ordner\earth.bmp",9,0)
Das funktioniert kann aber in Profan sehr langsam werden, da eine rekursive Suche eingebaut werden muss.
__________________
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai.
http://dieterzornow.gmxhome.de
Bangkok ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 09.10.2010, 15:10   #41 (Direktlink)
Forenmaskottchen
 
Benutzerbild von ts-soft
 
Registriert seit: 16.05.2010
Ort: Berlin
Beiträge: 724
Standard

Den Fehler mit ZIP_ExtractArchive() konnte ich jetzt nachvollziehen. Passiert
sobald Unterverzeichnisse im Archiv sind.
Wird aber noch ein bissel dauern bis ich den Fehler beseitigen kann, mir fehlt
erstmal die Zeit

Gruß
Thomas
ts-soft ist gerade online   Mit Zitat antworten
Alt 09.10.2010, 18:50   #42 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.093
Standard

Ansonsten funktioniert die Dll in meinem Malware Whisperer völlig anstandslos. Bin sehr zufrieden damit!
__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.
Frabbing ist offline   Mit Zitat antworten
Alt 04.07.2011, 14:47   #43 (Direktlink)
Forenmaskottchen
 
Benutzerbild von ts-soft
 
Registriert seit: 16.05.2010
Ort: Berlin
Beiträge: 724
Standard

Hab den Download mal aktualisiert, hatte einen Bugfix für Frank eingebaut,
aber vergessen upzuloaden.
__________________
Gruß Thomas

Wenn mir früher jemand gesagt hätte, ich würde
freiwillig eine Wanze mit mir herum tragen und sie
auch noch selbst aufladen, hätte ich laut gelacht.

Heute habe ich ein Smartphone.


http://realsource.de
ts-soft ist gerade online   Mit Zitat antworten
Alt 04.07.2011, 15:00   #44 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.093
Standard

__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.
Frabbing ist offline   Mit Zitat antworten
Alt 14.04.2012, 01:22   #45 (Direktlink)
Stammuser
 
Registriert seit: 04.04.2009
Ort: Lübeck
Beiträge: 264
Standard

Hilfe, ich habe ein Problem mit dem Zeichensatz. Wie erhalte ich ä,ü,ö, usw. ?
Gruß
Thomas
Angehängte Dateien
Dateityp: zip Eisbär.zip (20,0 KB, 1x aufgerufen)
THFR ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Antwort

  Paules-PC-Forum.de > Programmierung > XProfan > Helfer & Tools

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an




Alle Zeitangaben in WEZ +2. Es ist jetzt 16:45 Uhr.


Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Powered by vBCMS® 2.7.0 ©2002 - 2012 vbdesigns.de
(c) Paules-PC-Forum.de

::: Impressum :::

Search Engine Optimization by vBSEO 3.3.2