Frage zur Packer-Libary()

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
Lebostein
Beiträge: 674
Registriert: 13.09.2004 11:31
Wohnort: Erzgebirge

Frage zur Packer-Libary()

Beitrag von Lebostein »

Hallo,

ich glaube das hatte ich schonmal im alten Forum gefragt, habe aber damals keine Antwort bekommen, mal sehen obs jetzt klappt:

Angenommen ich habe mit CreatePack() eine Datei erstellt und 100 Bilder und Sounds mit AddPackFile() hinzugefügt. Wie kann ich jetzt zum Beispiel zu Datei Nummer 89 springen und diese Datei entpacken? Laut Hilfe muss ich von vorne beginnen und mich immer mit NextPackFile() von Datei zu Datei 'vorarbeiten'. Dabei wird aber JEDE Datei erstmal entpackt (laut Hilfe: "Liest und entpackt die nächste gefundene Datei"), was natürlich eine gewisse Zeit benötigt. Kann ich irgendwie den 'Zeiger' von NextPackFile() sofort auf meine Datei 89 schieben, so dass ich nicht erst die vorherigen 88 Dateien enpacken muss?
Benutzeravatar
Mischa
Beiträge: 152
Registriert: 29.08.2004 06:52
Wohnort: Hellhorst

Beitrag von Mischa »

Benutzeravatar
Lebostein
Beiträge: 674
Registriert: 13.09.2004 11:31
Wohnort: Erzgebirge

Beitrag von Lebostein »

Vielen Dank für den Hinweis! Die Idee, AddPackFile() und NextPackfile() mit den PackMemory()-Befehlen zu umgehen ist ne gut Idee. Das werd ich aufgreifen und meine Dateien mit einer eigenen Routine in den Speicher laden, zusammenstauchen und in eine Datei schreiben. So kann ich auch einen eigenen Dateiheader einbauen, der mir sagt, wo ich die einzelnen Dateien auffinden kann.
Benutzeravatar
Lebostein
Beiträge: 674
Registriert: 13.09.2004 11:31
Wohnort: Erzgebirge

Beitrag von Lebostein »

Habs eingebaut, es funktioniert. Danke nochmal.

Nur schade das die Packer-Libary von PB nach zig Updates noch immer nicht richtig arbeitet. Hab schon wieder ein paar Files, die die Pack-Routine zum Aufgeben zwingen bzw. die Routine zum Absturz bringen (auffällig ist, das vor allem WAV-Dateien betroffen sind)...
Benutzeravatar
125
Beiträge: 1322
Registriert: 19.09.2004 16:52
Wohnort: Neu Wulmstorf (Hamburg)
Kontaktdaten:

Beitrag von 125 »

gehts nur ums packen oder eher ums Entpacken? Sonst könntest ja auch deine Files mit WinRar basteln und dann die UnRar.dll nutzen :)
Benutzeravatar
Lebostein
Beiträge: 674
Registriert: 13.09.2004 11:31
Wohnort: Erzgebirge

Beitrag von Lebostein »

Eigentlich nur ums entpacken. Und das sollte möglichst schnell gehen. Ich hab am Ende wahrscheinlich über hundert Bilder, Sounds und Musikstücke in der Datei und muss gezielt Dateien entpacken können.

Die Packfunktion von PB finde ich an sich nicht schlecht, das Entpacken geht sehr schnell und nur wer sich mit PB auskennt kann die Dateien ohne weiteres öffnen, wodurch die Daten quasi auf eine niedere Art und Weise verschlüsselt werden.

An eine zusätzliche DLL will ich eigentlich nicht ran, höchstens als Include Datei. Werd mich mal in der PureArea ein wenig umsehen. Aber erstmal Danke für den Tipp.
Antworten