Диалекты бейсика для ZX Spectrum 1992 г.

Megabasic - Редактор.


РЕДАКТОР_

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. В отдельных случаях это доставляет неудобства, например, при загрузке другой программы вместо отработавшей.




СОДЕРЖАНИЕ:
  1. Laser Basic - Вывод спрайтов на экран; Вывод на экран части спрайта; Перенос атрибутов; Преобразование окна экрана; Наборы переменных; Перемещение спрайтов; Наложение спрайтов; Копирование изображения с экрана в спрайт; Преобразование спрайтов; Скроллинг пейзажа; Изменение размеров области спрайт-файла; Вспомогательные графические операторы и функции; Определение столкновений спрайтов; Сервисные операторы и функции; Процедуры; Загрузка и запись программ.


  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Авторская разработка - С.Зонов, А.Ларченко. О контроллере SMUC (HDD и IBM периферия).
Об авторах - о тех, кто трудился над созданием этого номера.
Реклама - Реклама и объявления.
Обмен опытом - IBM-PC Keyboard на ZX Spectrum...
Мозжечек - Нездоровые сны: юмористический рассказ с участием персонажей со Спектрума.

В этот день...   23 ноября