Aktuelle Zeit: 18.11.2018 18:47

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 50 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4, 5  Nächste
Autor Nachricht
 Betreff des Beitrags: Re: Bin2Post / Binäre Daten gleich im Forumspost mitliefern
BeitragVerfasst: 31.01.2013 16:39 
Offline
Benutzeravatar

Registriert: 08.09.2004 00:57
Wohnort: Berlin
Die zLib.lib ist bei jeder PB Installation vorhanden. Die hat nichts mit der neuen libzip.lib zu tun, aus PB5.10.
Die zLib.lib ist z.B. für die ganzen ImagePlugins, sowie auch für Ogre usw. erforderlich. PB verwendet sich aber
nicht für seine Packroutinen, aber ich bin so frei :mrgreen:

Geändert hat sich die Version vor kurzem, das ändert aber nichts an der Kompatibilität.

_________________
PureBasic 5.70 | SpiderBasic 2.10 | Windows 10 Pro (x64) | Linux Mint 19.0 (x64)
"Ich möchte gerne die Welt verändern, doch Gott gibt den Quellcode nicht frei."
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Bin2Post / Binäre Daten gleich im Forumspost mitliefern
BeitragVerfasst: 31.01.2013 17:01 
Offline
Benutzeravatar

Registriert: 25.04.2006 17:29
Wohnort: Nähe Hamburg
ts-soft hat geschrieben:
Die zLib.lib ist bei jeder PB Installation vorhanden. Die hat nichts mit der neuen libzip.lib zu tun, aus PB5.10.
Die zLib.lib ist z.B. für die ganzen ImagePlugins, sowie auch für Ogre usw. erforderlich. PB verwendet sich aber
nicht für seine Packroutinen, aber ich bin so frei :mrgreen:


Alles klar, jetzt habe ichs auch geschnallt. :) :allright:
Das schau ich mir auf jeden Fall an.

_________________
"Never run a changing system!"
PB 5.62, OS: Windows 7 Pro x64, CPU: I7 6500, RAM: 16 GB, GPU: Intel Graphics HD 520
Ich bin Baujahr 1968, also aktuell 50.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Bin2Post / Binäre Daten gleich im Forumspost mitliefern
BeitragVerfasst: 31.01.2013 17:24 
Offline
Benutzeravatar

Registriert: 08.09.2004 00:57
Wohnort: Berlin
Für Eure Allgemeinbildung: http://de.wikipedia.org/wiki/Zlib

Die lib wird fast überall verwendet, bzw. genutzt. OpenOffice, PNG und tausende weiterer Bibliotheken und Programme, sowie
auf allen Betriebssystemen (von Android bis Unix).

_________________
PureBasic 5.70 | SpiderBasic 2.10 | Windows 10 Pro (x64) | Linux Mint 19.0 (x64)
"Ich möchte gerne die Welt verändern, doch Gott gibt den Quellcode nicht frei."
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Bin2Post / Binäre Daten gleich im Forumspost mitliefern
BeitragVerfasst: 01.02.2013 19:27 
Offline
Benutzeravatar

Registriert: 25.04.2006 17:29
Wohnort: Nähe Hamburg
Hmm, ich komme gerade nicht weiter mit der Nutzung der gzWrite/gzOpen Funktionen

gzOpen gibt ein handle zurück, dessen Struktur mit nicht ganz klar ist.
Code:
ZEXTERN gzFile ZEXPORT gzopen OF((const char *path, const char *mode));

Wenn ich das handle typenlos deklariere, dann gibt es bei der nächsten Verwendung (gzWrite) einen invalid memoryaccess error.

Bei meiner Recherche bin ich auf folgende Struktur für gzFile gekommen.
Code:
    //C Code?
    struct gzFile_s {
    unsigned have;
    unsigned char *next;
    z_off64_t pos;
};

Falls das die richtige Struktur sein sollte, dann gekomme ich sie nicht nach PB übersetzt, zumindest nicht das dritte Element (z_off64_t pos).

Mein bisheriger (nicht funktionierender) Testcode sieht so aus:
Code:
EnableExplicit

Global sOutFile.s, sFileMode.s, sText.s
Global *InBuffer
Global *Filehandle

Import "zlib.lib"
  gzclose(a.i) As "_gzclose"
  gzopen(a.i, b.i) As "_gzopen"
  gzwrite(a.i, b.i, c.i) As "_gzwrite"
EndImport

sOutFile = "F:\Out.txt"
sFileMode = "wb9"
sText = "01234567890123456789"

*InBuffer = @sText

*Filehandle = gzopen(@sOutFile, @sFileMode)
Debug *Filehandle
If *Filehandle <> 0
   Debug Str(gzwrite(*Filehandle, *InBuffer, 10))
   gzclose(*Filehandle)
EndIf

Viellecht kann mir hier noch jemand unter die Arme greifen?

Gruß Kurzer

_________________
"Never run a changing system!"
PB 5.62, OS: Windows 7 Pro x64, CPU: I7 6500, RAM: 16 GB, GPU: Intel Graphics HD 520
Ich bin Baujahr 1968, also aktuell 50.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Bin2Post / Binäre Daten gleich im Forumspost mitliefern
BeitragVerfasst: 01.02.2013 19:40 
Offline
Benutzeravatar

Registriert: 08.09.2004 00:57
Wohnort: Berlin
Was hast Du den jetzt vor?

Einfach die Resource im Speicher packen und dann mit Base64 encodieren, bzw. umgekehrt und den
Text speichern. Darum ging es doch in Deinem Projekt.

