C ChengDi Unregistered / Unconfirmed GUEST, unregistred user! 1999-01-07 #3 完整的问题是: Delphi3.0 中有相当与Delphi2.0 中Mem函数的函数或其他什么吗???
P pegasus Unregistered / Unconfirmed GUEST, unregistred user! 1999-01-07 #4 Delphi2.0 中Mem函数的函数有什么功能?
O O_O Unregistered / Unconfirmed GUEST, unregistred user! 1999-01-08 #5 在delphi 1.0中,Mem是取得内存中某一BYTE的值,相应的还有MemW等,它是根据段 地址和偏移地址来获得内存某一位置的值,delphi 2.0应该也是这样的吧.只是奇怪在 delphi 2.0,为何还有该函数,因为win32都没有段和偏移了啊? delphi 3.0好象没有类似的函数了,因为一个指针可以从头指到尾了,没有64k的限制 了,不需要考虑段地址了,或者直接用嵌入汇编代码.
在delphi 1.0中,Mem是取得内存中某一BYTE的值,相应的还有MemW等,它是根据段 地址和偏移地址来获得内存某一位置的值,delphi 2.0应该也是这样的吧.只是奇怪在 delphi 2.0,为何还有该函数,因为win32都没有段和偏移了啊? delphi 3.0好象没有类似的函数了,因为一个指针可以从头指到尾了,没有64k的限制 了,不需要考虑段地址了,或者直接用嵌入汇编代码.
A Another_eYes Unregistered / Unconfirmed GUEST, unregistred user! 1999-01-08 #7 var p: pchar; b: byte; w: word; i: integer; begin p:=ptr(SOME_SPECIAL_ADDRESS_AS_INTEGER); b:=byte(p^); w:=word(p^); i:=integer(p^); .... end;
var p: pchar; b: byte; w: word; i: integer; begin p:=ptr(SOME_SPECIAL_ADDRESS_AS_INTEGER); b:=byte(p^); w:=word(p^); i:=integer(p^); .... end;
A aimingoo Unregistered / Unconfirmed GUEST, unregistred user! 1999-01-09 #8 哎,这个问题只值0分! mem[],是一个虚数组,用来取相应内存地址的数据。 而在win32中,内存是线性的。这个pointer是一个Integer类型值, 你可以象一个数组下标一样去修改一个指针,就能取相应的数据了。 例: var p : pointer; begin p := pointer(10); p := Pointer(Integer(p)+100); end; 这样,还要mem[]何用呢?
哎,这个问题只值0分! mem[],是一个虚数组,用来取相应内存地址的数据。 而在win32中,内存是线性的。这个pointer是一个Integer类型值, 你可以象一个数组下标一样去修改一个指针,就能取相应的数据了。 例: var p : pointer; begin p := pointer(10); p := Pointer(Integer(p)+100); end; 这样,还要mem[]何用呢?