A a1b1c1 Unregistered / Unconfirmed GUEST, unregistred user! 2003-12-18 #1 从指针内容的第三个字节开始拷贝,到第六个结束, 不可将指针进行类型转换。 例如 (Buffer^,3,3(或6)=目标 目标为Pchar, Array ,或Pointer.
W wwr74 Unregistered / Unconfirmed GUEST, unregistred user! 2003-12-18 #2 procedure TForm1.Button1Click(Sender: TObject); var P: ^Integer; S: Integer; begin S := 1234567890; P := @S; showmessage(Copy(IntToStr(P^), 3, 6)); end;
procedure TForm1.Button1Click(Sender: TObject); var P: ^Integer; S: Integer; begin S := 1234567890; P := @S; showmessage(Copy(IntToStr(P^), 3, 6)); end;
A a1b1c1 Unregistered / Unconfirmed GUEST, unregistred user! 2003-12-18 #3 TO wwr74 : 谢谢,但你没有看懂我的意思,' inttostr(P^),事实上你已转换了指针类型。 看下例 p的空间足够。 P^[4]=0x10;其余P^[?]=0x00; 如何将P^[4]-P^[7]读出为integer(32 bit)=16?
TO wwr74 : 谢谢,但你没有看懂我的意思,' inttostr(P^),事实上你已转换了指针类型。 看下例 p的空间足够。 P^[4]=0x10;其余P^[?]=0x00; 如何将P^[4]-P^[7]读出为integer(32 bit)=16?
H Highpeak Unregistered / Unconfirmed GUEST, unregistred user! 2003-12-18 #4 用move var pchar; a:array[1..8]of char; begin p:='12334567890'; move(p[3],a[1],7); showmessage(pchar(@a)); end;
用move var pchar; a:array[1..8]of char; begin p:='12334567890'; move(p[3],a[1],7); showmessage(pchar(@a)); end;
A a1b1c1 Unregistered / Unconfirmed GUEST, unregistred user! 2003-12-19 #7 感谢各位。其实,你们还是没有看懂我的意思,我是说不能进行类型转换! Highpeak:你的方法只能对Pchar型有用,对于Pointer来说是行不通的,你不妨试试。 --------------------------------------------------------------------------- 问题我已解决,多谢各位。
感谢各位。其实,你们还是没有看懂我的意思,我是说不能进行类型转换! Highpeak:你的方法只能对Pchar型有用,对于Pointer来说是行不通的,你不妨试试。 --------------------------------------------------------------------------- 问题我已解决,多谢各位。
H hlsl Unregistered / Unconfirmed GUEST, unregistred user! 2004-01-31 #8 自己解决了问题也不说说,难道等到下个人问的时候才再出来取分么?呵呵,有点共享精神好不好,你来这里就是在共享别人的知识~~~
H hlsl Unregistered / Unconfirmed GUEST, unregistred user! 2004-01-31 #9 MoveMemory 不就可以了么? 其实楼上的方法,根本就没有类型转换。