_________________
PureBasic 5.70 | SpiderBasic 2.10 | Windows 10 Pro (x64) | Linux Mint 19.0 (x64)
"Ich möchte gerne die Welt verändern, doch Gott gibt den Quellcode nicht frei."
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Bin2Post / Binäre Daten gleich im Forumspost mitliefern
BeitragVerfasst: 02.02.2013 00:39 
Offline
Benutzeravatar

Registriert: 25.04.2006 17:29
Wohnort: Nähe Hamburg
Hmm, stimmt. Ich könnte die Dateien alle hintereinander in einen Memoryblock laden (mit entsprechendem Header trennen) und sie dann dort packen.

Ich dachte mir halt, dass ich nicht so viel RAM verbrate, wenn ich das Packen der zig Einzeldateien in eine komprimierte Datei per gzWrite erledige.
Die resultierende, gepackte GZ-Datei hätte ich dann wiederum in den Speicher geladen und dort nach Base64 kodiert.

Vermutlich alles nonsense bei den heutigen RAM Speichergrößen. :)

Trotzdem würde ich mein Beispiel gern zum laufen bekommen. Bin nach Absenden meines posts nicht weiter am Rechner gewesen.

_________________
"Never run a changing system!"
PB 5.62, OS: Windows 7 Pro x64, CPU: I7 6500, RAM: 16 GB, GPU: Intel Graphics HD 520
Ich bin Baujahr 1968, also aktuell 50.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Bin2Post / Binäre Daten gleich im Forumspost mitliefern
BeitragVerfasst: 02.02.2013 00:48 
Offline
Benutzeravatar

Registriert: 08.09.2004 00:57
Wohnort: Berlin
Datei laden, packen, encodieren, speichern, nächste Datei dasselbe Spiel. Am schluß noch einen Header schreiben, damit Du
alles wieder aufteilen kannst.
Header in den speicher lesen, dann Laden, decodieren, entpacken, speichern, nächter block aus dem Header.

Nur falls die Dateien doch grösser sind :wink:

Zu gzip kann ich Dir nichts sagen, ist auf jedem Fall nicht ohne und den Aufwand wahrscheinlich nicht wert.

_________________
PureBasic 5.70 | SpiderBasic 2.10 | Windows 10 Pro (x64) | Linux Mint 19.0 (x64)
"Ich möchte gerne die Welt verändern, doch Gott gibt den Quellcode nicht frei."
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Bin2Post / Binäre Daten gleich im Forumspost mitliefern
BeitragVerfasst: 03.02.2013 23:38 
Offline
Benutzeravatar

Registriert: 25.04.2006 17:29
Wohnort: Nähe Hamburg
Ganz so hoher Aufwand ist es nicht mit den gzFile Kommandos zu arbeiten, nur funktioniert das ganze nicht unter jeder PB Version.

Du hast es evtl. im englischen Forum schon gelesen, dass ich da nicht weiterkomme.

Kannst Du mir sagen, ob es ein PB internes bzw. ein Kompilerproblem ist, dass folgender Code unter PB 4.31 kompiliert wird aber unter höheren Versionen einen Linker Error erzeugt? Fehlen PB da irgendwelche Symbole so dass es nicht mit der aktuellen zLib zurecht kommt?

Ich hab leider zu wenig Ahnung davon was diesen Fehler auslöst. Meine Recherche hat lediglich ergeben, dass sich ab M$ VC++6 irgendwelche Bezeichnungen geändert haben und deswegen dort die oldname.lib eingeführt wurde. Nur hilft mir das unter PB leider nichts (ich bin auch kein C/C++ Coder).

Bild

Code:
Structure gzFile_s
  iHave.i
  iNext.i
  iPos.i
EndStructure

Import "zlib.lib"
   gzopen.i(Filename.s, Mode.s)
EndImport

*Filehandle.gzFile_s = gzopen(GetTemporaryDirectory() + "test.txt", "wb9")

_________________
"Never run a changing system!"
PB 5.62, OS: Windows 7 Pro x64, CPU: I7 6500, RAM: 16 GB, GPU: Intel Graphics HD 520
Ich bin Baujahr 1968, also aktuell 50.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Bin2Post / Binäre Daten gleich im Forumspost mitliefern
BeitragVerfasst: 03.02.2013 23:59 
Offline
Benutzeravatar

Registriert: 08.09.2004 00:57
Wohnort: Berlin
Code:
Structure gzFile_s
  iHave.i
  iNext.i
  iPos.i
EndStructure

ImportC "oldnames.lib" : EndImport

ImportC "zlib.lib"
  gzopen.i(Filename.s, Mode.s)
EndImport

*Filehandle.gzFile_s = gzopen(GetTemporaryDirectory() + "test.txt", "wb9")
:wink:

_________________
PureBasic 5.70 | SpiderBasic 2.10 | Windows 10 Pro (x64) | Linux Mint 19.0 (x64)
"Ich möchte gerne die Welt verändern, doch Gott gibt den Quellcode nicht frei."
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Bin2Post / Binäre Daten gleich im Forumspost mitliefern
BeitragVerfasst: 04.02.2013 14:23 
Offline
Benutzeravatar

Registriert: 25.04.2006 17:29
Wohnort: Nähe Hamburg
Ich fange so langsam an ganz böse zu bereuen, dass dass ich mir 'linkende' Compiler und librarybasierende Entwicklungsumgebungen nie angetan habe und immer nur auf die 'flache Ebene' geschworen habe.

Vielen Dank ts-soft! :allright:

_________________
"Never run a changing system!"
PB 5.62, OS: Windows 7 Pro x64, CPU: I7 6500, RAM: 16 GB, GPU: Intel Graphics HD 520
Ich bin Baujahr 1968, also aktuell 50.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 50 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4, 5  Nächste

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 7 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye