очередь, то новые байты не принимаются на обслуживание, о чем компьютер выдает звуковой сигнал.

В языке 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)