var
i:integer;
begin
for i:=0 to 14 do
begin
edit4.Text:=inttostr(i);
end;
end;
为什么我看不到重0显示到14啊,直接一下就是14了。怎么才可以看到重0显示到14啊

解决方案 »

  1.   

    呵呵,这是编译器优化的结果,它知道你最后在edit4.text的结果为14,所以就直接给了14了^_^
      

  2.   

    var
    i:integer;
    begin
    for i:=0 to 14 do
    begin
    Application.ProcessMessages;
    sleep(200);
    edit4.Text:=inttostr(i);
    end;
    end;
      

  3.   

    循环确实是循环了,倒没有优化,只不过是速度太快,60分之一个刹那就循环完了,所以你看到的只有最终结果要不这样也行:
    var
    i:integer;
    begin
    for i:=0 to 14 do
    begin
    memo1.lines.add(inttostr(i));
    end;
    end;
      

  4.   

    我想让他一个一个显示在EDIT1。TEXT里怎么做啊
      

  5.   

    声明一个 TStringList 变量
    把每次循环的值 加到变量里
    最后一次性 给EDIT1。TEXT复值
      

  6.   

    var
    i:integer;
    begin
    for i:=0 to 14 do
    begin
    edit4.Text:=Edit4.Text+','+inttostr(i);
    end;
    end;
      

  7.   

    显示太快的原因如 hellolongbin(一个人[终不似 少年游]) 所说,暂停一下
      

  8.   

    hellolongbin(一个人[终不似 少年游]) 这位老大说的对!!!^_^
      

  9.   

    要么加个timer来控制间隔时间长短,时间间隔稍微大点
      

  10.   

    呵呵,不是太快也不是优化的原因
    而是刷新
    窗体在循环内没有刷新罢了,所以只显示最后一个数
    刷新一下就行了
    update\Refresh\Repaint
    随便加一个