Problem: Entpacken. (gelöst)

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Mok
BotHunter
Beiträge: 1484
Registriert: 26.12.2005 14:14
Computerausstattung: MSI GX780R
Intel Core i5-2410M
Nvidia GT 555M
Windows 7 Home Premium 64 bit
Wohnort:   

Problem: Entpacken. (gelöst)

Beitrag 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
Zuletzt geändert von Mok am 19.02.2008 20:40, insgesamt 1-mal geändert.
Win 7 Home Premium 64 bit | PureBasic 5.20 - x86 und x86-64 | Firefox [aktuelle stable-Version hier einfügen]
"Jeder macht irgendwann mal Fehler, darum gibt's auch Bleistifte mit Radiergummi." --Carl
Benutzeravatar
KeyKon
Beiträge: 1412
Registriert: 10.09.2004 20:51
Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit)
Wohnort: Ansbach
Kontaktdaten:

Beitrag von KeyKon »

einfach CreateFile und dann mit WriteData(FileID,Addresse,PackFileSize()) alles reinschreiben CloseFile und fertig die zauberei^^
(\/) (°,,,°) (\/)
Benutzeravatar
Mok
BotHunter
Beiträge: 1484
Registriert: 26.12.2005 14:14
Computerausstattung: MSI GX780R
Intel Core i5-2410M
Nvidia GT 555M
Windows 7 Home Premium 64 bit
Wohnort:   

Beitrag 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). :(
Zuletzt geändert von Mok am 17.02.2008 21:31, insgesamt 1-mal geändert.
Win 7 Home Premium 64 bit | PureBasic 5.20 - x86 und x86-64 | Firefox [aktuelle stable-Version hier einfügen]
"Jeder macht irgendwann mal Fehler, darum gibt's auch Bleistifte mit Radiergummi." --Carl
Benutzeravatar
KeyKon
Beiträge: 1412
Registriert: 10.09.2004 20:51
Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit)
Wohnort: Ansbach
Kontaktdaten:

Beitrag von KeyKon »

Immer gern <)
(\/) (°,,,°) (\/)
a14xerus
Beiträge: 1440
Registriert: 14.12.2005 15:51
Wohnort: Aachen

Beitrag 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
Zuletzt geändert von a14xerus am 17.02.2008 21:44, insgesamt 2-mal geändert.
Benutzeravatar
HeX0R
Beiträge: 3042
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Beitrag 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...
Benutzeravatar
Mok
BotHunter
Beiträge: 1484
Registriert: 26.12.2005 14:14
Computerausstattung: MSI GX780R
Intel Core i5-2410M
Nvidia GT 555M
Windows 7 Home Premium 64 bit
Wohnort:   

Beitrag 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?
Win 7 Home Premium 64 bit | PureBasic 5.20 - x86 und x86-64 | Firefox [aktuelle stable-Version hier einfügen]
"Jeder macht irgendwann mal Fehler, darum gibt's auch Bleistifte mit Radiergummi." --Carl
Benutzeravatar
KeyKon
Beiträge: 1412
Registriert: 10.09.2004 20:51
Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit)
Wohnort: Ansbach
Kontaktdaten:

Beitrag 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 ;-)
(\/) (°,,,°) (\/)
Benutzeravatar
Mok
BotHunter
Beiträge: 1484
Registriert: 26.12.2005 14:14
Computerausstattung: MSI GX780R
Intel Core i5-2410M
Nvidia GT 555M
Windows 7 Home Premium 64 bit
Wohnort:   

Beitrag 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
Win 7 Home Premium 64 bit | PureBasic 5.20 - x86 und x86-64 | Firefox [aktuelle stable-Version hier einfügen]
"Jeder macht irgendwann mal Fehler, darum gibt's auch Bleistifte mit Radiergummi." --Carl
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag 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
a²+b²=mc²
Antworten