一个edit,一个label,一个button
程序功能:计算机用户输入数字的个位数
button代码:var
 i:integer;
begin
 i:=edit1.text;
 label1.text:=i mod 10;
end;编译出错,怎么回事?

解决方案 »

  1.   

    i是整数型变量,text是字符串变量,所以不能直接赋值
    应该这样:var
    i:integer;
    begin
      i:=StrToInt(edit1.text);
      label1.Caption:=IntToStr(i mod 10);
    end;
      

  2.   

    数据类型不一样i为integer ,edit1.text、label1.caption为string,必须用inttostr、strtoint之类函数转换。
    还有,是label1.caption 不是label1.text!
      

  3.   

    写得精简一点的话,其实变量i是可以省略的
      label1.Caption:=IntToStr(StrToInt(trim(edit1.text)) mod 10);
    最好加个trim函数,把edit1.text的左右空格去掉,还有对edit.text有只能输入数字的限制。
      

  4.   

    VB里面可以直接赋值,delphi里面不行,需要转换i:=StrToInt(edit1.text);
    label1.Caption:=IntToStr(i mod 10);