var
  Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
  i,j:integer;begin
   j:=0;
   for i:=1 to 10 do    Edit1.Text:=inttostr(i);
end;
end.end;
为什么在Edit1.texT里怎么一下子就输出10??而我是想按一下按钮就改变一下数字,比如从1到10

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject); 
    begin 
      Edit1.Text:=inttostr(strtointdef(edit1.text,0)+1); 
    end; 
      

  2.   

    因为变化的速度太快了  for I := 0 to 10 do
      begin
        Edit1.Text  := IntToStr(i);
        Application.ProcessMessages ;
        Sleep(100);
      end;
      

  3.   

    var
      Form1: TForm1;
      i: Integer = 0;
    implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    begin
      inc(i);
      edit1.Text:= IntToStr( i );
    end;
    end.
      

  4.   

    i:integer:=0;为什么不可以定义在procedure和begin之间????
      

  5.   

    delphi变量初始化赋值只能用于全局变量,这是语法规定,没办法
      

  6.   

    如果楼主想点一次就可以从1加到10,那除了要在for中调用sleep之外,还要主动的去刷新edit控件。