//创建窗口         //???????????????????????????????????????????????????????
procedure TfrmEPlayer.FormCreate(Sender: TObject);
var
  StopTime: DWord;
begin
  StopTime := GetTickCount div 1000;
  while ((GetTickCount div 1000) < (StopTime + 1)) do
  Sleep(1);
  PositionChange := False;
end;

解决方案 »

  1.   

    GetTickCount div 1000
    GetTickCount  取得的是毫秒数,div 1000 就是秒了
    The GetTickCount function retrieves the number of milliseconds that have elapsed since Windows was started.
      

  2.   

    to:yinzhiw(不懂OOP)
      我看了Delphi的帮助文档,也是这样写的,我问的是这段代码,在form创建的时候加上,主要起到了什么作用,小弟实在是看不懂,这是一个mp3播放器的formcreate代码
      

  3.   

    应用程序恶意的延时.
    建议把  Sleep(1);改成Application.ProcessMessage.
      

  4.   

    没看出有什么作用,反正是延时而且用Sleep(1);不是很好
    如楼上所说应该用Application.ProcessMessage.TO: xthmpro_cn(安徽农民*在外打工)
      你时安徽哪里的?我也是安徽地
      

  5.   

    while ((GetTickCount div 1000) < (StopTime + 1))
    那请问一下这个判断的目的是什么呢?也就是什么样的情况下才执行sleep(1)
      

  6.   

    GetTickCount() 这个函数用于获取windows自启动以来经历的时间长度(毫秒).
    这里先将stoptime设置为执行“StopTime := GetTickCount div 1000”这条语句时windows已在运行的秒数;另一个while语句,这个语句另外延迟1秒钟(stoptime+1,若延迟两秒则为stoptime+2),也就是当执行这个循环语句时的时间如果小于stoptime+1则sleep(1)。