tiangao 发表于 2011-3-28 08:51:02

会DELPHI的朋友进来帮我一下!

刚学DELPHI。以前用VB。搞得很晕问题如下:
var
i :cardinal;
begin
showmessage (lb1.Items);//lb1.items里装的是怪ID。32位无符号整数(比如是2148537817)
i:= dword(lb1.Items );//
showmessage(inttostr(i));//但到这里显示的确是402864625
end;
请朋友们帮我看看是DOWRD转换的时候出错。还是INTTOSTR时出错!因为刚学一些调试手段还不会。而且这些我都是写DLL里。也不知道怎么在DLL调试!到底要怎么样才能把LB1.ITEMS里的string类型转成CARDIANAL请朋友帮忙!

sghfxp 发表于 2011-3-28 08:51:16

i:= dword(lb1.Items );//
这句有问题,括弧里的是STRING型,你必须用StrToInt来转换!!

ilih 发表于 2011-3-28 08:51:26

按lewei2000所说还是不行
i:= STRTOINT(lb1.Items );
提示2148537817是无效的integer
是不是strtoint 只能转换代符号的32位整数!!2148537817超出了他的范围

zhangjian950617 发表于 2011-3-28 08:51:40

你把I定为无符号整数肯定不行,要把I定为整数
var
i :Integer;
页: [1]
查看完整版本: 会DELPHI的朋友进来帮我一下!