我用了个Timer控件,里用
for i:=1 to 100 do
 begin
 Label1.Caption:=IntToStr(i);
 end;但效果不行!然后我用多线程做,但编绎通过,运行就出错!谁能说说我该怎么做,才能让label上数字从0到100动起来!
 

解决方案 »

  1.   

    跑得太快了,我让它sleep一会就看清楚了,var
      i:integer;
    begin
      for i:=1 to 100 do
      begin
        Label1.Caption:=IntToStr(i);
        Application.ProcessMessages;
        sleep(50);
      end;
    end;
      

  2.   

    这个太容易了,定义全局变量I:INTERGER
    timer ONTIMER事件中
    begin 
    Label1.Caption:=IntToStr(i++); 
    end; 
      

  3.   


    这个方法就够了,不要用timer.写出的代码不好管理
      

  4.   

    sleep(50)也太快了,而且没有循环完一次还会造成程序无反应!
      

  5.   

    最主要是在循环前加上Application.ProcessMessages; 然后控制sleep停顿时间