var
  Form1: TForm1;
  cun1:string;
  cun2:string;
implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
begin
edit1.Text  :='1' ;
end;procedure TForm1.Button2Click(Sender: TObject);
begin
edit1.Text :='2';
end;procedure TForm1.Button3Click(Sender: TObject);
begin
edit1.Text  :='3';
end;procedure TForm1.Button5Click(Sender: TObject);
begin
cun1:=edit1.Text;
end;procedure TForm1.Button6Click(Sender: TObject);
begin
cun2:=edit1.Text;
edit1.Text :=cun1+cun2;

end;end.刚接触delphi。想做个简单的10以内加减,现在算出来是12,不适3。就是不知道怎么把字符串转换成整型加减?

解决方案 »

  1.   

    var部分定义一个integer型变量a.
    var
      Form1: TForm1; 
      cun1:string; 
      cun2:string; 
      a:integer;
    然后
    procedure TForm1.Button6Click(Sender: TObject); 
    begin 
      cun2:=edit1.Text;
      a:=strtoint(cun1)+strtoint(cun2); 
      edit1.Text :=inttostr(a); 
    end;
      

  2.   

    给楼主一个比较好的写法吧。(ED_Mark是“-”“+”号的输入;“ED_A”和“ED_B”是数字;
    Bt_Computation是一个计算的按钮)procedure TForm1.ED_MarkKeyPress(Sender: TObject; var Key: Char);begin
      self.ED_Mark.SelectAll;
      if not (key in ['-','+']) then
      begin
        key := #0;
        exit;
      end;end;procedure TForm1.ED_AKeyPress(Sender: TObject; var Key: Char);
    begin
      if not (key in ['0'..'9', #8, #13]) then
      begin
        showmessage('Input number must bigger than 0!');
        key := #0;
        exit;
      end;
    end;procedure TForm1.ED_BKeyPress(Sender: TObject; var Key: Char);
    begin
      if not (key in ['0'..'9', #8, #13]) then
      begin
        showmessage('Input number must bigger than 0!');
        key := #0;
        exit;
      end;
    end;procedure TForm1.Bt_ComputationClick(Sender: TObject);
    begin
      if ED_Mark.Text = '-' then
      begin
        ED_Result.Text := FloatToStr(Strtofloat(ED_A.Text)-Strtofloat(ED_B.Text))
      end
      else
      begin
        ED_Result.Text := FloatToStr(Strtofloat(ED_A.Text)+Strtofloat(ED_B.Text)) ;
      end;
    end;
      

  3.   

     if not (key in ['0'..'9', #8, #13])
    4楼的兄弟解释一下这个吧。不是太懂。。
      

  4.   

    就是按下的键不是数字0-9、TAB、回车
      

  5.   


    这个用英文翻译就是如果 按键不在 [0 - 9, TAB, 回车] 这个范围内,则