怎样获取每秒的前50厘秒?

解决方案 »

  1.   

    TTimer只能1/1000秒。
    DateTime只能1/10000秒。
      

  2.   

    使用gettickcount函数
      

  3.   

    使用gettickcount函数判断当前值x是否为1000的整数,如果是,则为每秒的开始然后循环  
    var
       x:int64;
    begin
      x:=gettickcount;
      if x mod 1000=0 then
      begin
         while gettickcount-x<50 do
        begin
          //这里是你要在每秒的前50毫秒执行的内容
        end;
      end;
    end;
      

  4.   

    if Frac(Now*86400)<xxx(你需要的时间长度,0.5就是半秒) then
      

  5.   

    gettickcount,Now只能产生0.01秒的计时精度。(毫秒)
      

  6.   

    1秒=1000毫秒(ms)
    1毫秒=1/1,000秒(s)
    1秒=1,000,000 微秒(μs)
    1微秒=1/1,000,000秒(s)
    1秒=1,000,000,000 纳秒(ns)
    1纳秒=1/1,000,000,000秒(s)
    1秒=1,000,000,000,000 皮秒(ps)
    1皮秒=1/1,000,000,000,000秒(s)楼主的厘秒是何意?
      

  7.   


    gettickcount取得的毫秒的精度是0.001
      

  8.   

    更正gettickcount,Now只能产生1/1000秒的计时精度。
      

  9.   

    Windows内部有一个精度非常高的定时器,精度在微秒级,但不同的系统这个定时器的频率不同,这个频率与硬件和操作系统都可能有关。利用API函数QueryPerformanceFrequency可以得到这个定时器的频率。利用API函数QueryPerformanceCounter可以得到定时器的当前值。QueryPerformanceFrequency
    QueryPerformanceCounter
    可以试试这两个函数
      

  10.   

    厘秒:http://cn.bing.com/dict/%E5%8E%98%E7%A7%92
      

  11.   

    另外,GetTickCount的单位是毫秒, 但是精度并不能达到1毫秒,只能达到10毫秒(单核处理器)或者15毫秒(多核处理器)。