Ожидает, пока не истечет заданное время, или нажатия клавиши.
Синтаксис
Использование
Sleep [ amount [, keyflag ]]
result = Sleep ( amount, keyflag )
Параметры
amount
Необязательное количество миллисекунд для ожидания (по
умолчанию используется ожидание нажатия клавиши).
keyflag
Необязательный флаг; Значение 0 для нормального
Sleep, и 1 чтобы указать, что ожидание не может
быть прервано нажатием клавиши.
Возвращаемое значение
Возвращает 1 если keyflag не является допустимым
значением (т.е. что-то отличное от 0 или 1) для обозначения сбоя, или 0 в
противном случае.
Описание
Sleep будет ждать, пока не закончится заданное количество
миллисекунд, если было задано любое значение (может быть секунд в диалекте
-lang qb,
см. ниже) или пока пользователь не нажмет клавишу. Если
amount
ниже 100 мс, то
Sleep всегда будет ждать запрашиваемый
amount
(нажатия клавиш игнорируются).
Поставьте второй параметр в 1, для "глубокого сна"
Sleep,
который не может быть прерван нажатием клавиши.
Точность
Sleep является переменной в зависимости от времени
OS цикла (Windows NT/2K/XP: 15 ms, 9x/Me: 50 ms, Linux 10ms, DOS 55 ms).
Вызов
Sleep с 25 мс или менее выдает кусочек времени,
который часто используется для ожидания ввода данных пользователем или в
цикле внутри потока. Это позволяет предотвратить чрезмерную загрузку
процессора во время работы программы.
Sleep не очищает буфер клавиатуры и любые нажатия клавиш во
время вызова
Sleep сохраняются и могут быть прочитаны с
помощью
Inkey. Для того, чтобы ждать
нажатия клавиши и извлечь ключ из буфера,
GetKey
может использоваться.
Пример
Print "press a key"
Sleep
GetKey 'очистить буфер
клавиатуры
Print "waiting half second"
Sleep 500
Различия диалектов
- В диалектах -lang fb и -lang fblite
, amount значение в миллисекундах.
- В диалекте -lang qb, amount
значение в секундах как в QB. Если второй параметр keyflag
используется, или ключевое слово записывается как __Sleep
значение должно быть в миллисекундах.
Отличия от QB
- Нет при использовании диалекта -lang qb.
- В QB, задержка была дана только в целых секундах и не поддерживается
параметр keyflag.
См. также