将‘4294967295’转换成cardinal时,会抛出转换错误,''4294967295'不是有效的integer,怎么办?
解决方案 »
- 兄弟们这个问题好长时间没有解!!一块心病啦!!!!!!高手请进!!!!!!!!!
- 关于进度条控件的两个问题
- Delphi开发Web的超连接到新的一页问题
- 请高手做答,考验能力的问题
- 如何获得光标的坐标而不是鼠标的坐标
- SQLConnection连接问题,请帮忙!
- 有什么好的TreeView+Checkbox的控件?
- 送分哦
- 学习Delphi有没有类似www.codeguru.com(vc++)一样的网站?
- 上传下载文件,用ftp?winSocket?还是DCOM?
- 特别推荐 CodeGear(原Borland) 中国公司范路先生 20 多个小时的视频讲座!
- 使用mydac组件时问题,自带的dll封装MyConnection1的,MyTable1只能保存一次,保存第二次就出现FUpdateQuery is TCustomMyDataSet错误
Integer -2147483648..2147483647 signed 32-bit超出范围了当然会出错了.//自己写个函数转换不就OK了.
function StrToInt64(strTmp: string): int64;
var
i: integer;
begin
result:= 0; for i:= 1 to Length(strTmp) do
begin
if (strTmp >= '0') and (strTmp <= '9') then
Result:= Result * 10 + (Ord(strTmp[i]) - 48)
else begin
Result:= 0; //这里可以抛出一个异常来代替
exit;
end;
end;
end;
换用StrToInt64函数就行了(需要引用SysUtils单元)。
var
i : cardinal;
begin
i := StrToInt64('4294967295');
ShowMessage (IntToStr(i));
end;