Toon posts:

[DLL] InfoZIP Win32 ZIP rootdir problemen *

Pagina: 1
Acties:

Verwijderd

Topicstarter
In een Visual Basic freeware programma wil ik de mogelijkheid voor het zippen/unzippen van bestanden hebben.

Hiervoor gebruik in nu de Win32 Infozip DLL's (nieuwste versie), zip32.dll en unzip32.dll.

Deze werken prima, ik heb alleen een groot probleem. Steeds werkt het aangeven van een rootdir voor een ZIP niet (bij het zippen dus), waardoor ik geen relatieve directories kan krijgen. Af en toe werkt het wel eens, maar zelfs als ik twee keer achter elkaar precies hetzelfde doe komt het voor dat het bij de ene wel en bij de andere niet werkt.

Er lijkt dus een of andere bug in de DLL's te zitten. Misschien zou het helpen om een vaste tempdir (WindowsTempDir\Programmanaam oid) als rootdir te kiezen en dan vast in de C++ source te zetten, maar ik kan geen C++.

Heeft iemand anders deze problemen ook al eens gehad? Of zijn er misschien andere freeware DLL's te verkrijgen (ik kon er geen vinden).

Bedankt. :)

InfoZIP source/binary kun je hier vinden: ftp://ftp.info-zip.org/pub/infozip/WIN32/

Verwijderd

Topicstarter
M'n titel is gemod zie ik, maar het gaat echter niet specifiek om VB. Dezelfde DLL's zijn ook in Delphi/C++ etc. te gebruiken, dus als er [VB] voor staat kijken misschien alleen VB mensen...

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

zo dan?

Verwijderd

Topicstarter
Op donderdag 31 januari 2002 21:27 schreef wasigh het volgende:
zo dan?
Prima :P

Verwijderd

al eens geprobeerd met alleen '/' te werken ipv '\' ? InfoZip is de meest vulgaire code die je kunt verzinnen (geen grapje), en het zou me niets verbazen dat de shit totaal niet werkt. Er zijn echter andere dll's te krijgen voor delphi die ook voor VB en C++ werken. Ik heb geen URL's voor je, dus je zult even via google moeten zoeken.

Verwijderd

Topicstarter
Op donderdag 31 januari 2002 21:46 schreef Otis het volgende:
InfoZip is de meest vulgaire code die je kunt verzinnen.
Daar ben ik al achter ja, echt vreselijk.
Er zijn echter andere dll's te krijgen voor delphi die ook voor VB en C++ werken. Ik heb geen URL's voor je, dus je zult even via google moeten zoeken.
Ik kon met Google niks vinden, alleen commercieel.

Verwijderd

Topicstarter
Op donderdag 31 januari 2002 21:46 schreef Otis het volgende:
al eens geprobeerd met alleen '/' te werken ipv '\' ?
Geeft alleen nog meer problemen, rootdir probs blijven :'(

Zou iemand voor mij misschien even kunnen kijken naar de source, de plek waar de rootdir wordt aangeven is zo te vinden, maar ik heb geen idee hoe ik de Windows Temp directory zou moeten detecteren in C++.

[edit]
Ik heb nu wel deze http://www.geocities.com/SiliconValley/Network/2114/zipbeta.html gevonden, er is echter geen enkele VB documentatie beschikbaar, iid alleen Delphi code.

Verwijderd

als je wilt zippen/unzippen kun je beter zlib gebruiken. Die komt ook met een DLL, en dus kun je die in VB gebruiken. Er zitten functies in voor zip en unzip. Ook die zijn niet fraai, maar beter dan infozip.

Haal de source van Cryde op op http://www.demogl.com/download.asp (onderaan), is een zippacker / crypter van mezelf met zlib. Is in MFC/C++, maar je kunt er wel uithalen hoe je zlib moet gebruiken. zlib zelf is open source en in zowel static als .dll format te krijgen. Succes.

Verwijderd

Topicstarter
Op vrijdag 01 februari 2002 09:23 schreef Otis het volgende:
als je wilt zippen/unzippen kun je beter zlib gebruiken. Die komt ook met een DLL, en dus kun je die in VB gebruiken. Er zitten functies in voor zip en unzip. Ook die zijn niet fraai, maar beter dan infozip.

Haal de source van Cryde op op http://www.demogl.com/download.asp (onderaan), is een zippacker / crypter van mezelf met zlib. Is in MFC/C++, maar je kunt er wel uithalen hoe je zlib moet gebruiken. zlib zelf is open source en in zowel static als .dll format te krijgen. Succes.
Bedankt, ik ook zal eens kijken hoe het met die Delphi ZIP DLL's gaat, die gaan ook aardig vanuit VB tot nu toe.

Is zlib 100% compatible met Pkzip/Infozip?

Verwijderd

ja zlib is compatible met pkzip. pkzip is niets anders dan een verzameling gzipped files met een structuurtje erin. Dus al wat je nodig hebt is een gzip/gunzipper en een reader/writer in de zipfile. zlib heeft die functies in zich, dus ik zou die gewoon gebruiken.

Verwijderd

Topicstarter
Die Delphi DLL's doet n goed, alleen kom ik er nu achter zat ze helemaal geen rootdir mogelijkheid hebben :(

ZLib lukt een beetje in VB, maar ik heb geen idee hoe ik van die ZLib bestanden een ZIP bestand moet maken (ik krijg een .co en .dec bestand) :?

Verwijderd

Ik begrijp overigens niet echt wat je probleem nu eigenlijk is met die rootdirs.

Verwijderd

Topicstarter
Op vrijdag 01 februari 2002 15:51 schreef Otis het volgende:
Ik begrijp overigens niet echt wat je probleem nu eigenlijk is met die rootdirs.
Bijvoorbeeld:

Je hebt bestanden staan in C:\Meuk\Zipjes\test

De bestanden in c:\meuk moeten in een zip komen, maar de bestandsnamen in de zip moeten dan zijn:

zipjes\test\bestand1
zipjes\test\bestand2
....

en niet

meuk\zipjes\test\bestand

Daarvoor moet je een rootdir voor de zip aangeven.

Verwijderd

Topicstarter
Zou het misschien mogelijk zijn om directories in de ZIP file door m'n programma te laten wijzigen? Ik wel enorm fout om het zo te doen, maar ik heb nog geen enkele goede DLL gevonden.

Verwijderd

Je moet toch zelf opgeven wat de dir is van het gezipte bestand inde zipfile? Dan haal je toch zelf die rootdir eraf en geeft DAT door als filenaam?

Verwijderd

Topicstarter
Op vrijdag 01 februari 2002 17:42 schreef Otis het volgende:
Je moet toch zelf opgeven wat de dir is van het gezipte bestand inde zipfile? Dan haal je toch zelf die rootdir eraf en geeft DAT door als filenaam?
Nee, ik kan niet opgeven wat de dir moet worden in de ZIP file, alleen de locatie van het bestand wat er in moet.

Het zelf wijzigen van zo'n ZIP bestand lijkt moeilijk te zijn, als ik de dir's op alle normale locaties (voor iedere hap compressed data) wijzig kan WinZip ze nog ergens vinden (misschien een extra "backup" tabel oid).

Verwijderd

Topicstarter
Ik heb nu een zeer ranzige oplossing: na het info-zippen een stukje code dat het zip bestand helemaal doorloopt en de bugs eruit haalt.

De delphi DLL's boden dus ook te weinig functionaliteit, en voor ZLib heb ik nog niks gevonden om met ZIP bestanden te werken in VB.

Het werkt nu dus wel, maar ik ga verder zoeken naar een echte oplossing.
Pagina: 1