3.30 Packer problem

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
403
Beiträge: 6
Registriert: 11.05.2008 15:11
Wohnort: 127.0.0.1

3.30 Packer problem

Beitrag von 403 »

hi,
wenn ich mit CreatePackFile() eine datei erstelle und mit AddPackFile() eine Datei hinzufügen will, bleibt die Datei 0 Byte groß, egal was für eine Datei hinzufügen will. Warum ist das so und wie kann ich das ändern?
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Auch nach dem schliessen der Datei ?
xperience2003
Beiträge: 972
Registriert: 04.10.2004 18:42
Computerausstattung: Amiga, LinuxMint, Windows7
Wohnort: gotha
Kontaktdaten:

Beitrag von xperience2003 »

kannst mal sehen, wie gut der packer ist ^^

spass bei seite
wird denn das file gefunden?

Code: Alles auswählen

 CreatePack("packed.dat") 
    AddPackFile("deinfile.bmp") 
 ClosePack() 
amiga rulez...
Rebirth Software
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 »

@xperience2003
Die fehlenden If sind nicht gut, weil so findet man die Fehler nicht :wink:

@403
Immer Prüfen, dann weiß man meist auch woran es liegt.
Code?
Was für Dateien?

Der Packer hat Probleme bei bereits gepackten Dateiformaten:
png, zip, rar usw. und das Pack bleibt dann leer! Jedenfalls war es bei
älteren Versionen so. Merkt man, wenn AddPackFile() 0 zurückgibt!

Gruß
der Hellseher (wo ist der Code :mrgreen: )
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
Benutzeravatar
403
Beiträge: 6
Registriert: 11.05.2008 15:11
Wohnort: 127.0.0.1

Beitrag von 403 »

@ edel
ja, auch danach

@xperience2003

Code: Alles auswählen

CreatePack("pack.pbp")
    inputad$ = OpenFileRequester("Ad File","","*.*",0)
     AddPackFile(inputad$)
ClosePack()
Benutzeravatar
403
Beiträge: 6
Registriert: 11.05.2008 15:11
Wohnort: 127.0.0.1

Beitrag von 403 »

ich hab s schon mit .exe;.jpg;.bmp;.txt versucht. manchmal gibt er Result==0 zurück, manchmal Result<>0.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

ich glaube in 3.3 war das Packen bei Files verbugt, das heißt es wäre besser:

Du lädts die Datei erst in Memory und packst dann den Memory und dann schreibst du es in deine eigene Packdatei.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
403
Beiträge: 6
Registriert: 11.05.2008 15:11
Wohnort: 127.0.0.1

Beitrag von 403 »

sry die frage, bin noch n newbie:
Wie geht das??
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 »

403 hat geschrieben:sry die frage, bin noch n newbie:
Wie geht das??
Hier mal für PB 4.xx, mußte also noch anpassen.
Ungetested, nur zur Orientierung!

Code: Alles auswählen

If OpenFile(0, bla.s)
  Size.l = Lof(0)
  Mem = AllocateMemory(Size)
  ReadData(0, Mem, Size)
  CloseFile(0)
  
  If CreatePack("meinPack.dat")
    If AddPackMemory(Mem, Size)
      FreeMemory(Mem)
    EndIf
    ClosePack()
  EndIf
EndIf
PS: Als newbee solltest Du auch im Anfängerforum posten :wink:
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
Benutzeravatar
403
Beiträge: 6
Registriert: 11.05.2008 15:11
Wohnort: 127.0.0.1

Beitrag von 403 »

thx
Antworten