Rtime:=GettickCount div 1000;  //?
  while (gettickcount div 1000)<(rtime+2) do  //?
  Application.ProcessMessages;   //?
  Application.Initialize;
   ........................
 看了别人的一段代码中有这句,不知道他的意义是什么~~

解决方案 »

  1.   

    GettickCount div 1000
    取系统运行到现在所经过的毫秒时间然后除以1000取整数
    1000毫秒=1秒while (gettickcount div 1000)<(rtime+2) do  
    while 条件符合 do 循环体Application.ProcessMessages;
    响应系统消息
      

  2.   

    (gettickcount div 1000)<(rtime+2) do这个条件是作什么用的?他的意义是什么?
      

  3.   

    使程序延时一段时间,(上为2秒) Application.ProcessMessages;// 这句话相当VB的DoEvents。如果你运行一个非常耗时的循环,那么在这个循环结束前,你的程序可能不会响应任何事件,你按按钮没有反应,程序设置无法绘制窗体,看上去就如同死了一样,这有时不是很方便,例如于终止循环的机会都没有了。这时你就可以在循环中加上这么一句,每次程序运行到这句时,程序就会让系统响应一下消息,从而使你有机会按按钮,窗体有机会绘制。