ZLib Compression Modul komprimiert bei mir nicht..(erledigt)

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

Henry

Betreff: ZLib Compression Modul komprimiert bei mir nicht..(erledigt)

BeitragSa, Feb 12, 2005 10:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Tag BMAXer,

ich habe probiert, einen Code von B3D nach BMAX zu portieren, das ging allerdings nicht ohne diverses umschreiben.

Die ZLib.DLL kann in B3D eingebunden werden und als Source Bank und Destination Bank wird einfach der Name der Bank angegeben, die den Pointer auf die Bank zurückgibt.
In BMAX liefert die allerdings einen INT Wert zurück, den ZLib nicht gebrauchen kann. Ich habe es mit BankBuf(SourceBank) probiert, bin mir aber nicht sicher, ob das in diesem Fall richtig ist:

Code: [AUSKLAPPEN]

Strict

Local SourceBank:Int        = CreateBank(16)
Local DestinationBank:Int   = CreateBank((Ceil(BankSize(SourceBank) * 1.001)) + 12)
Local DestinationSize:Int   = CreateBank(4)
PokeInt(DestinationSize, 0, BankSize(DestinationBank))

Local SourceFile = OpenFile("Source.dat")

For Local i:Int = 0 To (FileSize("Source.dat") - 1)
   PokeByte(SourceBank, i, ReadByte(SourceFile))
Next

CloseFile(SourceFile)

For Local i:Int = 0 To (BankSize(SourceBank) - 1)
   Print "Original Bytes: " + PeekByte(SourceBank, i)
Next

compress(BankBuf(DestinationBank), DestinationSize, BankBuf(SourceBank), BankSize(SourceBank))

Local DestinationFile = WriteFile("DestFile.dat")

For Local i:Int = 0 To (BankSize(DestinationBank) - 1)
   If (PeekByte(DestinationBank, i) <> 0) Then WriteByte(DestinationFile, PeekByte(DestinationBank, i))
Next

CloseFile(DestinationFile)


Release SourceBank
Release DestinationBank
Release DestinationSize
Release SourceFile
Release DestinationFile
FlushMem()
Print "Memory after Flush: " + MemAlloced()

End


Aus einer externen Datei lade ich mir die Werte rein, die in die Bank gepackt werden. Nach dem Komprimieren wird eine externe Datei mit den Werten aus der Destination Bank geschrieben, welches die komprimierten Daten sein sollten. Diese scheinen aber immer gleich zu sein, egal was in der Source Datei steht, wonach ich vermute, daß die Pointer Angabe für den compress Befehl falsch ist.

Hat schon jemand mit dem Modul gearbeitet und hat hier einen Tip für mich?
Aiya Eärendil Elenion Ancalima!

All you have to decide is what to do with the time that is given to you.

Robsite.de ist eine Anlaufstelle für Tutorials und Tools, die Noobs das Leben leichter machen!
Forensuche ist nicht nur als Lückenfüller in den oberen Links gedacht!
  • Zuletzt bearbeitet von Henry am Di, Feb 15, 2005 10:30, insgesamt 3-mal bearbeitet

soli

BeitragSa, Feb 12, 2005 15:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Tut mir leid für das nun folgende OffTopic,
da ich dir nicht helfen kann.

Könntest du mir Bitte ein funktionierendes
Codebeispiel schicken, bei dem gezeigt wird
wie ich mit B3d ein zip Archiv entpacken kann?
solitaire

Henry

BeitragDi, Feb 15, 2005 10:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Hat sich erledigt...selber rausgefunden.
Aiya Eärendil Elenion Ancalima!

All you have to decide is what to do with the time that is given to you.

Robsite.de ist eine Anlaufstelle für Tutorials und Tools, die Noobs das Leben leichter machen!
Forensuche ist nicht nur als Lückenfüller in den oberen Links gedacht!

wunderkind

BeitragDi, Feb 15, 2005 16:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Sag uns doch kurz, was das Problem war. Dann findet der Nächste hier Infos dazu Wink.

Henry

BeitragDi, Feb 15, 2005 17:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Problem habe ich ja oben schon beschrieben.

BankBuf(bank) liefert hier nicht den richtigen Pointer für das ZLib Modul zurück oder es kann gar nicht mit Banks arbeiten (so wie die ZLib.DLL)

Man nimmt einfach Byte Arrays stattdessen...muss einem Dummen ja auch gesagt sein...die OH zum Compression Modul ist ja ziemlich spärlich. Laughing
Aiya Eärendil Elenion Ancalima!

All you have to decide is what to do with the time that is given to you.

Robsite.de ist eine Anlaufstelle für Tutorials und Tools, die Noobs das Leben leichter machen!
Forensuche ist nicht nur als Lückenfüller in den oberen Links gedacht!

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group