Seite 1 von 3

Problem: Entpacken. (gelöst)

Verfasst: 17.02.2008 21:18
von Mok
Hi
Ich hab so'n kleines Prog geschrieben, mit dem man Datei(en) packen kann. Dann hab ich noch eines geschrieben, mit dem man entpacken kann. Funzt aber nicht (war ja klar...) wie geht's richtig? was ist falsch? warum?

Also erstmal das Prog, mit dem man Packt (da dürfte kein Problem sein):

Code: Alles auswählen

If CreatePack("Dateien.pack")
  AddPackFile("beispiel.txt",1)
  AddPackFile("Tabelle.xls",5)
  ClosePack()
  MessageRequester("Info","Alle Dateien wurden erfolgreich gepackt!",0)
Else
  MessageRequester("Fehler","Die Dateien konnten nicht gepackt werden!"+Chr(13)+"Möglicherweise konnte 'Dateien.pack' nicht erstellt werden.",16)
EndIf
End
Und jetzt den "Ent"packer:

Code: Alles auswählen

If OpenPack("Dateien.pack")
  Adresse = NextPackFile()
  
  ;Tja... da gehört wohl was rein!
  ;aber was??
  
  MessageRequester("Info","Alle Dateien erfolgreich entpackt!",0)  
Else
  MessageRequester("Fehler!","Die Dateien konnten nicht entpackt werden!",16)
  End
EndIf

End
Hab schon alles mögliche probiert, aber irgendwie...

Na ja, ich hoffe ihr antwortet mir wie gewöhnlich schon in den ersten 10 Minuten, und sag schon mal ein herzliches Danke im Voraus

Gruß, Wolfram :D

Verfasst: 17.02.2008 21:23
von KeyKon
einfach CreateFile und dann mit WriteData(FileID,Addresse,PackFileSize()) alles reinschreiben CloseFile und fertig die zauberei^^

Verfasst: 17.02.2008 21:26
von Mok
Danke :D
...für die schnelle antwort (5min.)

EDIT:
Moment,
KeyKon hat geschrieben:einfach CreateFile und dann mit WriteData(FileID,Addresse,PackFileSize()) alles reinschreiben CloseFile und fertig die zauberei^^
WriteData() hat aber nur 2 Parameter! Außerdem erhalte ich die Meldung This memory buffer is not initialized (null). :(

Verfasst: 17.02.2008 21:28
von KeyKon
Immer gern <)

Verfasst: 17.02.2008 21:43
von a14xerus
Mok hat geschrieben: WriteData() hat aber nur 2 Parameter! Außerdem erhalte ich die Meldung This memory buffer is not initialized (null). :(
Hilfe hat geschrieben: WriteData(#Datei, *Speicherpuffer, ZuSchreibendeLaenge)
und "Adresse" sollte man natürlch noch zuweisen -.-'

sons halt parameter anpassen

Verfasst: 17.02.2008 21:43
von HeX0R
Mok hat geschrieben: WriteData() hat aber nur 2 Parameter! Außerdem erhalte ich die Meldung This memory buffer is not initialized (null). :(
Das passiert eben, wenn man nicht angibt, dass man mit einer veralteten PureBasic Version arbeitet...

Verfasst: 17.02.2008 21:52
von Mok
HeX0R hat geschrieben:
Mok hat geschrieben: WriteData() hat aber nur 2 Parameter! Außerdem erhalte ich die Meldung This memory buffer is not initialized (null). :(
Das passiert eben, wenn man nicht angibt, dass man mit einer veralteten PureBasic Version arbeitet...
Na ja... 3.94 rulezz^^

Ne, aber jetzt ernst! Wie mach ich das Entpacken jetzt richtig?

Verfasst: 17.02.2008 23:08
von KeyKon
Das Sollte 3.94-fähig sein...

Code: Alles auswählen

If OpenPack("Dateien.pack") 
  *Adresse = NextPackFile() 
  If CreateFile(0,"entpack.txt")
    WriteData(*Adresse,PackFileSize())
    CloseFile(0)
  EndIf
  
  MessageRequester("Info","Alle Dateien erfolgreich entpackt!",0)  
Else 
  MessageRequester("Fehler!","Die Dateien konnten nicht entpackt werden!",16) 
  End 
EndIf 
btw Wiso noch 3.94? 4.x geht doch viel mehr ab ;-)

Verfasst: 18.02.2008 10:35
von Mok
KeyKon hat geschrieben:Das Sollte 3.94-fähig sein...

Code: Alles auswählen

...
*Adresse = NextPackFile()
  If CreateFile(0,"entpack.txt")
    WriteData(*Adresse,PackFileSize())
    CloseFile(0)
  EndIf
...
btw Wiso noch 3.94? 4.x geht doch viel mehr ab ;-)
Hab ja schon was Ähnliches gehabt ;), ich habe nur die zwei *s vor Adresse vergessen...
Wieso ich noch 94 progge? Na ja, frage ich mich selbst manchmal, aber ich hab mal die 4.1 beta geloadet und ausprobiert... und irgendie muss man sich an die 4er auch wieder extra gewöhnen. Was ist eigentlich der Unterschied zwischen der 94er und der 4er? Weniger Bugs? Mehr, oder genauere Befehle?

Na ja, irgendwann bin ich gezwungen, 4 zu proggen ;-) ;-)

mfg, Wolfi

PS: Freu' mich schon auf Version 5.x :D

Verfasst: 18.02.2008 10:39
von Kiffi
Mok hat geschrieben:aber ich hab mal die 4.1 beta geloadet und ausprobiert...
die 4.1 liegt mittlerweile als Stable vor.

Ich würde Dich bitten, Deine PB-Version in Deine Signatur einzutragen.

Grüße ... Kiffi