Tag Archives: 待機

SLEEP

引数に指定した時間(秒)だけ処理を待機します。

構文
  1. void = SLEEP( 秒 )
引数
秒 (Single)必須
スリープする秒数(最小=0.001)
戻り値

使い方

引数に時間を秒単位で指定します。

以下は1秒待機する例。

UWSC
SLEEP(1)

分単位で指定する場合は分×60、時間単位で指定する場合は時間×3600というように秒単位に直します。

15分、3時間待機する場合は以下のようになります。

UWSC
SLEEP(15 * 60)     // 15分(=900秒)
SLEEP(3 * 3600)    // 3時間(=10800秒)

計算方法がわからないという方はconvert関数 (自作関数)を使ってください。

UWSC
SLEEP(convert(15, "mn", "sec"))   // 15分を秒単位に変換
SLEEP(convert(3, "hr", "sec"))    // 3時間を秒単位に変換

10分30秒のように複数の時間単位を含む場合は、秒単位に揃えてから加算します。

UWSC
SLEEP(10 * 60 + 30)
SLEEP(convert(10, "mn", "sec") + 30)

計算した結果を指定しても問題ありません。

UWSC
SLEEP(630)   // 10分30秒(=10*60+30)

カウントダウンタイマー

以下は残り待機時間を吹き出しで表示する関数です。SLEEP関数と同じように引数に待機する時間を秒単位で指定します。小数で指定した場合切り捨てられます。経過時間を計測するのではなく、まず終了日時を計算するので、誤差は1秒未満だと思われます。

UWSC
PROCEDURE countDownTimer(sec)
	DIM endTime = GETTIME() + INT(sec)
	REPEAT
		DIM t = endTime - GETTIME()
		FUKIDASI(t)
		SLEEP(0.001)
	UNTIL t <=  0
	FUKIDASI()
FEND

以下は3秒待機する例。

UWSC
countDownTimer(3)

カウントダウンタイマーを実行しながら処理を進めるにはスレッドを使います。

UWSC
THREAD countDownTimer(10)

ランダムな時間待機

RANDOM関数を使うことで待機時間に幅を持たせることができます。

ランダム値を取得する詳しい方法は、RANDOM関数 (スクリプト関数)を参考にしてください。

以下は5±2秒(3以上7未満)待機する例。

UWSC
SLEEP(3 + RANDOM(5)) // 7 - 3 + 1 = 5