• 締切済み

BorlandC++Builderでのタイマー機能教えて下さい

初めて投稿します。 現在BCBを使用してますがタイマー機能を使用して(使用無しでも^^) 作りたい機能があるんですけど、どうしたらいいのか息詰まってしまって誰か教えて下さい。 とりあえずフォームにボタンを用意してボタンを押したら 時間が流れまたボタンを押したら5秒止まって勝手に動きだす プログラムを作りたいんです。色々本やネットを検索したんですけど 駄目でした。誰かご教授下さい。 ちなみに最初の時間が流れるのは時計でも何でも動いてるのが 分かればどんなものでも大丈夫です。文字が横に流れるとかでもとりあえず動いていて止まってまた動きだす感じです。 ボタンを押したら時間が流れて0秒になったら最後ShowMessageが 出るプログラムは出来たのですが。上記のがなかなか出来ません。 どうぞ宜しくお願いします(ノ_-、)

みんなの回答

  • sayaama
  • ベストアンサー率44% (8/18)
回答No.3

サンプルです。 bool bFirst; を、privateに追加して、フォームにタイマーとボタンを配置して、 以下ですね。 //--------------------------------------------------------------------------- void __fastcall TForm1::FormCreate(TObject *Sender) { bFirst = true; } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { if(bFirst){ bFirst = false; Timer1->Enabled = true; }else{ Timer1->Enabled = false; bFirst = true; Timer1->Interval=5000; Timer1->Enabled = true; Button1->Caption = "5秒休憩中だよ。"; Button1->Enabled = false;// } } //--------------------------------------------------------------------------- void __fastcall TForm1::Timer1Timer(TObject *Sender) { Timer1->Enabled = false; if(!bFirst){ Button1->Enabled = true; SYSTEMTIME st; ::GetLocalTime(&st); AnsiString As; As.printf("%d:%02d:%02d-%03d",st.wHour,st.wMinute,st.wSecond,st.wMilliseconds); L->Caption = As; Timer1->Enabled = true; Button1->Caption = "押したら5秒とまるよ。"; P1->Enabled = true; }else{ Timer1->Interval=10; bFirst = false; Timer1->Enabled = true; } } //---------------------------------------------------------------------------

bu-rinko
質問者

お礼

ありがとうございました!参考になりました!! 感謝です。

全文を見る
すると、全ての回答が全文表示されます。
  • sayaama
  • ベストアンサー率44% (8/18)
回答No.2

これは言語の問題というよりは、ロジックを組み立てる問題です。 初期起動かどうかのフラグをリセットする ↓ タイマーはとまっている ↓ ボタンが押されたら0.1秒単位でタイマーを起動する と同時に、初期フラグを立てる ↓ タイマーのイベントで初期フラグがたっていたら時計を表示 ↓ ボタンが押されたらタイマーを一旦とめ、 初期起動かどうかのフラグをリセットし、 5秒単位でタイマーを起動する ↓ タイマーのイベントで初期フラグがたっていなかったら 一度タイマーをとめ、初期フラグを設定して、0.1秒単位で タイマーを起動する ↓ 元に戻る こんな形であれば、ボタンもタイマもひとつですみます。

bu-rinko
質問者

お礼

なるほど!タイマ機能は二つ必要なのかと思ってましたが 色々と応用があるのですね!ありがとうございました。

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

とりあえずサンプル。 わからない点はヘルプをしっかり読む。 それでも判らなければ判らない点を具体的かつ明確に再質問してください。 フォーム上にTTimerを2つ、TLabelを1つ、TButtonを2つぽとりぺたりする。 それぞれTimer1、Timer2、Label1、Button1、Button2とする。 以下の通り設定  Timer1:メインの作業をするタイマー。Intervalを1000ms、Enableをfalseに設定。  Timer2:Timer1を5秒停止させるためのタイマー。Intervalを5000ms、Enabledをflaseに設定。 Button1のOnClickイベントで  Timer1->Enabled = true; Button2のOnClickイベントで  Timer1->Enabled = false;  Timer2->Enabled = true; Timer1のOnTimerイベントで  Lavel1->Caption = Time();//メインの作業。とりあえず現在時刻を表示。 Timer2のOnTimerイベントで  Timer1->Enabled = true;  Timer2->Enabled = false;

bu-rinko
質問者

お礼

分かりやすく教えて頂いてありがとうございました。 お陰さまで上手くいきました^^

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

関連するQ&A

  • 勉強に使えるタイマーを知りませんか?

    20分と区切って勉強したいときに使えるタイマーをさがしています。 キッチンタイマーは、大音量のものが多く、時計についているタイマーのように、ちいさくぴぴっとなるのが理想です。 あと、20分といれるときに、「2」「0」「0」「0」とうつのではなく、1時間、10分、1分、10秒(すべてある必要はありません)などの、単位ボタンがあるとありがたいと感じているのですが、そういうものを知っている方がいらしたらおしえてください。 よろしくおねがいします。

  • 任意タイマー

    時計で、30秒とか5秒とか任意時間ごとに「ピー」などの音で知らせてくれるタイマー的なものってどこかに売ってないものでしょうか。

  • タイマーオブジェクト(さらに質問)

    VBを使って10分の1秒単位での時間の取得はできませんか? できたら2つのフォームにまたがって同じタイマーを使用したいのですが、何か方法はありませんか? すみません。 お願いします。

  • 高機能で便利なタイマーはありますか?

    用途としては、始発通勤時の寝過ごし、風呂の沸かしすぎをさける為にタイマーを使いたいのですが以下のようなタイマーはどこかに売られていますでしょうか? 1.1分、5分、30分単位で時間を進めてタイマーをセットできる。 2.タイマーセット時に前回セットした時間(35分)などが記憶されてワンタッチで開始できる 3.時間になるとボタンが飛び出すなど自動でスイッチを押せそうなタイマー とりあえず、1.2を満たす物が欲しいです。100円ショップで買ったタイマーは1.2の機能がなくて。。

  • タイマー機能について

    初めての投稿です.よろしくお願いいたします. .NET 2003のMFCを使用しています. インターフェース上にボタンを設置し,1つのボタンで, 左シングルクリックと左ダブルクリックの両方でメッセージボックスを出したいと考えています. 以前に出ていた質問に同じようなものがあり,(http://oshiete1.goo.ne.jp/qa647244.htmlを参照) タイマー機能を使えばよいということはわかったのですが,実際どうプログラミングを組んだらいいのかわかりません. OnLButtonDown内で, if(数秒以内にもう一度クリックされたら){ ダブルクリックの処理 }else{ シングルクリックの処理 } というのしか思いつかないのですが,これは無理ですよね(^_^;) ダブルクリックの処理はOnLButtonDblClk内で行なっていて… 頭がこんがらがってしまいました. ぜひアドバイスいただければと思います. よろしくお願いいたします.

  • デジタル腕時計でカウントダウンタイマー機能が・・・

    新規でデジタル腕時計を探しています。 カウントダウンタイマー機能がついていて、タイムアップ時の通知音が長く鳴る物、もしくは通知音がスヌーズ機能付きで何回か通知してくれる物です。 職場のルールでスマートウォッチは禁止です。 私はカシオのデータバンクを所持しています。タイマー通知音は10秒位です。カシオのお客様相談室の回答ですと、タイマーのスヌーズ付き腕時計は無いとのことでした。 新興メーカーなどで、私の希望に合う腕時計はあるのでしょうか?

  • C#についての質問です

    現在、時計ソフトを作っています 機能はシンプルでboolをスイッチとして タイマーを使って一秒を数える仕組みです 数字が表示されるフォームと ボタンのフォームを分けたのですが ボタンフォームを表示させるまではうまくいったのですが ボタンを押しても数字が表示されるフォームが 反応してくれません どうしたら別のフォームの変数にアクセスできるのでしょうか? よろしくお願いします。

  • 3プログラム以上のタイマー機能付き鳴り物

    1日に3プログラム以上のタイマーが設定できるラジカセを探しています 用途は工場で1日に朝・昼食時・昼と3回の休憩時間を音楽で知らせることのできる物です(もちろんOFFも時間設定できるもの) 時計で上記機能が付いていても良いのですが 学校用途などで高額なものはあるのですが、そこまでお金をかけられません 宜しくお願いいたします

  • キッチンタイマーについて。

    キッチンタイマーについて。 調理開始前に時間をセットしてスタートする使い方が一般的ですが、記憶機能を持っているタイプを探しております。 例えばカップラーメンは3分、パスタは12分、冷凍ハンバーグは15分といった具合にセット時間が違いますので「A」ボタンは3分、「B」ボタンは12分、「C」ボタンは15分と予め時間記憶させて置き「B」ボタンスタートすれば12分となるものです。 キッチンタイマーを3個用意すれば済む話ですが、ここは1つで万能なタイプが良いと思っております。 宜しくお願い致します。

  • 1分ごとに音がなるような機能があるタイマー

    こんばんは。 宜しくお願い致します。 インターバルトレーニングを行う際に今までは部屋にあるアナログ時計を見ながら行っていました。 仕事柄出張が多いので出張中に困っていたのですが、やっとスマホに変更したのでアプリで対応できないかと思いここに投稿しました。 私が欲しい機能はインターバルの合間に音がなってくれる機能です。 もちろん55秒くらいに設定して止めてすぐスタートと言った形でも可能ですが(実際今の現状がこれです。)いちいち触らずに音だけなればなあと言うのが正直な感想です。 どなたかそういった機能があるタイマーがあれば教えて下さい。 宜しくお願い致します。

新型コロナ検査結果と返金要求
このQ&Aのポイント
  • 新型コロナ検査結果が陽性だった男性が診察料の返金を要求
  • 男性は陰性を確信し、陽性結果にショックを受けた
  • 返金要求の理由には心理的要素がある可能性がある
回答を見る