verschlüsselter) Form in die Exe zu packen. Im Gegensatz zu
IncludeBinary, geschieht dies nach Windows-Art, in speicherschonender
Form
Bei Benutzung der beigefügten Include-Datei wird automatisch ein
CRC-Check gemacht.
Desweiteren wird bei Benutzung eines Keys (Verschlüsselung), dieser
Anhand eines gespeicherten MD5 Fingerprint (der Key selber wird nicht
gespeichert) überprüft
Diese UserLibrary unterstützt zur Zeit weder Unicode, noch Threadsafe,
was aber auch nicht erforderlich ist, da die erstellten Resourcen (*.res)
mithilfe einer Include-Datei in allen Programmen (ASCII, Unicode oder
Threadsafe) genutzt werden können
Die UserLibrary ist nur zur Erstellung der PBDATA-Resourcen, welche
einfach Importiert werden können, erforderlich. Die Nutzung erfolgt
ausschließlich über die Include-Datei, wobei keine UserLibraries erforderlich sind.
Werden mehrere Exen oder DLLs verwendet, so genügt es die Resourcen
in einer davon zu packen, die anderen können diese mitbenutzen!
Dies ist Wohl die erste Userlib, die eine LinkList() als Parameter erwartet (keinen Pointer

Beispiel zur Syntax der Erstellung:
Code: Alles auswählen
; Als erstes ein LinkList vom Typ String erstellen
NewList MeineDatas.s()
; Alle benötigten Resourcen hinzufügen
AddElement(MeineDatas())
MeineDatas() = #PB_Compiler_Home + "Examples\Sources\Data\PureBasicLogo.bmp"
AddElement(MeineDatas())
MeineDatas() = #PB_Compiler_Home + "Examples\Sources\Data\PureBasic.bmp"
; und zum Schluß das PBData Resource erstellen
If PBDataCreate("Test", MeineDatas(),"password")
MessageRequester("PBData", "Test.res erfolgreich erstellt")
EndIf
Beispiel zur Nutzung:
Code: Alles auswählen
XIncludeFile "PBData_Include.pbi"
Import "Test.res" : EndImport
Enumeration 1
#PBData_PureBasicLogo
#PBData_PureBasic
EndEnumeration
ImgData = GetPBData(#PBData_PureBasicLogo, "password")
If ImgData > 0
Image = CatchImage(#PB_Any, ImgData)
FreeMemory(ImgData)
Else
Select ImgData
Case #PBDATA_Error_Unknown
Debug "Unbekannter Fehler, Resource nicht gefunden oder zu wenig Speicher?"
Case #PBDATA_Error_Encryption
Debug "Key-Fehler, überprüfen Sie, ob das richtige Passwort eingegeben wurde!"
Case #PBDATA_Error_CRC32
Debug "CRC32-Fehler, korrupte Datei"
EndSelect
End
EndIf
If OpenWindow(0,0,0,381,68,"PBData Test",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
If CreateGadgetList(WindowID(0))
ImageGadget(1,0,0,381,68,ImageID(Image))
EndIf
Repeat
Until WaitWindowEvent()=#PB_Event_CloseWindow
EndIf
Debug SavePBData("test.bmp", #PBData_PureBasic, "password")
andernfalls, mir genügt es auch so

Download 66 KiBi