本想让它ping一次label就显示一个结果出来,可是它直到循环执行完了才一次把所有结果显示出来,不知应该怎么做!代码如下:
for i:=1 to 5 do
begin
  idicmpclient1.Ping;
  label1.caption:=label1.caption+'第'+inttostr(i)+'响应时间='+idicmpclient1.ReplyStatus.MsRoundTripTime;
end;

解决方案 »

  1.   

    for i:=1 to 5 do
    begin
      idicmpclient1.Ping;
      label1.caption:=label1.caption+'第'+inttostr(i)+'响应时间='+idicmpclient1.ReplyStatus.MsRoundTripTime;  Application.ProcessMessages;//让程序相应windows消息,包括界面重绘的消息
    end;
      

  2.   

    for i:=1 to 5 do
    begin
      idicmpclient1.Ping;
      label1.caption:=label1.caption+'第'+inttostr(i)+'响应时间='+idicmpclient1.ReplyStatus.MsRoundTripTime;
      
      Form1.Refresh;  // 最重要的一句了
      Application.ProcessMessages;//让程序相应windows消息,包括界面重绘的消息
    end;
      

  3.   

    tonylk(tony) 的方法就行了。至于楼上的 Form1.Refresh;没必要