очередь, то новые байты не принимаются на обслуживание, о чем компьютер выдает звуковой сигнал.
В языке QBasic имеется встроенная функция для чтения первого байта из этой очереди:
INKEY$ (5.1).
Если очередь пустая, то функция возвращает строку нулевой длины. Для клавиш, которые предназначены для ввода символов ASCII, (так называемые стандартные клавиши) функция выдает односимвольную строку с прочитанным символом. Для остальных клавиш (так называемые дополнительные клавиши) функция выдает строку из двух символов, первый из которых имеет код 0, а второй — код равный скан-коду этой клавиши. (Таблица скан-кодов клавиатуры приведена в «Справочных сведениях»). После вызова функции указатель головы очереди смещается и очередь укорачивается. Использование этой функции целесообразно, например, для проверки факта нажатия любой клавиши или для ввода информации о нажатии дополнительных клавиш.
Для чтения нескольких байтов из очереди можно использовать функцию
INPUT$ (n) (5.2), которая выдает строку длиной п символов (разумеется, не более максимальной длины очереди) только тогда, когда в буфере клавиатуры будет находиться достаточное количество символов.Следует иметь в виду, что при вызове обеих функций никакая информация на экран не выводится. В случае необходимости подтверждения нажатия клавиши выводом символа на дисплей необходимо дополнить программу соответствующими командами.
Для организации диалога между программой и пользователем желательно сначала вывести на дисплей запрос или подсказку, а затем принять информацию, введенную пользователем с клавиатуры. Это можно сделать при помощи следующих двух процедур:
INPUT [;] [ "prompt" {; ¦ ,}] variablelist (5.3) LINE INPUT [;] ["prompt";] variable$ (5.4)
Где: prompt — подсказка, воспроизводимая на дисплее перед вводом данных произвольная строковая константа (литерал), variablelist — список переменных, представляющий собой одно или более имен переменных, разделенных запятыми (в качестве разделителя при вводе данных также должна быть использована запятая), variable$ — имя вводимой с клавиатуры строковой переменной (длина до 255 символов).
Первая процедура предназначена для ввода любого количества числовых и строковых данных, а вторая —для ввода только одной строковой переменной. При этом первая процедура автоматически осуществляет перевод числовых данных из строкового формата во внутренний формат языка. При использовании точки с запятой после INPUT no окончании ввода данных (признаком окончания ввода является нажатие клавиши Enter)