Entwickler-Ecke
Sonstiges (Delphi) - Lösung um Datei zu entpacken
Marduk - Mo 30.09.02 09:04
Titel: Lösung um Datei zu entpacken
Hallo Leute.
Folgendes Problem: Ich möchte gerne eine heruntergeladene Datei automatisch entpacken lassen.
Meine Lösung momentan funktioniert mit einer externen unzip.exe und einem WinExec Befehl.
Nun kann ich zwar in Verzeichnisse mit langem Dateinamen entpacken, jedoch nicht wenn ein Leerzeichen dazwischen ist (z.B.: c:\hallo fritz).
Bietet Delphi ein Unzip Prog an ? Kennt ihr eine andere Lösung ?
Hier noch mein Code:
Quelltext
1: 2:
| WinExec(PChar('unzip.exe -o '+desttext+'/update.zip -d '+desttext), SW_HIDE); |
Grüße
Dennis :P
Arakis - Mo 30.09.02 10:05
Hi Marduk

,
Hmmm, das mit Dos ist so ne Sache. Du müsstest den 8+3-Dateinamen rausbekommen, also dieses bekannte "PROGRA~1" zum Beispiel :wink:
Es ist ratsam, ShellExecute als Ausführungsbefehl zu verwenden, das WinExec nur noch aus Kompatibilitätsgründen vorhanden ist.
Ansonsten mach bau doch einfach einen Entpacker in dein Programm ein: Nimm die
ZLib-DLL [
http://www.gzip.org/zlib/], dort gibt es auch ein Delphi-Interface dafür.
Bis dann
Tino - Mo 30.09.02 10:07
Titel: Re: Lösung um Datei zu entpacken
Marduk hat folgendes geschrieben: |
jedoch nicht wenn ein Leerzeichen dazwischen ist |
Schließe den Dateinamen in doppelte Anführungszeichen (") ein... dann sollte es funktionieren!
Gruß
TINO
Marduk - Mo 30.09.02 10:46
Ich habs mit ZipDll versucht, hat auf Anhieb geklappt. Danke für eure Hilfe.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!