• 締切済み

時間取得関数

OS:win2000pro VB:VB6.0sp5 変数(信号)p が不規則に 0,1 を繰り返してます (1)p=0→1 に変化したおりパソコンのシステム時刻(start_tm)  を取得 (2)p=1→0 に変化したおりパソコンのシステム時刻(end_tm)  を取得 (3)p=1 の時間(end_tm - start_tm)を取得 する方法を教えてください よろしくお願いいたします

みんなの回答

noname#22222
noname#22222
回答No.4

s_husky です。 VB6がありませんので未テストで書いたところバグがあります。 E、Sは、当然のことながら静的変数です。 また、ルーチンのみを参考にし、TimerコントロールはHELPを参照して下さい。

全文を見る
すると、全ての回答が全文表示されます。
noname#22222
noname#22222
回答No.2

初歩的な手法を案内します。 1、Pが広域変数であるとして、 2、Timerコントロールは配置しているとして、 Timerイベントに以下のコードを記述します。 Static NowP As Integer Dim NewP  As Integer Dim S    As Long Dim E    As Long      NewP = P If NewP <> NowP Then     NowP = NewP     If NowP = 0 Then         E = Timer         Debug.Print E - S     Else         S = Timer     End If End If

全文を見る
すると、全ての回答が全文表示されます。
noname#22222
noname#22222
回答No.3

初歩的な手法を案内します。 1、Pが広域変数であるとして、 2、Timerコントロールは配置しているとして、 Timerイベントに以下のコードを記述します。 Static NowP As Integer Dim NewP  As Integer Dim S    As Long Dim E    As Long      NewP = P If NewP <> NowP Then     NowP = NewP     If NowP = 0 Then         E = Timer         Debug.Print E - S     Else         S = Timer     End If End If

全文を見る
すると、全ての回答が全文表示されます。
  • taunamlz
  • ベストアンサー率20% (175/843)
回答No.1

