Länge einer IncludeBinary bestimmen!

Anfängerfragen zum Programmieren mit PureBasic.
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 »

@jear
IncludeBinary ist eine Compilerdirektive
PokeL und FileSize werden zur RunTime ausgeführt

Das kann so nicht gehen :wink:
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
jear
Beiträge: 288
Registriert: 17.10.2004 01:59
Wohnort: Ammerland

Beitrag von jear »

Bitte mal kompilieren.

Code: Alles auswählen

Procedure Test(*Pointer) 
  FLen.l = PeekL(*Pointer) 
  SStart.l = *Pointer + SizeOf(Long) 
  MessageRequester("Drinnen", "Startadresse : " + Str(SStart)+ #LF$ + "Länge : " + Str(FLen) , #MB_OK|#MB_ICONINFORMATION) 
EndProcedure 

; Länge der IncludeDatei 
FLen.l = ?dateiE - ?datei 
PokeL(?dateiL, FLen) 
MessageRequester("Draußen", "Startadresse : " + Str(?datei)+ #LF$ + "Länge : " + Str(FLen) , #MB_OK|#MB_ICONINFORMATION) 

Test(?dateiL) 

DataSection
  dateiL: Data.l 0  
  datei: IncludeBinary "foto.jpg"
  dateiE: 
EndDataSection
Sorry. Mir ging es um die Parameterübergabe mit einem einzigen Pointer.
Ohne FileSize() geht es aber auch.
Zuletzt geändert von jear am 15.04.2007 09:22, insgesamt 8-mal geändert.
Man ist nie zu alt zum lernen, auch wenn man dabei manchmal alt aussieht!
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

denkfehler:

Code: Alles auswählen

FLen.l = FileSize("foto.jpg")
dazu müsste die datei zur laufzeit im verzeichnis sein,
dann muss ich sie auch nicht includieren.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
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 »

jear hat geschrieben:Bitte mal kompilieren.
---------------------------
Draußen
---------------------------
Startadresse : 4210776
Länge : -1
---------------------------
OK
---------------------------
:mrgreen:
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
Antworten