• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:タイマーがうまくできません)

タイマーがうまくできません

このQ&Aのポイント
  • VisualBasicにてタイマーを作ろうと思っています。(キッチンタイマーみたいなもの)プロパティの初期値としては「Timer2.Interval = 100」
  • プログラムを実行させると通常の約2倍の速さで秒数を刻んでいきます。hyaku = Int((hyaku - 0.1) * 10) / 10をhyaku = hyaku - 0.1にすると小数点1位未満の数字も表示されてしまいます。
  • Excelの関数にある「Round」みたいなものがあれば教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • tom11
  • ベストアンサー率53% (134/251)
回答No.1

こんにちは、 先ず、visual basicのバージョンを書かないと!!! インターバルは100ミリ秒でも、正確に100ミリ秒にならないので、 100ミリ秒に1回時間を取得して、時間で、何秒経過しているか 確認した方が良いです。 >またExcelの関数にある「Round」みたいなものがあれば教えてください VB2005だと、ヘルプをコピーすると Math.Round(3.44, 1) 'Returns 3.4. Math.Round(3.45, 1) 'Returns 3.4. Math.Round(3.46, 1) 'Returns 3.5. になる、Roundが、あるみたいです。

hiromu1988
質問者

お礼

回答ありがとうございます。 Roundを使用したところタイマーの2倍進行も止まり、一石二鳥となりました。

その他の回答 (1)

  • Moutakun
  • ベストアンサー率0% (0/1)
回答No.2

ラーメンタイマー作者です。昔、こんなふうに作りました。 使えそうな部分があればどうぞおもちください。 Option1,2,3は選択ボタン CommandButton1は測定スタート Text1は「あと☆秒」の表示窓、 Text2は「あと☆秒」を分・秒に換算した時の「分」 Text3は同じく「秒」 時間になった時の音をDekita.wav 時間になる30秒前の音をPreDekita.wavとして・・・ ************************************************ Private Sub Command1_Click() 'Option1がクリックされたら180秒にセット If Option1.Value = True Then Text1.Text = 180 End If 'Option2がクリックされたら240秒にセット If Option2.Value = True Then Text1.Text = 240 End If 'Option3がクリックされたら300秒にセット If Option3.Value = True Then Text1.Text = 300 End If 'タイマーを作動させ間隔を1秒にする Timer1.Enabled = True Timer1.Interval = 1000 Command1.Caption = "測定中" End Sub ************************************************ Private Sub Timer1_Timer() 'TextBox1を数値化し、1を引いていく Text1.Text = Val(Text1.Text) - 1 'TextBox1を分・秒に変換 Text2.Text = Int(Val(Text1.Text) / 60) Text3.Text = Val(Text1.Text) Mod 60 'TextBox1が30になったらPreDekita.wavを鳴らす If Text1.Text = 30 Then With MMControl1 .Command = "Close" .FileName = App.Path & "\" & "PreDekita.wav" .Command = "Open" .Command = "Play" End With End If 'TextBox1が0になったらDekita.wavを鳴らす If Text1.Text = 0 Then With MMControl1 .Command = "Close" .FileName = App.Path & "\" & "Dekita.wav" .Command = "Open" .Command = "Play" End With 'タイマーの作動を止める Timer1.Enabled = False Command1.Caption = "スタート" End If End Sub

関連するQ&A

専門家に質問してみよう