スレッドはいまいち分かりにくい概念ですが、慣れると非常に強力なアイテムなので、
ぜひ習得される事をご検討下さい。
サンプルコードも別途、Githubへ登録します。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
Threadクラスのサンプルコード アラーム.xojoproject
○機能
・ウィンドウを表示し、複数のアラームを時分秒の指定で登録出来ます。
・各アラームは鳴動させない事も出来ます。
・アラーム指定時刻になると、指定されたテキストメッセージを音声で再生します。
・音声の再生はバックグラウンドで処理されますので、時計の更新やUIの操作などには
影響がありません。
<注意>
・サンプルコードなので、以下の機能は未実装です。
1,登録したアラームの情報をファイルに保存する/ファイルから読み込む機能
2,内部での細かいエラーチェックや、エラー回復機能
3,その他細かい仕様上の詰めや、機能の実装等はありません。
○簡単な説明
Globalsモジュール
アプリケーション全体で使用する定数、メソッド、プロパティです。
Xojoでグローバルな変数や定数、メソッドを使いたい場合はGlobalsモジュールを定義します。
DateTimeFirstDay As DateTime
1970/1/1のDateTimeを返します。
isHour24Range( inData As Integer ) As Boolean
Integer型の引数が0〜23の間であればTrueを戻し、 それ以外はFalseを戻します。
isMinAndSecRange( inData As Integer ) As Boolean
Integer型の引数が0〜59の間であればTrueを戻し、 それ以外はFalseを戻します。
isRange( inEvalValue As Integer, inLowValue As Integer, inHighValue As Integer ) As Boolean
inLowValue <= inEvalValu <= inHighValue の時(範囲内)True
それ以外はFalse
isRange( inEvalVale As Integer , inRangePair As Pair ) As Boolean
inRangePair.Left <= inEvalValue <= inRangePair.Right の時(範囲内)True
それ以外はFalse
isSureTrue( inEvalString As String ) As Boolean
inEvalStringが "ON", "TRUE", "YES" , "UP" , "1"の場合にTrueを戻し、それ以外はFalseを戻す