5) Команда ввода-вывода wait
Основная функция команды - приостановка программы, возможно, с вводом-выводом данных.
• WAIT [<сообщение>] [ТО <символьная переменная>] [TIMEOUT <вырN>] [WINDOW [NOWAIT]] [CLEAR] В зависимости от параметров команда выполняет действия:
WAIT - эта форма команды вызывает приостановку программы. На экране возникает фраза "Press any key to continue ..." ("Нажмите любую клавишу для продолжения ..."). После нажатия любой содержательной клавиши, клавиши Enter, клавиш со стрелками или перемещения маркера мыши на новое место работа программы возобновляется. Такая команда нужна, например, для того, чтобы приостановить и просмотреть изображение на экране.
WAIT <сообщение> - вместо указанного выше позволяет установить любое <сообщение>. Возобновление исполнения программы по-прежнему осуществляется любой клавишей. Иногда используется следующая разновидность команды - WAIT " (между апострофами нет пробела). Такая команда формально выводит на экран строку нулевой длины (ничего не выводит). Это бывает, например, удобно для приостановки выдачи данных на экран без разрушения его вида каким-либо техническим сообщением (даже и в окне системных сообщений).
WAIT <сообщение> ТО <символьная переменная> - вызывает индикацию на экране <сообщения> и ожидание ввода только одного единственного символа в символьную переменную. После этого (без нажатия клавиши Enter) работа программы возобновляется. Данная форма может быть использована для принятия каких-либо решений. Например, с помощью команды
WAIT 'Будете продолжать (Д/Н)?' ТО s WINDOW
можно организовать простейшее меню, пользуясь которым можно предусмотреть те или иные действия в зависимости от введенного в переменную S символа Д или Н.
Опции команды:
TIMEOUT <вырN> - команда ожидает ввода <вырN> секунд. WINDOW [NOWAIT] - <сообщение> выводится не в текущий экран, а в системное окно сообщений в правом верхнем углу экрана. Если в команду включается опция NOWAIT, то клавишами, продолжающими исполнение программы, могут быть не только клавиши, перечисленные выше, но и любые управляющие клавиши, а также перемещение маркера мыши без нажатия ее кнопки. Кроме того, команда с этим словом не прерывает программу, хотя <сообщение> и остается на экране. CLEAR - эта опция используется только со словом WAIT и предназначена для удаления с экрана сообщения, вызванного другой командой WAIT с опцией NOWAIT. Такая возможность очень полезна для того, чтобы показать пользователю, что, хотя на экране ничего не происходит, выполняется какой-то процесс, результатов которого нужно подождать. Это позволяет избежать нежелательных нажатий на клавиши. Например, типична такая последовательность команд:
WAIT 'Ждите, идут вычисления!' NOWAIT WINDOW <команды>
WAIT CLEAR
Допускается вывод нескольких строк в WAIT-собщении. Тогда каждая строка отделяется символом возврата каретки -CHR(13). Например,
WAIT WINDOW 'Печать результата?' ;
+СНК(13)+'Да - Enter, Нет - Escape'
предъявит следующее сообщение
Печать результата? Да - Enter, Нет - Escape
Дальше ввод пользователя, отражающий его решение, может быть обработан в программе.