minizip

Anwendungen, Tools, Userlibs und anderes nützliches.
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

ts-soft hat geschrieben:Wenn Du aber x64 benötigst oder Dir Sourcen lieber sind, nimm mein :wink:
Also erstmal, gutes "Verkaufsgespräch"! :mrgreen:

Zweitens, ich denke du gewinnst das Rennen. Fakt ist ich werde nicht mehr lange warten und mir demnächst einen neuen Rechner zulegen. Dieser wird auf jeden Fall eine 64Bit Maschine sein um 8GB Speicher nutzen zu können.

Wer nun in die Credits kommt hängt davon ab wer eher fertig bzw. da ist. Mein Spiel oder mein neuer Rechner. :lol:
Windows 10 Pro, 64-Bit / Outtakes | Derek
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 »

DrFalo hat geschrieben:Ei, Ei, Ei - ich nutze bis jetzt gnozals lib. Ist deine wirklich Mini? Ich brauch eigendlich nur die Ein- und Auspackfunktion. Mal schauen...
Ist wirklich mini :wink:
Wenn Du die UserLib von Gnozal entpackst und die Größe mit der statische
Lib von mir vergleichst, wirste sehen das es sehr Mini ist :mrgreen:

Da bei mir aber die restlichen Funktionen aus der zlib.lib von PB Importiert
werden, macht es im EndEffekt kaum Unterschied.

Die Vorteile liegen also nicht unbedingt bei mini, sondern eher bei:
Übersichtlicher, x64 möglich, keine SubSysteme, Sourcen verfügbar.

Gruß
Thomas
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
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 »

Update

Globaler Zip-Kommentar kann hinzugefügt werden. Dies geschieht beim
schliessen mit ZIP_FileClose(ZipHandle[, Comment.s])

Comment kann ein String oder der Dateiname einer Textdatei sein.

Einfach die entsprechende Procedure durch diese:

Code: Alles auswählen

Procedure ZIP_FileClose(ZipHandle, Comment.s = "")
  Protected *mem, FF, Size
  If Comment <> ""
    If UCase(GetExtensionPart(Comment)) = "TXT" And FileSize(Comment) > 0
      FF = ReadFile(#PB_Any, Comment)
      If FF
        Size = Lof(FF)
        *mem = AllocateMemory(Size)
        If *mem
          ReadData(FF, *mem, Size)
        EndIf
        CloseFile(FF)
        If  *mem
          Comment = PeekS(*mem, -1, #PB_Ascii)
          FreeMemory(*mem)
        EndIf
      EndIf
    EndIf
    *mem = AllocateMemory(Len(Comment))
    If *mem
      PokeS(*mem, Comment, -1, #PB_Ascii)
    EndIf
  EndIf
  zipClose(ZipHandle, *mem)
  If *mem : FreeMemory(*mem) : EndIf
EndProcedure
ersetzen oder neu downloaden
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
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Mir ist gerade ein merkwürdiger Bug aufgefallen. Wenn man im Code UseOGGSoundDecoder() stehen hat funktioniert das Einlesen mittels ProgramFilename() als Archivdatei nicht mehr. Im folgenden Beispiel wird zweimal Null zurückgegeben (x86 Version):

Code: Alles auswählen

UseOGGSoundDecoder()

DataSection
	IncludeBinary #PB_Compiler_Home + "Examples\Sources\Data\skybox.zip"
EndDataSection

Index = ZIP_GetFileNumber(ProgramFilename(),"desert07_RT.jpg")
Debug ZIP_ExtractFile(ProgramFilename(),Index,GetTemporaryDirectory(),0)

Debug ZIP_CatchFile(ProgramFilename(),1)
Dieses Beispiel funktioniert wiederum tadellos:

Code: Alles auswählen

UseOGGSoundDecoder()

ArchiveFile$ = #PB_Compiler_Home + "Examples\Sources\Data\skybox.zip"

Index = ZIP_GetFileNumber(ArchiveFile$,"desert07_RT.jpg")
Debug ZIP_ExtractFile(ArchiveFile$,Index,GetTemporaryDirectory(),0)

Debug ZIP_CatchFile(ArchiveFile$,1)
Die PureZIP DLL von gnozal hat übrigens dasselbe Problem.
Windows 10 Pro, 64-Bit / Outtakes | Derek
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 »

Schalt den Debugger aus!

Gruß
Thomas
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
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Ist aus, geht nicht immer noch nicht.
Windows 10 Pro, 64-Bit / Outtakes | Derek
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

XIncludeFile #PB_Compiler_Home + "include\minizip_include.pbi"

UseOGGSoundDecoder()

DataSection
   IncludeBinary #PB_Compiler_Home + "Examples\Sources\Data\skybox.zip"
EndDataSection

Index = ZIP_GetFileNumber(ProgramFilename(),"desert07_RT.jpg")
ZIP_ExtractFile(ProgramFilename(),Index,GetTemporaryDirectory(),0)

MessageRequester(Str(Index), Str(ZIP_CatchFile(ProgramFilename(),1)))
geht ohne debugger!
Messagerequester hat geschrieben:---------------------------
5
---------------------------
42928072
---------------------------
OK
---------------------------
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
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Es geht wenn man ebenfalls alle "Debug"-Aufrufe entfernt. Aber warum ist das nötig wenn der Debugger eh deaktiviert ist? Außerdem funktioniert das nur bei deiner minizip LIB, nicht aber bei gnozals PureZIP DLL.

Naja, sehr gute Arbeit Herr Schulz. :mrgreen:
Windows 10 Pro, 64-Bit / Outtakes | Derek
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 »

Funktionen, denen ein Debug voraus geht, werden ohne Debugger nicht
ausgeführt :mrgreen:

>> Naja, sehr gute Arbeit Herr Schulz. :mrgreen:
:allright: danke
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
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

Von mir auch: Gute Arbeit :allright:
Sehr nützlich :allright:
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Antworten