[リストへもどる]
一括表示

投稿時間:2004/03/25(Thu) 19:56
投稿者名:やまちゃん
Eメール:
URL :
タイトル:
時間(タイマー)関数について
こんにちは。
時間(タイマー)についての質問です。
以下のように処理A、Bがあった場合、

処理A
処理B

処理Aが終わって5秒後に処理Bを行いたいのですが、
なにかよい方法(関数)はありますでしょうか?

処理A
 5秒経過後
処理B


ご存知でしたら、教えて下さい。
宜しくお願いいたします。

投稿時間:2004/03/25(Thu) 20:07
投稿者名:nobu
Eメール:
URL :
タイトル:
Re: 時間(タイマー)関数について
> 処理A
>  5秒経過後
> 処理B

ここのHPの下記はご覧になっていますか?
[日付・時刻関係]

「5秒経過後」と言うのは  DateDiff 関数 にて
自分の開始としたいタイミングから5秒経過したかを
調べて次の処理に移る...と言う事で良いと思います。

または単純に Sleep 5000 で済む処理なのかどうか....。

投稿時間:2004/03/25(Thu) 21:50
投稿者名:ねろ
Eメール:
URL :
タイトル:
Re: 時間(タイマー)関数について
sleepでもいいのですが中断が出来ないという問題と、
バックグラウンドの処理も止まってしまう問題があります。
比較的精度が高く簡単な方法は、APIのTimeGetTime関数を使って
Private Declare Function timeGetTime Lib "winmm.dll" () As Long
Private Sub Command2_Click()
    Dim StartTime As Long
    StartTime = timeGetTime
    Do
        DoEvents
    Loop While (timeGetTime - StartTime < 5000)
End Sub
とやります、3〜5mSec位の高精度です。

投稿時間:2004/03/26(Fri) 10:23
投稿者名:やまちゃん
Eメール:
URL :
タイトル:
Re^2: 時間(タイマー)関数について
できました。
ありがとうございました。