procedure TForm1.Button1Click(Sender: TObject);
var
  i,j:integer;begin
  edit3.Text :='' ;
  randseed:=10;
  randomize;
  i:=random(10);
  j:=random(10);
  edit1.Text :=inttostr(i);
  edit2.Text :=inttostr(j);
  if (i+j=strtoint(edit3.Text  )) then
      showmessage('你真棒.  !');end;//编译老是出错,为什么呢、

解决方案 »

  1.   

    编译没有错误呀,是不是运行的时候出错?edit3.text := ''; 后面 strtoint(edit3.text)肯定不能转换,报错。修改edit3.text := ''为edit3.text := '0';
      

  2.   

    编译应该没问题吧,呵呵
    不过运行会出错。
    你先把edit3:='',接着又strtoint(edit3.text),肯定会报错
      

  3.   

    edit3.Text :='' ; 非数字的,strtoint就会出错!
      

  4.   

    if (i+j=strtoint(edit3.Text )) then
    改为
    if (i+j=strtointdef(edit3.Text,0 )) then
      

  5.   

    edit3 := '';
    strtoint('')肯定错
      

  6.   

    edit3.Text :='' ;去掉应该就可以了。因为你的目的是要让输入edit3的数字=2个随机数的和?
      

  7.   


      if (i+j=strtoint(edit3.Text )) then
      showmessage('你真棒. !');
    这部分代码应该放在另一个按钮的Click事件中,还要加上edit3.Text <> ''的判断
      

  8.   

    晕 哪要这么麻烦!
    直接判断下edit3是否为空,不为空在比较不就好了么
    比如 :
      if Edit3.Text <> '' then
       if IntToStr(I+J) = Edit3.Text then
         ShowMessage('初学者:你真棒!');
      

  9.   

    if (i+j=strtoint(edit3.Text )) then 错了,不能这样转换
    edit3.Text:=‘0’;
      

  10.   


    if (i+j=strtointdef(edit3.Text, 0)) then