logo
ZX-Review-1992-01-12

12. DEF KEY односимвольная строка; строка

или

DEF KEY односимвольная строка; оператор: оператор: ...

Клавиша: 1 (та же, что и DEF FN). См.также LIST DEF KEY

БЕТА БЕЙСИК позволяет присвоить любой цифровой или буквенной клавише значение символьной строки или программных строк. При этом символы могут вводиться в

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

Последний случай реализуется следующим образом: надо сделать так, чтобы последним символом Вашей строки стояло двоеточие ":" или чтобы последним оператором программной строки стоял оператор ":". Попробуйте:

DEF KEY "1"; "HELLO: "

Теперь нажмите совместно SYMBOL SHIFT и SPACE. Курсор изменится и станет мигающей звездочкой. Если Вы теперь нажмете клавишу "1", в нижней части экрана появится надпись HELLO. Поскольку никакие другие клавиши не были переопределены, при их нажатии Вы получите их нормальные значения.

DEF KEY "a":PRINT "Goodbye"

В этом примере часть программной строки, следующая после DEF KEY "а", присваивается клавише "а" (или "А", что одно и то же). Эта строка не исполняется после ее набора. После же того, как Вы нажмете SYMB SHIFT + SPACE и затем нажмете "а", она будет введена и исполнена, поскольку она не заканчивается двоеточием.

DEF KEY "a"; "10 RЕМ hello"

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

Клавише можно сделать переприсвоение в любое время. Старое значение при этом будет переписано. Если присвоить клавише пустую строку или если после задания клавиши нет ни одного оператора, клавиша не будет иметь определения. Оператор DEF KEY ERASE уничтожит все сделанные определения, в том числе и те, которые размещены выше RAMTOP и, тем самым, защищены даже от NEW. Процедура SAVE в загрузчике БЕТА БЕЙСИКа выгрузит все определения клавиш вместе с машиннокодовой частью БЕТА БЕЙСИКа (она производит выгрузку кода от RAMTOP до конца БЕТА БЕЙСИКа).

Чтобы просмотреть все определения клавиш, пользуйтесь командой LIST DEF KEY. Если желаете подредактировать определение, присвоенное клавише, то можете выполнить