第一天学delphi就编译出错

tomorrow93 2012-05-21 01:17:58
一个edit,一个label,一个button
程序功能:计算机用户输入数字的个位数
button代码:

var
i:integer;
begin
i:=edit1.text;
label1.text:=i mod 10;
end;


编译出错,怎么回事?
...全文
82 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
tomorrow93 2012-05-21
  • 打赏
  • 举报
回复
原来如此 谢谢大家
cntigercat 2012-05-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

i是整数型变量,text是字符串变量,所以不能直接赋值
应该这样:
Delphi(Pascal) code

var
i:integer;
begin
i:=StrToInt(edit1.text);
label1.Caption:=IntToStr(i mod 10);
end;
[/Quote]
+1
FoolRabbit 2012-05-21
  • 打赏
  • 举报
回复
VB里面可以直接赋值,delphi里面不行,需要转换

i:=StrToInt(edit1.text);
label1.Caption:=IntToStr(i mod 10);
fox600123 2012-05-21
  • 打赏
  • 举报
回复
写得精简一点的话,其实变量i是可以省略的
label1.Caption:=IntToStr(StrToInt(trim(edit1.text)) mod 10);
最好加个trim函数,把edit1.text的左右空格去掉,还有对edit.text有只能输入数字的限制。
fox600123 2012-05-21
  • 打赏
  • 举报
回复
数据类型不一样i为integer ,edit1.text、label1.caption为string,必须用inttostr、strtoint之类函数转换。
还有,是label1.caption 不是label1.text!
cdchq 2012-05-21
  • 打赏
  • 举报
回复
i是整数型变量,text是字符串变量,所以不能直接赋值
应该这样:

var
i:integer;
begin
i:=StrToInt(edit1.text);
label1.Caption:=IntToStr(i mod 10);
end;

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