| |
|
|
| KompilierenMarkierenSeparierenSource wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Speicherbereich auslesen
Def Globalalloc(2) !KERNEL32.DLL, GlobalAlloc
Def Globalfree(1) !KERNEL32.DLL, GlobalFree
Def Movememory(3) !KERNEL32, RtlMoveMemory
Proc Peekl
Parameters Readmemoryaddr&
Declare Value&, Result!
Movememory(Addr(Value&), Readmemoryaddr& + 2, 2)
Result! = Value& * 2^16
Movememory(Addr(Value&), Readmemoryaddr&, 2)
Result! = Result! + Value&
Return Result!
Endproc
Proc Pokel
Parameters Writememoryaddr&, Value!
Declare Value&
If (Value! > -1) And (Value! < 2^32)
If Value! - (2^16 - 1) > 0
Value& = Value! 2^16
Else
Value& = 0
Endif
Movememory(Writememoryaddr& + 2, @Addr(Value&), 2)
Value& = Int(Value! - (Value& * 2^16))
Movememory(Writememoryaddr&, Addr(Value&), 2)
Else
Messagebox(Zahl zu groß!, Wichtiger Hinweis, 48)
Endif
Endproc
Declare Hmem&
4 Byte = Long Speicher reservieren
Hmem& = Globalalloc($40, 4)
If Hmem&
Speicher mit 1111 füllen
Pokel Hmem&, 1111
Speicher auslesen und in MessageBox wiedergeben
Messagebox(In Adresse: + Str$(Hmem&) + steht folgender Wert: + Str$(Int(Peekl(Hmem&))) , Inhalt des Speicher, 0)
Speicherobjekt freigeben
Globalfree(Hmem&)
Else
Messagebox(Speicher konnte nicht reserviert werden, Wichtiger Hinweis, 48)
ref='./../../funktionsreferenzen/xprofan/endif/'>Endif
|
|
|
| |
|
|