回 帖 发 新 帖 刷新版面

主题:请帮我看下程序语法哪里错了.怎么改

procedure   TForm1.Button1Click(Sender:   TObject); 
var     a,b:integer; 
begin 
          a:=strtoint(edit1.text); 
          b:=strtoint(edit2.text); 
          sum1:=a+b 
          button1.caption:=sum1; 
end; 

回复列表 (共5个回复)

沙发

button1.caption:=sum1; 

int  to  Str

板凳

button1.caption:=IntToStr(sum1);

3 楼

没错,你主是整型转换。所以要保证你的edit录入正确,不要用空格
intostr(trim(edit1))

4 楼

上述有两种错误:
1、无定义sum1;
2、如果长型edit1.text或edit2.text是长型数时,会出错;
3、如果想要1+1=2效果时,如下;
procedure TForm1.Button1Click(Sender: TObject);
var     a,b,sum1:integer;
begin
          a:=strtointdef(edit1.text,0);
          b:=strtointdef(edit2.text,0);
          sum1:=a+b;
          button1.caption:=inttostr(sum1);
end;
4、如果想要1+1=11效果时,如下;
procedure TForm1.Button1Click(Sender: TObject);
var
a,b:integer;
sum1:string;
begin
          a:=strtointdef(edit1.text,0);
          b:=strtointdef(edit2.text,0);
          sum1:=inttostr(a)+inttostr(b);
          button1.caption:=sum1;
end;

5、想要另一种效果,如下:
procedure TForm1.Button1Click(Sender: TObject);
var
a,b,sum1:string;
begin
          a:=edit1.text;
          b:=edit2.text;
          sum1:=a+b;
          button1.caption:=sum1;
end;

5 楼

首先,参数sum1没有定义;
其次,caption属性值是字符串类型,所以要用inttostr()转换

我来回复

您尚未登录,请登录后再回复。点此登录或注册