Bilder für Image und ButtonImage in .exe speichern

Anfängerfragen zum Programmieren mit PureBasic.
Tanaghra
Beiträge: 28
Registriert: 13.05.2017 01:44

Bilder für Image und ButtonImage in .exe speichern

Beitrag von Tanaghra »

Hallo,

ich habe ein Programm mit Fenster geschrieben, das die üblichen Gadgets beherbergt (TextGadgets, OptionGadgets, StringGadgets usw.) und darüber hinaus auch Bilder und Bildschaltflächen (ImageGadgets u. ButtonImageGadgets). Auf meinem Rechner zu Hause läuft die .exe-Datei perfekt und die Images und ButtonImages sind auch zu sehen.

Nun habe ich das Programm aber in erster Linien für meinen Vater geschrieben und dachte mir, ich könnte einfach die .exe-Datei nehmen und auf den Rechner meines Vaters portieren. Das Programm als solches funktioniert auch, aber die ImageGadgets sowie die Bilder in den ButtonImageGadgets werden nicht angezeigt. Ergo: Beim Kompilieren werden die Bilder nicht in der exe-Datei gespeichert, sondern offenbar zur Laufzeit der .exe geladen. Auf dem Rechner meines Vater sind die .bmp-Dateien aber natürlich nicht vorhanden.

Gibt es eine Möglichkeit, die Bilder so in der exe-Datei zu speichern, daß sie auch auf jedem Fremdrechner mit den Bildern läuft?

Ich habe für mein Programm ein Projekt erstellt; in den Compiler-Optionen gibt es einen Reiter "Ressourcen", wo man .rc-Dateien (PORC Ressourcen-Skripts, nicht die blasseste Ahnung, was das ist) laden kann. In der Hilfe heißt dazu, daß diese Ressourcen-Skripte "in das Executable eingebunden" würden, und daß man sie mit "PellesC IDE" erstellen könne. Ist das vielleicht ein Weg, und wenn ja, wo kann man mehr über die Erstellung dieser Skripte erfahren?

Vielen Dank
Windows 7 x64; geposteter Kode bezieht sich (sofern nicht anders angegeben) immer auf das aktuellste PureBasic 64-Bit

Erst wenn man es seiner Schwiegermutter erklären kann, hat man es verstanden.
As gsündeste is oiwei guad essn und dringa und ned grang wern.
oO0XX0Oo
Beiträge: 55
Registriert: 21.07.2017 22:36

Re: Bilder für Image und ButtonImage in .exe speichern

Beitrag von oO0XX0Oo »

Schau dir in der Hilfe man den Punkt zu "IncludeBinary" an

Code: Alles auswählen

Syntax
IncludeBinary "filename" 

Description

IncludeBinary will include the named file at the current place in the code. Including should be done inside a Data block. 
Example

  DataSection
    MapLabel:
    IncludeBinary "Data\map.data"
  EndDataSection 

This command is especially useful in combination with the Catch-commands (currently there are /CatchImage(), /CatchSound(), /CatchSprite()) to include images, sounds, sprites etc. into the executable. 
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Bilder für Image und ButtonImage in .exe speichern

Beitrag von RSBasic »

Du musst die Bilder natürlich auch mitliefern.
Wenn du aber stattdessen unbedingt die Grafiken inkludieren möchtest:

Code: Alles auswählen

EnableExplicit

CatchImage(0, ?YourLabel)

If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  ImageGadget(1, 10, 10, 0, 0, ImageID(0), 0)
 
  Repeat
    Select WaitWindowEvent()
      Case #PB_Event_CloseWindow
        End
    EndSelect
  ForEver
EndIf

DataSection
  YourLabel:
  IncludeBinary "D:\Grafiken\DeineGrafik.bmp"
EndDataSection
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Antworten