• ベストアンサー

Timerコンポーネントのインターバルを短く

alfeimの回答

  • ベストアンサー
  • alfeim
  • ベストアンサー率58% (114/195)
回答No.2

CPUがPentium以降であれば QueryPerformanceCounter() QueryPerformanceFrequency() を使えばμSecでも取得可能です

Richi
質問者

お礼

御返事ありがとうございました。

関連するQ&A

  • コンポーネントのインストール

    Delphi用に作成されたコンポーネントをC++Builder6にインストールしたのですが、実際に使用する際になって、hのヘッダーファイルが不足しているとのエラーメッセージが表示されました。DelphiでC++Builder用にコンポーネントを作成する場合や、使用する際の方法を教えてください。

  • Timerについて教えて下さい

    ある処理を5秒おきに、n回だけ実行したいのですが、「n回」をどのように実現したらよいのかわかりません。Timerクラスのメソッドにはないようなのですが。。簡単なサンプルコードを書いてみましたので以下を元に修正方法を教えて頂けると助かります。 import java.util.Timer; import java.util.TimerTask; public class TimerTest { public static void main(String[] args) { int n=10; Timer timer = new Timer(); timer.schedule(new sendTask(), 5000, 5000); } } class sendTask extends TimerTask { public void run() { System.out.println("Hello World"); } }

    • ベストアンサー
    • Java
  • System.Timers.Timer について

    下記のようなコードで動いていますが、 TestFunc に独自の引数を渡したいと考えています。 どうすれば実現できるでしょうか? 引数以外(メンバ変数等)では対応できていますので、 引数の方法だけ教えてほしいです。 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load timer = New System.Timers.Timer() AddHandler timer.Elapsed, New ElapsedEventHandler(AddressOf TestFunc) timer.Interval = 1000 timer.Start() End Sub Public Sub TestFunc(ByVal sender As Object, ByVal e As ElapsedEventArgs) Console.WriteLine(DateTime.Now) End Sub

  • C#のTimerについて

    こんにちは。 C#のプログラミングについてわからないところがありますのでご回答いただければと思います。 私はC#を用いて簡単な計算ゲームを作成しています。 その計算ゲームには対戦相手がおり、対戦相手の正解数はTimerを用いてユーザーに練習問題を解かせた時の解答時間を基に勝手に正解数が増えていくといったシステムにしています。 そこで1つ解決できない問題が浮上しました。 対戦相手の数を4人にして4人バラバラに解答しているような動きにしたいため、Timerを4つ設けそれぞれを動かせるようなプログラムを作成しました。 エラーもなく普通に実行できます。 しかしTimer1とTimer2は正常に動き対戦相手の正解数が増えていくのですが、Timer3とTimer4が全く反応していないのか、動かず、対戦相手の正解数が増えません。 プログラムの内容はTimer1~Timer4も対応する変数が違うこと以外一緒です。 原因は何であるかわかる方教えてください! C#ではTimerの使用数が2つまでとなっている?ってことなのでしょうか? スレッドを用いる方法もあると思いますが、Timerを4つ並べてそれぞれを動作させる方法があるのでしたら是非教えてください。 最後になりましたが、わかりにくい文章で本当に申し訳ありません。 よろしくお願いします。

  • 他ソフトへのデータ伝送

    C++Builderという開発ソフトを使って、研究をしている大学生です。 C++Builderのプログラム上の配列に入っているデータを、他のソフト(MATLAB)に伝送して計算処理をしたいのですが、なにか良い方法はないでしょうか? 例) C++Builderの配列に入っている値 str[0]=5,str[1]=4 MATLABでやりたいこと 5+4 (str[0]+str[1]) 単純に言えば、上記のような処理を実現したいのです。 COMコンポーネントやActiveXを使えばいいという話も聞いたのですが、 いまいち使い方(プログラミング)もわかりません。 どなたか参考になる意見をお願いいたします。

  • C++BuilderのTMainMenuコンポーネントで

    よくメニューバーの[表示]に、「ズーム >」などのように、どんどん階層的にメニューがあるものがありますが、それはC++BuilderのTMainMenuコンポーネント等で作成出来るのでしょうか? [表示]->[ズーム]->[拡大]などのように階層的なメニューバーを作成したいんです。 なにか方法がありましたらよろしくお願いします。

  • 1文字単位でアクセスできるようにするには?

     Borland C++ Builder 6 を使っています。 memoコンポーネントでは文字列を行単位で、アクセスできるようですが、その行の中の1文字をクリックすることによりアクセスできる方法はないでしょうか? 他に、適したコンポーネントがあるのでしょうか? または、配列か何かを使って、プログラムで、実現させることができるのでしょうか?その方法に困っています。よろしくお願いします。

  • C++Builder Ver6.0.でコンポーネントを追加方法?

    C++Builder Ver6.0を使っていますが 「 CommX.pas, CommX.dcr をライブラリパスの通ったフォルダにコピーし、 CommX.pas をインストールして下さい。」 とあるのですがどのように進めたらよいのでしょうか? 手順を教えてください。 コンポーネントのインストールの方法手順のサイト がありましたら宜しくお願いします。

  • Timerコントロールによる動作の時間間隔設定について

    よろしくお願いします! ある常駐プログラムを作成し、操作者があらかじめ指定した時間ごとに 画像を保存するという設定にしています。 Timerコントロールで直接時間間隔を指定するとIntervalが最大60000くらい らしいので、まずLabel1にInterval1000で時計を表示して、次にLabel2に もLabel2.caption=timeで時刻を表示します。 操作者が仮に2分ごとに画像を取ると指定した場合は、 Label2の時刻にDateAddで("s",120,TimeValue(label2.caption))した時刻と Label1の時刻が同じになったら画像を取るというコードにしてます。 で、画像を取ると同時にLabel2.caption=timeでLabel2の値を現在時刻に し、また繰り返し2分足したものとLabel1.captionが同じになるのを 待って画像を取ります。 これを繰り返して指定した時間間隔で画像を取るようにしていまして、 ちゃんと動作するのですが、なぜか時計が23:59:57くらいで Label2の方の表示が止まってしまうのです。 Label1の方はTimerで1秒ごとにちゃんと時計を表示し続けている のですが、Label2だけ0時直前で必ず止まってしまいます。 何か日付が変わると表示ができなくなるような決まりがあるのでしょうか。 色々と試したのですが、ここだけが分かりません。 ご教授お願いいたします! また、私のやり方以外に何か時間間隔を指定する良いコードが ございましたら教えていただけますでしょうか? 例えばTimerコントロールを1分ごとに起動して、3分なら3回カウント させるような方法もどこかで目にしたのですが、操作者が指定する 時間間隔は秒単位にしているので、3秒であったり、120秒(2分)で あったり様々です。 その場合の方法がよく分からないので、最初に書いた方法でコードを 書いています。 よろしくお願いします!!!

  • コンポーネントが見つかりません

    PCを立ち上げようとすると、以下のメッセージが表示されてしまいます。 <lsass.exe-コンポーネントが見つかりません> NTDSAPI dllが見つからなかったため、このアプリケションを開始できませんでした。アプリケーションをインストールし直すとこの問題は解決される場合があります。 この表示の次にOKボタンを押しても画面は真っ暗のままで、この先へ進むことが出来ません。 正常に立上げられるように修復する方法をご教示頂ければ助かります。 OS:XP    PC:DELL DIMENSION 4600C です。