Wie Daten unter PBB 4.00 entpacken?

Anfängerfragen zum Programmieren mit PureBasic.
kiki
Beiträge: 155
Registriert: 06.05.2006 17:54

Wie Daten unter PBB 4.00 entpacken?

Beitrag von kiki »

Hallo, ich habe eine Frage:

Wie entpackt man unter PB 4.00 Dateien, ich versteh dass nicht mit dem Speicherbereich und der Größe.
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Mit was hast du denn gepackt ?

PBPacker -> createpack oder nur PackMemory ?

andere Packer ?
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Wäre einfacher, wenn wir Deinen Code zum packen sehen würden.

Für einen mit PB gepackten File, brauchen wir 2 Speicher, und zwar einen so
gross, wie die Datei ist, den anderen so gross, wie die Datei entpackt ist.
Hierfür mal bei AllocateMemory nachsehen, ansonsten mal Deinen bisherigen
Code posten.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
kiki
Beiträge: 155
Registriert: 06.05.2006 17:54

Beitrag von kiki »

So:

Code: Alles auswählen

If CreatePack("c:\Packer.pak") 
  AddPackFile("C:\test.txt") 
  ClosePack() 
EndIf 
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Code: Alles auswählen

If OpenPack("c:\Packer.pak")
  TextMem.l = NextPackFile()
  TextSize.l = PackFileSize()
 
  File = CreateFile(#PB_Any, "C:\test_neu.txt")
  If File
    WriteData(File, TextMem, TextSize)
    CloseFile(File)
  EndIf
  ClosePack()
EndIf
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
kiki
Beiträge: 155
Registriert: 06.05.2006 17:54

Beitrag von kiki »

ERROR in Zeile 7: This Memory buffer is not Initialized
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Welche PB Version? Bei mir gehts fehlerfrei
Wie gross ist die Textdatei?

// Nachtrag:
Nimm mal diese Version:

Code: Alles auswählen

If OpenPack("c:\Packer.pak")
  TextMem.l = NextPackFile()
  TextSize.l = PackFileSize()

  If TextMem And TextSize
    File = CreateFile(#PB_Any, "C:\test_neu.txt")
    If File
      WriteData(File, TextMem, TextSize)
      CloseFile(File)
    EndIf
    ClosePack()
  Else
    Debug "Ein Fehler ist aufgetreten"
  EndIf
EndIf
Zuletzt geändert von ts-soft am 06.11.2006 18:16, insgesamt 1-mal geändert.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
kiki
Beiträge: 155
Registriert: 06.05.2006 17:54

Beitrag von kiki »

PB 4.00 und die Datei ist 10 zeichen groß es soll aber auch gehen wenn die Datei 400 MB Groß ist!
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

>> es soll aber auch gehen wenn die Datei 400 MB Groß ist!
Das bezweifel ich, der PB-Packer muckt teilweise schon unter 20 MB
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten