我做一个计算器,实现加法,代码如下:procedure TForm1.pluseClick(Sender: TObject);
begin
  s:=0;
  edit1.Text:= edit1.Text+ (sender as Tbutton).Caption; 
  s:=strtoint(edit1.text);
  edit1.Text:='';end
公共事件出现错误:(sender as Tbutton).Caption,怎么办?

解决方案 »

  1.   

    你的语句不太明白, edit1.Text:= edit1.Text+ (sender as Tbutton).Caption; ?????
    (sender as Tbutton).Caption?????
      

  2.   


    edit1.Text:= edit1.Text+ TButton(sender).Caption;
      

  3.   

    Edit1.Text:=Edit1.Text  + self.Button2.Caption;
      

  4.   

    我的整个程序是这样的:procedure TForm1.pluseClick(Sender: TObject);
    begin
      s:=0;
      edit1.Text:= edit1.Text+ (sender as Tbutton).Caption;
      s:=strtoint(edit1.text);
      edit1.Text:='';end;
    (sender as Tbutton).Caption就是我点击计算器上的0~9的按钮的caption赋给edit1,“procedure TForm1.pluseClick(Sender: TObject);”这是我点击加号时触发的事件。运行时候事件出现错误,不知道该怎么改?
      

  5.   

    (sender as Tbutton).Caption本身应该没有什么错,,
    LZ点击加号触发该事件,那么此时sender应该是加号按钮吧
    所以edit1.Text:= edit1.Text+ (sender as Tbutton).Caption;
    edit1.text := edit1.text + '+'
      

  6.   

    这样还是不行,运行时出现错误:''++'is not a valid integer value'.
      

  7.   

    var
      iFirst: Integer;
    1,点击0。。9中一个,edit1.text := TButton(Sender).Caption;
    2, 点击+
    3,点击0。。9中一个,iFirst := StrToInt(edit1.text); 
                         edit1.text := TButton(Sender).Caption;
    4, 点击=             edit1.text := IntToStr(iFirst + StrToInt(edit.text ));
    大概思路应该是这样的吧