Gepackte txt file entpacken?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
PureBasic4.0
Beiträge: 785
Registriert: 29.10.2006 17:26
Wohnort: 127.0.0.1

Gepackte txt file entpacken?

Beitrag von PureBasic4.0 »

Hi, Leute

Habe ein .pak archiv mit pb erstellt. ich will das jetzt wieder entpacken. habe schon folgenden code ausprobiert (funktioniert nicht):

Code: Alles auswählen

CreatePack("test.pak")
AddPackFile("test.txt")
ClosePack()
OpenPack("test.pak")
CreateFile(1,"test2.txt")
WriteData(1,NextPackFile(),PackFileSize()
CloseFile(1)
Was soll ich noch machen? Die Daten werden ja per WriteData in die Datei hineingefügt. Die datei test2.txt bleibt aber leer.
kann mir mal jemand helfen?

Danke,PureBasic4.0
PB 4.50 RC1 + Ubuntu 10.04 LTS + Windows 7 x64
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

versuch esmal so

Code: Alles auswählen

a = NextPackFile()
WriteData(1,a,PackFileSize())
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Siehe Thread von mir, "PB dröselt Parameter von hinten auf?".

Exakt dasselbe Problem hatte ich auch; es liegt daran, dass PackFileSize() *VOR* NextPaackFile() aufgerufen wird. Beim entpacken der ersten Datei aus einem Archiv will mir die Funktin also die Größe einer Datei zurückgeben, die gar nicht ausgepackt wurde... /:->

Durch Verwendung von edels Schreibweise wird bewirkt, dass NextPackFile() die Datei ordnungsgemäß entpackt und den Rückgabewert zur späteren Verwendung in a speichert. Da erst in der nächsten Zeile PackFileSize() aufgerufne wird, gibt dieser Befehl nun den korrekten Wert zurück, weil NextPackFile() ja auf jeden Fall vorher schon ausgeführt wurde.



Ich finde, man sollte es generell so machen, dass wenn man die Schreibweise von PureBasic4.0 nimmt, alle in einer zeile vorkommenden Befehle von links nach rechts ausgeführt werden. Hoffe, ihr wisst, was ich meine.
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
PureBasic4.0
Beiträge: 785
Registriert: 29.10.2006 17:26
Wohnort: 127.0.0.1

Beitrag von PureBasic4.0 »

ok. danke hat funktioniert.
PB 4.50 RC1 + Ubuntu 10.04 LTS + Windows 7 x64
Antworten