• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    利用timeGetTime函數更精準地計算時間差

    發布: 2007-7-14 20:28 | 作者: 佚名    | 來源: 網絡轉載     | 查看: 16次 | 進入軟件測試論壇討論

    領測軟件測試網 我想每 0.005 秒做某一件工作, 所以撰寫了以下程序:
    Dim tm1 As Single
    Do
    tm1 = Timer
    While Timer - tm1 < 0.005 ' 等于 0.005 秒
    DoEvents
    Wend
    ...做某一件工作
    Loop
    但實際上, 在 While 循環里面, Timer 函數幾乎每次都得到相同的時間,只有大約隔了 0.05秒才會得到不同的時間, 也就是說 Timer 的準確性只有 0.05 秒,但我希望進行的工作卻是每 0.005 秒一次, 該怎么辦呢?可以改用 Windows API 的 timeGetTime 函數, 此一函數會傳回 Windows 開機以來所經過的時間,時間單位是 1/1000 秒, 舉例來說, 開機經過 2 分鐘, 則傳回值等于 2*60*1000, timeGetTime 的優點是時間可以精確到 1/1000 秒, 所以可以用來解決上述的問題,細節如下:

    1. API 的聲明:
    Private Declare Function timeGetTime Lib "winmm.dll" Alias "timeGetTime"
    () As Long
    注:如果以上的聲明放在「一般模塊」底下, 應將 Declare 之前的 Private 保
    留字去掉。

    2. 程序范例:
    Dim tm1 As Long
    Do
    tm1 = timeGetTime
    While timeGetTime - tm1 < 5 ' 等于 5/1000 = 0.005 秒
    DoEvents
    Wend
    ...做某一件工作
    Loop

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>