Binärdaten in eine Datasection einlesen?

Für allgemeine Fragen zur Programmierung mit PureBasic.
funkheld
Beiträge: 651
Registriert: 31.12.2009 11:58

Binärdaten in eine Datasection einlesen?

Beitrag von funkheld »

Hallo,guten Tag.

Wie kann man eine Binärdatei in eine Datasection einlesen und mit Read auslesen ?
Diese soll dann in der Exe enthalten sein ohen sie neu laden zu müssen.

Wie geht das bitte.

Danke.
Gruss
Benutzeravatar
Bisonte
Beiträge: 2474
Registriert: 01.04.2007 20:18

Re: Binärdaten in eine Datasection einlesen?

Beitrag von Bisonte »

Das kommt ganz auf die Binärdatei an... bzw. was am Ende damit angestellt werden soll.

Normalerweise reicht ein

Code: Alles auswählen

DataSection
MeinFile:
IncludeBinary "EinBild.jpg"
MeinFile_Ende:
EndDataSection
Wenn man ein Bild einbinden möchte. Ausgelesen für das Programm wird es dann mit
CatchImage(#BildNummer, ?MeinFile, ?MeinFile_Ende - ?MeinFile)

Mit Programmen ("*.exe Dateien") macht es meist weniger Sinn, es sei denn man möchte sie auslesen
und auf Platte speichern. Ausführen solcher Programme ist aufwendig zu realisieren.
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
funkheld
Beiträge: 651
Registriert: 31.12.2009 11:58

Re: Binärdaten in eine Datasection einlesen?

Beitrag von funkheld »

Kann man dann so etwas mit Read auslesen ?

Code: Alles auswählen

DataSection
MeinFile:
IncludeBinary "bindatei.bin"
MeinFile_Ende:
EndDataSection
Danke.
Gruss
Benutzeravatar
mk-soft
Beiträge: 3871
Registriert: 24.11.2004 13:12
Wohnort: Germany

Re: Binärdaten in eine Datasection einlesen?

Beitrag von mk-soft »

Braucht man nicht mit Read lesen. Kann mit Pointer verbinden...

Code: Alles auswählen

EnableExplicit

Structure udtData
  b.b[0] ; <-- 0 = keine prüfung vom Compiler auch maximalen Index
EndStructure

Define *MeinFile.udtData

*MeinFile = ?MeinFile

Define index, cnt 

cnt = ?MeinFile_Ende - ?MeinFile - 1
For index = 0 To cnt
  Debug *MeinFile\b[index]
Next

DataSection
  MeinFile:
  ;IncludeBinary "bindatei.bin"
  Data.b 1,2,3,4,5,6,7,8,9,10
  MeinFile_Ende:
EndDataSection
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
funkheld
Beiträge: 651
Registriert: 31.12.2009 11:58

Re: Binärdaten in eine Datasection einlesen?

Beitrag von funkheld »

Danke für die Info.

Gruss
Antworten