アプリ版:「スタンプのみでお礼する」機能のリリースについて

VB6で教えていただきたいことがあります。
LOOPで回して処理をしているのですが、
一定時間たったら、別の処理を動かすようにしたのですが、どのようにすればよいでしょうか?

A 回答 (3件)

s_husky です。



補足: 「ループ内に DoEvents を書く必要があるか否かは既知である」という前提です。
    • good
    • 0

Private Sub Command1_Click()


  Dim isNext As Boolean
  Dim Finish As Single
  
  Finish = Timer + 10
  Do
    If Timer > Finish Then
      isNext = True
      Exit Do
    End If
  Loop Until (0)
  If isNext Then
    MsgBox "isNext の値は真です。"
  End If
End Sub

次の処理へ移ることを明示する説明的なコードの書き方が無駄と言う場合は、

Private Sub Command1_Click()
  Dim Finish  As Single
  
  Finish = Timer + 10
  Do
    ・・・・・
  Loop Until Timer > Finish
  ・・・・・
End Sub

なども考えられます。

※「ループ内で他の処理を呼ぶ必要はない」という考えです。
    • good
    • 0
この回答へのお礼

いろいろな方法があるんですね。
勉強になりました。ありがとうございます。

お礼日時:2006/05/14 16:38

お世話になります。



GetTickCount を使うのはどうでしょうか。
http://homepage1.nifty.com/rucio/main/tyukyu/tyu …

Dim startTime As Long
startTime = GetTickCount() 'Loop 実行前

Dim i As Integer
For i = 0 To 10000
  Dim nowTime As Long
  nowTime = GetTickCount() '現在

  If (nowTime - startTime) > 1000 Then
    '別の処理 を実行
  End If
Next

参考URL:http://homepage1.nifty.com/rucio/main/tyukyu/tyu …
    • good
    • 1
この回答へのお礼

助かります。
できました。ありがとうございました。

お礼日時:2006/05/14 16:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています