以前、タイマーのプログラムを掲示したときに、タイトルバーに秒数を表示したらどうかという提案と、何時間後または時刻で、タイマーを設定できるようにしたらどうかという提案をいただきました。今回は、そういった意見を反映して、もう少し便利なプログラムとして掲示してみます。プログラム自体は、ちょっと無駄の多い表現をしていると自覚しているのですが、一応使うことは出来るでしょう。^-^;
'-------------------------------------------------------------------------- 'タイマーの時間を設定して、指定時間にアラームをだすプログラム 12/12/01 '実行には、ランタイムのtools folderに、to.wavとpu.wavと、pou.wavのファイル 'が必要です。 '--------------------------------------------------------------------------
Flag=0 '時間後なら0で、時刻なら1に設定する。デフォルトは、0 入力設定#0=「時間で設定」 入力設定#1=「時刻で設定」 Text=「☆ \(^o^)/ 時間です! ☆」
*初期設定 母艦の、サイズは、(365,223,623,386)。 '以下、フォームの設定。 母艦を、中央へ移動。 母艦の、タイトルは、「アラーム」。 灰色で、画面クリア。
設定項目を、メニュー作成。 設定項目に、時間設定方法を、メニュー追加。 時間設定方法の、イベントを、時間入力設定に、設定。 設定項目に、お知らせテキストを、メニュー追加。 お知らせテキストの、イベントを、お知らせテキストイベントに、設定。
時間説明を、ラベルとして、作成。 '時間説明ラベル その、サイズは、(10,20,120,40) その、テキストは、「何時間 何分後」。
説明を、ラベルとして、作成。 '説明ラベル その、サイズは、(130,20,240,40) その、テキストは、「にアラーム設定」。
時箱を、エディタとして、作成。 '時間を入れる箱 その、サイズは、(10,50,60,75)
分箱を、エディタとして、作成。 '分を入れる箱 その、サイズは、(70,50,120,75)
時間設定を、ボタンとして、作成。 '設定ボタン その、サイズは、(140,50,240,75) その、テキストは、「設定する」 その、イベントは、ボタン押された。
情報ラベルを、ラベルとして、作成。 '情報ラベル その、サイズは、(10,90,240,120) その、テキストは、「アラーム未設定状態です。」。 情報ラベル2を、ラベルとして、作成。 '情報ラベル2 その、サイズは、(10,115,240,120) その、テキストは、「何時間何分後に設定しますか?」。 待機。
'ボタンが押されたら、ユーザーの設定した時間を、現在時刻に足して、それを表示。 *ボタン押された ランタイムのパス&『tools\pu.wav』を、演奏。 もし、Flag=0なら、時間イベントを、呼ぶ。 もし、Flag=1なら、時刻イベントを、呼ぶ。 *再帰イベント 母艦の、タイトルは、「タイマー あと{時間}秒」。 もし、時間>2なら、(時間=時間-1。1秒後に、再帰イベントへ飛ぶ、タイマー設定。) 違えば、(お知らせへ、飛ぶ。))。 )。 待機。
*時間イベント 情報ラベルの、テキストは、今&「から{時箱}時間{分箱}分後」。 今に,"{時箱}:{分箱}:0"を,時間加算。 'アラーム時間を計算。 情報ラベル2の、テキストは、「アラーム時刻 」&それ。 時間=((分箱*60)+(時箱*60*60))。 '時間と分を、秒に変換する。 戻る。
*時刻イベント 開始時間は、今 "{時箱}:{分箱}:0"と、開始時間の、秒差。 '午前0時を通過すると、計算が狂うので、修正する。 もし、それが、<0ならば、("23:59:59"と、開始時間の、秒差。Aは、それ。 "{時箱}:{分箱}:0"と、"0:0:0"の、秒差。Bは、それ。 それは、A+B+1。) 時間は、それ。 情報ラベルの、テキストは、「{時箱}時{分箱}分にお知らせ」。 情報ラベル2の、テキストは、「アラーム時刻 」&「{時箱}時{分箱}分」。 戻る。 '時間が来たら、時報のような音でユーザーに知らせ、母艦を全面にだす。 *お知らせ 2回(ランタイムのパス&『tools\to.wav』を、演奏。1秒、待つ。時間=時間-1。 母艦の、タイトルは、「タイマー あと{時間}秒」。) ランタイムのパス&『tools\pou.wav』を、演奏。 情報ラベルの、テキストは、Text。 母艦を、最前面。 5回( '色が点滅しているような効果をだす。 0.5秒,待つ。 情報ラベルの、フォント色は、赤色。 0.5秒,待つ。 情報ラベルの、フォント色は、黒色。) 母艦の、タイトルは、「時間になりました」。 母艦を、最背面。 待機。
*時間入力設定 時間設定方法を指定してくださいを、入力設定の、ボタンで選択。 もし、それが、「時間で設定」ならば、( Flag=0。 時間説明の、テキストは、「何時間 何分後」。 情報ラベル2の、テキストは、「何時間何分後か設定してください」)。 もし、それが、「時刻で設定」ならば、( Flag=1。 時間説明の、テキストは、「何時 何分」。 情報ラベル2の、テキストは、「時刻を設定してください」)。 待機。 *お知らせテキストイベント お知らせするテキストを入力してくださいと、尋ねる。 もし、それ<>「」なら、(Textは、それ。)。 違えば、(Text=「☆ \(^o^)/ 時間です! ☆」)。 待機。 |