РЕДАКТОР_
AUTO, DELETE, EDIT, ESCAPE, RESET
Как ни крути, но приступать к программированию
на MegaBasic можно лишь после ознакомления с работой его редактора, тем
более, что он кардинально отличается от стандартного спектрумовского.
Все ключевые слова в MegaBasic набираются
посимвольно, как обычный текст. При этом можно использовать как
прописные, так и строчные буквы: все, что не заключено в кавычки или не
стоит под REM, редактор сам преобразует в прописные. Предусмотрена
возможность ввода ключевых слов и в сокращенной форме, завершая
сокращенное слово точкой. В версиях MegaBasic 1.1 и 3.0 сокращения
допускаются только для стандартных операторов Spectrum-Бейсика и должны
формулироваться однозначно. Версия 4.0 допускает сокращенную запись и
новых операторов, а также различные варианты сокращений. Например, для
оператора GOTO в версиях 1.1 и 3.0 принято только сокращение G., а в
версии 4.0 возможны варианты G., GO GO.. Правильно сокращенные
операторы Spectrum-Бейсика редактор преобразует в соответствующий код
синклеровской таблицы символов и вывод листинга программы осуществляет
уже без сокращений.
В собственных операторах MegaBasic связкой
между ключевым словом и параметрами, если таковые предусмотрены, служит
символ подчеркивания. Он должен присутствовать и в сокращенной записи
ключевых слов MegaBasic (для версии 4.0). Например, вместо EDIT_10
можно писать ED._10.
Если есть намерение написать достаточно длинную программу, то полезна будет команда
AUTO_n,k
Она осуществляет автоматическую нумерацию
строк. После выполнения AUTO_n,k в режиме ввода редактор будет
подсказывать номера очередных строк, начиная с номера п и с интервалом
к. Действие AUTO прекращается нажатием комбинации клавиш CS/SS+SS/L.
Надо следить только за тем, чтобы номер строки не превысил 9999, иначе
возможны трудности с выходом из режима AUTO.
Команда
DELETE_n1,n2
удаляет блок программы. Параметры п1 и п2 — номера первой и последней удаляемых строк.
Вызвать на редактирование ранее введенную
строку можно как обычно: «опустить» ее из листинга в строку
редактора с помощью клавиш CS/1. Но иногда для этого удобнее
воспользоваться специальной командой
EDIT_n
- указав номер нужной строки п.
Обратите внимание, что в MegaBasic вертикальное
перемещение курсора при переходе к соседней строке листинга программы
приводится в действие одновременным нажатием клавиш SS и U (вверх) или
SS и Y (вниз). Обычный же способ управления движением курсора
вверх-вниз используется для вертикальных перемещений его в пределах
вызванной на редактирование строки, что очень полезно при
редактировании длинных (более 32 символов) строк.
В MegaBasic введен ряд дополнительных управляющих клавиш, работающих при редактировании строки программы:
SS/Q - устанавливает курсор в начало строки;
SS/E — устанавливает курсор в конец строки;
CS/3 - удаляет всю редактируемую строку;
CS/4 — удаляет символ правее курсора;
SS/W — удаляет текст от курсора до конца строки.
Ввод отредактированной строки происходит,
естественно, при нажатии клавиши Enter. После чего в версиях 1.1 и 3.0
MegaBasic либо принимает строку, либо с сообщением Syntax error
(синтаксическая ошибка) или Bad line (неправильная строка) отказывает в
этом. Версия 4.0, как правило, принимает результат трудов программиста
безоговорочно, а если он допустил ошибку, то соответствующее сообщение
выдается уже в процессе выполнения программы.
Следует также сказать о весьма удобном способе формирования редактируемой строки с помощью копирующего курсора.
Выведите на экран какой-либо текст, например, листинг программы.
Нажмите теперь SS вместе с одной из клавиш: A, S, D или F. В углу
экрана появится зеленый квадратик — это и есть копирующий курсор.
Упомянутыми клавишами, постоянно удерживая SS, его можно подвести к
нужному месту экрана. Если теперь, не отпуская клавишу SS, нажать и
держать клавишу I, то копирующий курсор побежит вдоль выбранной строки
и перенесет текст символ за символом в редактируемую строку. Эту
операцию можно комбинировать с вводом символов с клавиатуры обычным
порядком.
Нужно следить за тем, чтобы шрифт, используемый
в данный момент редактором, был из того же символьного набора, что и
копируемый текст, а размер шрифта был стандартным (8x8 пикселей), иначе
копирование невозможно.
Предусмотрены также дополнительные сочетания
клавиш для перемещения копирующего курсора: комбинация SS/CS+SS/M
переводит копирующий курсор в верхний левый угол текущего окна (об
окнах позже), a SS/CS+SS/N переносит копирующий курсор в следующее окно
(этот эффект не очевиден, если окна совпадают).
Листинг программы можно вывести на экран как
обычной командой LIST, так и нажатием комбинации клавиш SS/CS+SS/K.
Нужно иметь в виду, что при выводе листинга, занимающего больше одного
экрана, он прокручивается до конца: редактор MegaBasic не выдает
сообщения scroll?.
Однако вывод можно приостановить, нажав и удерживая клавишу М. После ее
освобождения прокрутка возобновится. Если же нужно прекратить вывод
информации, можно воспользоваться командой
ESCAPE
Вызывается она одновременным нажатием клавиши
Space и Е. Кроме прерывания вывода листинга, команда ESCAPE, как и
Break, прекращает выполнение, бейсик-программ. Более сильный вариант
останова любой программы — команда
RESET
Она инициируется одновременным нажатием клавиш
Space и R (не путать с кнопкой RESET на компьютере, это будет слишком
уж сильно!). Выполнение RESET, сохраняя в памяти программу, переводит
MegaBasic в исходное состояние. Точнее, в условно исходное, поскольку,
к примеру, ни команда RESET, ни даже NEW не восстанавливают исходные
параметры окон и некоторые другие значения, задаваемые системой при
запуске MegaBasic. В отдельных случаях это доставляет неудобства,
например, при загрузке другой программы вместо отработавшей.