Es gibt mehrere Möglichkeiten, dieses Plugin zu verwenden: Es gibt eine Low-Level-Bibliotheksschnittstelle, die spezielle Funktionen für den Umgang mit Zip-Archiven bereitstellt, z.B. zip.OpenArchive() zum Öffnen eines Archivs und zip.ExtractFile() zum Extrahieren einer Datei. Die Low-Level-Schnittstelle ist etwas schwieriger zu verwenden als die High-Level-Schnittstelle, bietet aber das größte Maß an Kontrolle über Zip-Archive und auch die beste Leistung.
Darüber hinaus verfügt zip.hwp über eine High-Level-Schnittstelle, die es
Ihrem Skript ermöglicht, mit Zip-Archiven umzugehen, ohne neue APIs erlernen
zu müssen. Stattdessen können Sie einfach die normalen Hollywood-Befehle
verwenden, um auf Zip-Archive zuzugreifen. Es gibt zwei Möglichkeiten,
die High-Level-Schnittstelle zu verwenden: Sie können das Plugin
entweder global aktivieren, indem Sie den Tag InstallAdapter
beim
Aufruf von @REQUIRE
auf True
setzen. Fügen Sie dazu einfach
die Präprozessor-Anweisung von oben in Ihr Skript ein:
@REQUIRE "zip", {InstallAdapter = True} |
Wenn Sie die High-Level-Schnittstelle über @REQUIRE
aktivieren, wird es
global verfügbar und alle folgenden Befehle, die sich mit Dateien befassen,
unterstützen das Öffnen von Dateien aus Zip-Archivquellen. Zum Beispiel
könnten Sie dann folgende Zeile schreiben:
LoadBrush(1, "test.zip/testpicture.jpg") |
Wenn Sie nur sehr wenige Dateien aus ZIP-Archivquellen öffnen müssen, können
Sie die High-Level-Schnittstelle auch nicht global aktivieren, indem Sie den Tag
InstallAdapter
bei @REQUIRE
weglassen und einfach den von den meisten
Hollywood-Befehlen angebotenen Tag Adapter
verwenden, um
die Datei mit dem zip.hwp-Plugin zu öffnen. Hier ist ein Beispiel:
LoadBrush(1, "test.zip/testpicture.jpg", {Adapter = "zip"}) |
Mit dem Tag Adapter
wird LoadBrush()
angewiesen, die angegebene Datei mit
dem angegebenen Adapter zu öffnen, der in unserem Fall "zip" ist. Mit dem
Tag Adapter
können Sie dieses Plugin also auch verwenden, ohne zuvor einen
globalen Dateiadapter installiert zu haben.
Dasselbe gilt für Hollywood-Befehle, die mit Verzeichnissen arbeiten.
Sobald die High-Level-Schnittstelle aktiviert wurde, indem InstallAdapter
auf
True
gesetzt wird, ist es möglich, folgendes zu verwenden:
OpenDirectory(1, "test.zip") |
Sie könnten dann alle Dateien und Verzeichnisse in test.zip
durchlaufen. Wenn Sie den globalen Adapter für zip.hwp nicht aktiviert haben,
verwenden Sie einfach den lokalen Adapter
wie oben, z.B:
OpenDirectory(1, "test.zip", {Adapter = "zip"}) |
Weitere Informationen über die Arbeit mit Zip-Archiven als Verzeichnisse finden Sie im nächsten Kapitel.