引数に指定した時間(秒)だけ処理を待機します。
- 構文
- void = SLEEP( 秒 )
- 引数
- 秒 (Single)必須
- スリープする秒数(最小=0.001)
- 戻り値
使い方
引数に時間を秒単位で指定します。
以下は1秒待機する例。
SLEEP(1)分単位で指定する場合は分×60、時間単位で指定する場合は時間×3600というように秒単位に直します。
15分、3時間待機する場合は以下のようになります。
SLEEP(15 * 60) // 15分(=900秒)
SLEEP(3 * 3600) // 3時間(=10800秒)計算方法がわからないという方はconvert関数 (自作関数)を使ってください。
SLEEP(convert(15, "mn", "sec")) // 15分を秒単位に変換
SLEEP(convert(3, "hr", "sec")) // 3時間を秒単位に変換10分30秒のように複数の時間単位を含む場合は、秒単位に揃えてから加算します。
SLEEP(10 * 60 + 30)
SLEEP(convert(10, "mn", "sec") + 30)計算した結果を指定しても問題ありません。
SLEEP(630) // 10分30秒(=10*60+30)カウントダウンタイマー
以下は残り待機時間を吹き出しで表示する関数です。SLEEP関数と同じように引数に待機する時間を秒単位で指定します。小数で指定した場合切り捨てられます。経過時間を計測するのではなく、まず終了日時を計算するので、誤差は1秒未満だと思われます。
PROCEDURE countDownTimer(sec)
DIM endTime = GETTIME() + INT(sec)
REPEAT
DIM t = endTime - GETTIME()
FUKIDASI(t)
SLEEP(0.001)
UNTIL t <= 0
FUKIDASI()
FEND以下は3秒待機する例。
countDownTimer(3)カウントダウンタイマーを実行しながら処理を進めるにはスレッドを使います。
THREAD countDownTimer(10)ランダムな時間待機
RANDOM関数を使うことで待機時間に幅を持たせることができます。
ランダム値を取得する詳しい方法は、RANDOM関数 (スクリプト関数)を参考にしてください。
以下は5±2秒(3以上7未満)待機する例。
SLEEP(3 + RANDOM(5)) // 7 - 3 + 1 = 5