Wenn der Tag InstallAdapter
auf True
gesetzt wird, greift das XAD-Plugin
in den Verzeichnishandler ein, damit Hollywood glaubt, dass die vom
XAD-System unterstützten Archive normale Verzeichnisse sind. Dies ermöglicht
Ihnen alle Dateien und Verzeichnisse innerhalb eines Archivs mit
normalen Befehlen aus Hollywoods DOS-Bibliothek zu durchlaufen.
Zum Beispiel wenn das Archiv test.rar
heisst, können Sie
fürs Durchlaufen den folgenden Code verwenden:
OpenDirectory(1, "test.rar") Local e = NextDirectoryEntry(1) While e <> Nil DebugPrint(e.name) e = NextDirectoryEntry(1) Wend CloseDirectory(1) |
Wenn Sie nicht aus dem Stammverzeichnis innerhalb von test.rar
anfangen
möchten, können Sie auch bequem von einem Unterverzeichnis starten, indem
Sie einfach so tun, als wäre test.rar
ein Verzeichnis. Z.B. um auf ein
Unterverzeichnis namens files
innerhalb von test.rar
zuzugreifen, gehen
Sie einfach wie folgt vor:
OpenDirectory(1, "test.rar/files") |
Schließlich ist es auch möglich, alle Dateien und Verzeichnisse innerhalb eines Archivs rekursiv zu durchlaufen. Hier ist eine Funktion, die das tut:
Function p_DumpArchive(d$, idt) Local id = OpenDirectory(Nil, d$) Local e = NextDirectoryEntry(id) While e <> Nil If e.Type = #DOSTYPE_DIRECTORY DebugPrint(RepeatStr(" ", idt) .. "+", e.name) p_DumpArchive(FullPath(d$, e.name), idt + 4) Else DebugPrint(RepeatStr(" ", idt) .. "",e.name,e.size,e.time) EndIf e = NextDirectoryEntry(id) Wend CloseDirectory(id) EndFunction |
Um den Inhalt eines Archivs auszugeben, rufen Sie einfach folgende Funktion auf:
p_DumpArchive("test.rar", 0) |
Es wird dann einen schönen Baum des Archivinhalts ausgeben.