Public Declare Function timeGetTime Lib "winmm.dll" () As Long public start_tm as long public end_tm as long (1)start_tm = timeGetTime() (2)end_tm = timeGetTime() (3)Label1.Caption = (CDbl(start_tm) - CDbl(start_tm)) / 1000 & "秒" 多分これで1ms単位で時間を測定できると思います。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 時間取得

    OS:win2000pro vb:VB6.0sp5 状態を示すフラグ [変数]flg_1 as long [変数]flg_2 as longがあり 下記状態時の累積時間を取得する方法を教えてください 時刻 flg_1 flg_2 累積時間(秒) 14:22:00 0 0 0 14:23:00 1 0 0 14:23:30 1 1 0 ←累積カウントスタート 14:25:00 1 0 90 ←累積カウントストップ 14:26:00 1 1 90 ←累積カウントスタート 14:30:00 1 0 330 ←累積カウントストップ 14:30:10 0 0 0 ←累積リセット 14:35:50 1 1 0 ←累積カウントスタート 14:37:00 1 0 70 ←累積カウントストップ (補) flg_1=1の間、累積カウントUp (補) flg_2=1にて、累積リセット よって、 14:30:00時点  330(秒)→5.5(分)   →[小数1位四捨五入]→6(分):戻値 14:37:00時点  70(秒)→1.166…(分)   →[小数1位四捨五入]→1(分):戻値

  • 1ヶ月前の日時を取得

    OS:windows2000pro VB:VB6.0sp5 現在時刻の一ヶ月前の日時を取得する方法を教えてください よろしくお願いいたします

  • 環境変数の取得

    はじめまして。VB6.0で開発を行っております。 その中で環境変数の取得をしたいと思っております。 環境変数の取得には、「Environ」関数を使用しております。この関数では、ユーザが設定した環境変数は取得できないのでしょうか? システムをインストールする際に環境変数の設定を行っております。その後、システムでその環境変数を取得したいと思っているのですが、うまく取得できません。 「Path」とかであれば取得できるのですが・・・。 それと、マイコンピュータのプロパティから環境変数を調べてみたところちゃんと設定されています。 よろしくお願いします。

  • Now(現在時刻)を取得について

    OS:windows2000pro VB:VB6.0 端末Aにて、Now(現在時刻)を取得すると →"2005/03/08 11:31" 端末Bにて、Now(現在時刻)を取得すると →"05/03/08 11:31" とされます  端末Bが、"2005/03/08 11:31" と取得できないのは、どうしてでしょうか?  また、解決方法をご存知の方は教えて下さい 宜しくお願いいたします

  • 環境変数の値(パス)取得についてです。

     いつもお世話になっております。 VBでシステム環境変数に登録されている[変数]をキーにして[値(パス)]を取得したいのですが、やり方がわかりません。  知っている方がいらっしゃいましたら、よろしくお願いいたします。  

  • プロセスの情報取得

    vb.netで開発しています。 あるexe(仮にwatch_p.exeとします)のプロセスの情報(CPU時間)を取得し、一定時間以上(30分以上)だった場合強制終了するプログラムを作成しようとしています。 以下のようにCPU時間の取得する方法までは見えていますが、取得した 時間を比較する方法が見えていません。 忙しいことと思いますが、回答をお願いします。 Dim ps As System.Diagnostics.Process() = _ System.Diagnostics.Process.GetProcesses() '配列から1つずつ取り出す Dim p As System.Diagnostics.Process For Each p In ps Try If p.ProcessName="watch_p" then '合計プロセッサ時間 Console.WriteLine(p.TotalProcessorTime) End if Catch End Try Next p

  • hwclockの実行時間はどれくらい?

    Cプログラムから時刻合わせでdate , hwclockをコールしているのですが、 system("date -s '2006/07/12 09:06:20'"); printf( "system( hwclock ): Start\n" ); system( "hwclock --systohc" ); printf( "system( hwclock ): End\n" ); と記述すると、時折 "system( hwclock ): Start"を表示してから "system( hwclock ): End"を表示するまで 10秒くらいかかる時があります。 そんなものなのでしょうか?

  • 他のPCの日付・時刻の取得

    複数台のPCからAccessデータベースに 接続して書き込むプログラムをVBで作成していますが 共通の日付時刻を取得したいのですが可能でしょうか? 1.データベース(Access2000)で日付を取得 2・データベースファイルがあるPCの日付時刻を取得 データベースに日付をもっているとは思えないので「2」の方法に なると思うのですが、、どちらでも構いませんし別の方法があれば 教えて下さい。 VB6 SP5 ACCESS 2000(ADO2.5,DAO3.6)

  • 時間の処理方法

    VB2008 ユーザーフォーム上に 時刻Label(現在時刻表示) ボタン1 時刻dgv DataGridViewを配置しています DataGridViewの列は一列で、文字列の時刻を表示させています(12:00) 行の時刻が現在時刻よりも以前の場合、セルに色を つけたいのですがうまくいきません Public Class 時刻一覧表Form Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If  Me.時刻dgv(0, 0).Value < 時刻Label Then         Me.時刻dgv(0, 0).BackColor = Color.Yellow End If End Sub End Class

  • 関数呼び出しに時間がかかる

    VB.NETに関してご質問があります。 下記ソースで、OKボタをクリックしたときにcmdOK_Click()関数が実行されます。 TimeLogは現在時刻をログに出力する関数です。 cmdOK_Click()内でTest()関数をコールしていますが、(1)と(2)の時間差が約3~4秒となります。 しかし、Test()関数内の「Dim rs As ADODB.Recordset = Nothing」を削除すると、(1)と(2)の時間差はほぼなくなります。 「Dim rs As ADODB.Recordset = Nothing」が関数内に記載されているだけで、時間が3,4秒もかかる原因は何でしょうか? <ソース例> 'OKボタンクリック時のイベント Private Sub cmdOK_Click(省略)  clsCommon.TimeLog("cmdOK_Click Start") '(1)現在時刻をログに出力  Test() End Sub Private Sub Test()  clsCommon.TimeLog("Test Strat") '(2)現在時刻をログに出力  Dim rs As ADODB.Recordset = Nothing End Sub