home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Best of German Only 1
/
romside_best_of_german_only_1.iso
/
windows
/
unzip
/
entpack.exe
/
!DEMO.EXE
/
INFO.INF
/
INFO.TMP
Wrap
Text File
|
1992-08-16
|
12KB
|
204 lines
{
DEMO - DEMO - DEMO- DEMO - DEMO - DEMO - DEMO - DEMO - DEMO - DEMO
Diese Datei dient der Demonstration des Entpackens "On the Fly".
Sie ist identisch mit der ausgelieferten Unit WUZ.PAS !
}
Unit WUZ;
{ UNZIP100.DLL
Copyright (c) 1992 by Ralf Hertsch, Mannheim.
Schnittstellen-Unit zum Zugriff auf die Bibliothek UNZIP100.DLL.
Die Bibliothek und Unit wurden mit Turbo Pascal for Windows v1.00 erstellt,
es sollte jedoch kein Problem darstellen, die Schnittstellen Unit durch eine
entsprechende C-Header Datei zu ersetzen.
Mit Hilfe der Bibliothek UNZIP100.DLL ist es m÷glich, *.ZIP Archive die mit dem
Programm PKZIP 1.xx erstellt wurden, unter Windows zu entpacken OHNE auf die
DOS-Ebene zu wechseln und PKUNZIP aufzurufen.
Die Bibliothek wurde in erster Linie erstellt, um komfortable Installations-
Routinen bzw. -Programme schreiben zu k÷nnen.
Es k÷nnen durch entsprechende Nachrichten, die von der DLL verschickt werden,
Selektionen vorgenommen werden (bereits bestehende Dateien ⁿberschreiben, nur
bestimmte Dateien aus dem Archiv entpacken usw.).
Der jeweilige Stand des Entpackens wird in Prozent gemeldet. Damit ist es
m÷glich Balkenanzeigen zu realisieren usw. usf.
Die Bibliothek prⁿft generell, ob der Speicherplatz auf dem DatentrΣger zum
Entpacken ausreichend ist.
Die Bibliothek ist auch geeignet, bestimmte Dateien eines Programms erst bei
Bedarf zu entpacken (z.B. Hilfedateien oder nicht stΣndig ben÷tigte Unter-
programme, die Archivbezeichnung *.ZIP ist nicht zwingend notwendig).
BEISPIEL : Siehe Programm TEST, das im Quellcode vorliegt.
SHAREWARE : Die Bibliothek UNZIP100.DLL ist Shareware !
Wenn Sie mit dieser Biblithek nach einer angemessenen
Testphase von etwa 4 Wochen weiterarbeiten m÷chten, oder
diese mit eigenen Programmen zusammen weitergeben wollen,
mⁿssen Sie sich als Anwender registrieren lassen.
EINSCHR─NKUNGEN : Die Sharewareversion ist funktional nicht eingeschrΣnkt.
Beim Schlie▀en der Bibliothek wird eine Meldung mit dem
Shareware-Hinweis ausgeben.
WICHTIG : Wenn Sie die Bibliothek nicht ordnungsgemΣ▀ Schlie▀en, weil
Sie den Shareware-Hinweis unterdrⁿcken wollen, wird der
durch die DLL belegte Speicher nicht freigegeben !
Dies kann spΣtestens bei einem erneuten Aufruf der DLL
fatale Folgen haben !
REGISTRIERUNG : Kostet DM 15,--.
Sie erhalten die neuste Version der Bibliothek UNZIP100.DLL
und k÷nnen diese beliebig mit eigenen Programmen verwenden
sowie weitergeben.
KONTAKT : Ralf Hertsch
Riedfeldstra▀e 3
D-W-6800 Mannheim 1
(0621) 35630
}
INTERFACE
Uses
WinTypes, { KompatibilitΣt zu anderen Windows Programmiersprachen }
WinProcs; { wird fⁿr RegisterWindowMessage ben÷tigt }
Var
{ Messages die von UNZIP100.DLL verschickt werden }
wm_PercentDoneOneStep : Word; { Lokale Datei ist zu xx Prozent entpackt. Angabe in 1 % Schritten, }
{ Der Wert wird in Msg.wParam ⁿbergeben. }
wm_PercentDoneTenStep : Word; { Lokale Datei ist zu xx Prozent entpackt. Angabe in 10 % Schritten }
{ Der Wert wird in Msg.wParam ⁿbergeben. }
wm_NameOfLocalZIPFile : Word; { Dateiname der lokalen Datei, die gerade entpackt wird }
{ ▄bergabe erfolgt mit: }
{ - Offset des Meldungstrings in Msg.wParam }
{ - Segment des Meldungstrings in Msg.lParam }
wm_WUZErrorStr : Word; { Fehlermeldung, enthΣlt einen vollstΣndigen Meldungsstring }
{ ▄bergabe erfolgt mit: }
{ - Offset des Meldungstrings in Msg.wParam }
{ - Segment des Meldungstrings in Msg.lParam }
wm_WUZErrorID : Word; { Fehlermeldung, enthΣlt die Kennziffer in Msg.wParam }
wm_WUZQuestionOverWrite : Word; { Anfrage, ob eine bereits bestehende Datei ⁿberschrieben werden soll }
{ ▄bergabe des Dateinamens erfolgt mit: }
{ - Offset des Meldungstrings in Msg.wParam }
{ - Segment des Meldungstrings in Msg.lParam }
wm_WUZQuestionID : Word; { dto. - nur Kennziffer, ist fⁿr automatische Prozesse gedacht. }
{ Diese M÷glichkeit wird von UNZIP100.DLL noch nicht unterstⁿtzt. }
wm_WUZUnzipThisFile : Word; { Anfrage, ob diese Datei aus dem Archiv entpackt werden soll }
{ ▄bergabe des Dateinamens erfolgt mit: }
{ - Offset des Meldungstrings in Msg.wParam }
{ - Segment des Meldungstrings in Msg.lParam }
Const
{ Fehlercodes von UNZIP100.DLL, werden von wm_WUZErrorID in Msg.wParam ⁿbergeben.
Die Implementierung der Codes ist nur notwendig, wenn Sie auf deren Grundlage eigene
Fehlermeldungen erstellen und anzeigen wollen.
UNZIP100.DLL gibt mit wm_WUZErrorStr eine vollstΣndige Fehlermeldung an das aufrufende
Programm weiter.
Die verwendeten Strings sind als Ressourcen in der DLL eingebunden und k÷nnen mit WRT
oder RESOURCE WORKSHOP ⁿberarbeitet werden. Der reservierte Puffer in der Bibliothek
kann max. 250 Zeichen aufnehmen. Die String-IDs sind mit den Fehlercodes identisch. }
ef_WrongZIPVersion = 10001; { Archiv wurde mit PKZIP 1.93a oder 2.xx erstellt }
ef_BadShannonFanoData = 10002; { SHANNON-FANO Entschlⁿsselungsbaum enthΣlt fehlerhafte Daten }
ef_BadShannonFanoTree = 10003; { SHANNON-FANO Entschlⁿsselungsbaum ist fehlerhaft aufgebaut }
ef_BadLocalFileHeader = 10004; { Der lokale Dateikopf enthΣlt fehlerhafte Angaben }
ef_BadLocalFileNameLength = 10005; { Der lokale Dateiname enthΣlt eine ungⁿltige LΣngenangabe }
ef_BadLocalExtraField = 10006; { Das lokale Feld fⁿr Extra Informationen ist fehlerhaft }
ef_BadCodeDetected = 10007; { fehlerhafter Verschlⁿsselungscode, Datei kann nicht gelesen werden }
ef_StackOverflow = 10008; { Stapelⁿberlauf }
ef_NoMemoryForIOBuffers = 10009; { Nicht genug Speicher um die I/O Puffer zu allozieren }
ef_NotEnoughDiskSpace = 10010; { Nicht genug freier Speicherplatz auf dem DatentrΣger }
ef_NoDirectorySelected = 10011; { Es wurde kein Verzeichnis angegeben }
ef_DirectoryNotExist = 10012; { Das angegebene Verzeichnis existiert nicht }
ef_OpenFileError = 10013; { Fehler beim ╓ffnen der Datei }
ef_FileFindError = 10014; { gesuchte Datei nicht gefunden }
ef_DirectoryFindError = 10015; { gesuchtes Verzeichnis nicht gefunden