Системные программы для ZX-Spectrum 128K 1969 г.

THE LAST WORD 2 - описание редактора THE LAST WORD 2.


РЕДАКТОР "THE LAST WORD 2"

ОБЩЕЕ ОПИСАНИЕ

TLW - это текстовый редактор для компьютеров "спектрум" и "спектрум плюс". Она
обеспечивает пользователю широкий круг возможностей по обработке текстов и
позволяет получить результаты, удовлетворяющие лучшим профессиональным
стандартам. Программа составлена в машинных кодах, кроме доступной
пользователю области бейсика и содержит генератор символов фирмы MIRMIDON
SOFTWARE, позволяющий производить разбивку экрана по строке в стандартах 80,
60, 48, и 40 знаков.

Программа содержит команды для обработки текстов и большое количество команд
для управления печатью принтера. Она позволяет не только глубоко использовать
технические возможности принтера, но позволяет легко обращаться к "внешнему"
текстовому файлу и в нижележащую бейсик-программу во время работы принтера,
чтобы извлекать оттуда почти любые типы текстов или данных. "Внешний файл"
может быть записан на ленте, на микродрайве, может быть введен с клавиатуры и т.п.
Надлежащим образом обработанный, этот текст может быть включен в текущий файл;
в этом состоит основополагающий принцип слияния повторяющихся данных при
исполнении конкретного документа.

Текст программы разделен на две основные части. Это небольшой бейсиковский
раздел, предназначенный для снижения верхней границы операционной системы
компьютера с тем, чтобы основной блок, записанный в машинных кодах, мог бы быть
загружен в верхнюю часть памяти, а также 14.5К основной блок в кодахт Z-80,
который непосредственно выполняет необходимые расчеты. Текст или данные,
расположенные в "собственной " бейсик-области компьютера, могут вызываться из
редактора разными способами. Пользователь может записать в предназначенной для
пользователя бейсик-области такие строки, чтобы часть программы в машинных
кодах обращалась к бейсику при исполнении печати по мере необходимости. Это
выполняется введением специальных операторов в текстовый файл. Обе основные
части редактора взаимодействуют для того, чтобы дать возможность пользователю со
слабым знанием бейсика достичь широкого применения программ в разных ее
режимах.

Перед началом работы с программой необходимо тщательно изучить эту
разработку. В основе своей программа чрезвычайно проста и при некоторой практике
она поможет в исполнении широкого диапазона документов.

ЭКРАН РЕДАКТОРА

Экран содержит 256 точек в ширину и 192 в высоту. В редакторе все строки имеют
по высоте 8 точек, так что экран имеет 24 строки. Однако генератор символов
позволяет печатать символы шириной 6, 5, 4, или 3 точки, что дает 42, 51, 64 или 85
символов в строке.

Операционная система редактора выделяет верхние три строки экрана для
заголовка ("хэдера"), где отображается 18 единиц информации о текущем состоянии
программы, текстового файла и положении курсора. Нижние 20 строк предназначены
для изображения обрабатываемой страницы текстового файла. Запись начинается
слегка отступя от левой части страницы, что позволяет "оконтурить" текст, если
потребуется. Правое поле страницы используется для изображения некоторых
специальных пометок, дающих информацию о статусе каждой строки текста,
реальной длине строки, на которой текст может быть набран (40, 48, 60 или 80

символов), в зависимости от того, какой режим выбран. Рассматривайте эту страницу
просто как "необработанное" изображение куска текстового файла, которое само по
себе мало полезно, поскольку это просто список символов и цифр и не соответствует
реально видимому написанию страницы. Разбивка экрана, которую вы выбрали,
абсолютно не влияет на содержимое файла, это просто способ отображения, не
связанный с тем, как буквально сформирован текст. Как он хранится в памяти, и как
он печатается на бумаге.

КОНЕЦ СТРОКИ

Когда строка текста длиннее, чем строка на экране, текст будет продолжаться на
другой экранной строке без перерыва и так далее до тех пор, пока не будет достигнут
управляющий маркер "конец строки" или конец файла. Например 84-х символьная
строка занимает одну экранную строку (в режиме 80) и еще 4 позиции следующей
,, видео строки или 1 строку + 24 позиции (в режиме 60) и т.п. Экранная строка, на
' которой должна кончаться текстовая строка отмечается маркером на правом поле
страницы, если этот маркер не отключен.

КУРСОР

Место, в котором вы набираете текст называется позицией курсора. На нем
базируется практически все в программе. Курсор всегда присутствует на экране или
на самой странице или в командной позиции, тогда он показывает, куда войдет
вводимый символ. Обычно курсор - это мигающий прямоугольник, но иногда он
превращается в четыре горизонтальные полосы (в тех случаях, когда текст дошел до
правого поля и ожидается очередной символ, который должен определить, что нужно
сделать с введенной строкой выровнять ее по правому полю, сделать перенос и т.д.).
Для перемещения курсора имеется 19 команд - от простого смещения на одну позицию
до перехода к избранной (номер вводится) строке.

изображение команд

Некоторые команды требуют серии последовательных вводов и, возможно,
наличия некоторых вспомогательных данных, которые надо иметь перед глазами. В
этом случае редактор "вытягивает" кусок чистой страницы, а текст сдвигает вниз.
Команда набирается на этой странице и вводится с нее, а текст возвращается на
преднее место скроллингом 20 строк вверх, если он остался без изменений или полным
его переписыванием, если изменения внутри произошли. Таким образом, здесь нет
различных меню, все выполняется на одной странице.

"белым по черному"

Вы можете менять цвет бордюра или "хэдера", присваивая им номера одного из
спектрумовских цветов от 1 до 7, но можете также присвоить бордюру 0, что даст
белый цвет на черном фоне. Телевизионный экран - это не самый удобный дисплей
для работы с 80 знаками в строке и такой "обратный" подход может вам понравиться.
Качество настройки телевизора такжн очень сильно влияет на разборчивость текста.

ТЕКСТОВЫЙ ФАЙЛ

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

ФОРМАТ ТЕКСТОВОГО ФАЙЛА

Весь текст, который вы вводите в файл, и то, как он форм и- рустся, жестко
определяется правым и левым полями, а также включением и выключением режимов
W.WRAP/W.SPLIT и JUSTIFY/RAGGED.

УПРАВЛЯЮЩИЙ МАРКЕР "КОНЕЦ СТРОКИ"

Каждая строка, которую вы набираете, по достижении конца приобретет
специальный управляющий код, который информирует редактор о том, что надо
начинать новую строку при печати на экране или на принтере. При оформлении
текста работает флаг, он может быть двух типов.

1. Код, изображаемый стрелкой, обращенной стрелкой влево и вниз. Она
расположена на правом поле и указывает на то, что вы достигли и пер шли на другую
строку. Код в системе ASCII-14. Этот маркер вводится в редактор автоматически,
когда при наборе нового текста он переходит границу предварительно утановленного
правого поля. Вы сами впечатать его не можете.

2. Код, изображаемый обращенной буквой "с" на полях действует как конец
параграфа (абзаца). Его код - 13 (ASCH), что соответствует возврату каретки. Введен
он может быть только оператором ENTER при создании нового текста. Строка может
быть пустой и содержать только этот маркер, тогда номер колонки будет равен нулю,
а вы впоследствии сможете расширить эту нулевую строку вставкой с помощью
оператора INSERT.

РАЗРЕШЕННЫЕ ДВИЖЕНИЯ КУРСОРА

л

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

ПОЛОЖЕНИЕ КУРСОРА В ФАЙЛЕ

Отсчет номера строки и колонки в левом прямоугольнике "хэдера" относится к
номеру строки и колонки в текстовом файле, а не к номеру строки видимой
видеостраницы, кроме случаев, когда они случайно совпадают.

РАЗМЕРЫ ТЕКСТОВОГО ФАЙЛА

Величина возможного пространства текстового файла на один байт ниже адреса
нижней границы машиннокодовой части, то есть 50999. Нижняя часть файла
находится в изначально установленном адресе в памяти спектрума - 30000 (таким
образом текстовый файл имеет размер 20,5К). Но нижняя граница может быть
переустановлена пользователем с помощью оператора CLEAR. Так, CLEAR 49975
дает размер файла 1К, то есть 1024 байт, а область бейсика при этом составит
примерно 25,5К. Максимальный размер пространства, которое можно занять под
текстовый файл в 48К спектруме при предельном сжатии бейсика составляет 25К.

"Хэдер" изображает текущее свободное пространство текстового файла в целых
единицах килобайт. Когда пространство меньше 1 К, то выводится в восьмых долях
килобайта, так 3й означает, что свободны 3*128 байт.

изменение размера файла

Когда вы выходите из редактора, в программе остается копия выходного адреса из
текстового файла. При последующем возвращении текущий адрес RAMTOP
сравнивается с последним выходным адресом и, если они отличаются на единицу, как
раньше, никакие действия не выполняются. Если, однако, происходило изменение по
команде CLEAR, текстовый файл будет вычищен и возврат в программу произойдет в
пустом состоянии, к такому маневру надо подходить с осторожностью, так как он
может быть очень разрушительным.

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

НАЧАЛО РАБОТЫ

загрузка редактора

Загрузите программу с магнитофона. Сначала загрузится бейсиковский раздел, а
затем раздел в машинных кодах. Когда загрузка закончится, мигающая строка
LOADING CODE заменится вопросом

initialize printer? 00,

Это исходное положение редактора, записанное в строке 2030 применительно к
ZX-LPRINT Ill-интерфейсу. Если вы используете другой, то эту строку вам надо
переделать, так как все они требуют разных подходов. Далее компьютер переходит к
операционной странице редактора и изображает данные по версии, которой вы
пользуетесь. Дальнейшее нажатие клавиши очистит экран, и вы готовы к работе.

разбивка текста

Первоначально программа установлена на 40 знаков в строке. Правое поле тоже
установлено на этот размер. Может быть, это не то, что вы хотите, но преимущество
редактора в легкости переключения на другие размеры. Попробуйте набрать какую-
либо строку текста и посмотрите, как она изображается на экране. Когда вы дойдете
до правого поля, продолжайте набор, и слова будут автоматически выровнены по
правому полю. Так будет на каждой строке. Теперь попробуйте изменить разбивку
экрана.

- Нажмите обе клавиши SHIFT, в хэдере изменится режим WRITE на режим
COMMAND;

- нажав CAPS SHIFT, нажмите "V" и в хэдере появится слово "VIDEO";

- теперь вы можете набрать 48, 60 или 80 для установки количества символов в
строке виесто первоначальных 40;

- в конце нажмите ENTER и ваш текст будет переписан в соответствии с выбранным
размером строки.

Вы видите, что чем мельче шрифт, тем важнее качество настройки телевизора. 60
Знаков в строке читаются без особых проблем, а на хорошем экране можно работать
и с 80-ю знаками. Однако в этом режиме буквы набегают друг на друга, поэтому может
быть вам лучше работать на одном из более низких режимов, а в режим 80 переходить
только для окончательного взгляда на законченную работу, перед выдачей текста на
принтер. Переход от одного размера к другому никак не влияет на содержание файла,
а только на то, как эта информация представлена на экране.

клавиша enter

Хотя большинство клавиш при нажатии вызывают вполне очевидные результаты,
ENTER имеет специальное значение и пользоваться ею надо аккуратно. Так, когда вы
набираете новый текст, курсор идет впереди набираемой строки, нажатие клавиши
ENTER в этот момент приводит к вводу кода возврата каретки, т.е. Конец абзаца, а
курсор перемещается к левому полю следующей строки. Такой маркер очень важен
для последующей работы программы с файлом и не может быть устранен обычным
путем с помощью DELETE. Он будет там до тех пор, пока часть файла, содержащая
его не будет стерта более мощной командой.

Если вы находитесь внутри файла, то есть текст уже написан, то нажатие ENTER
приведет к простому перемещению курсора на одну строку вниз, но не изменит
никакого текста, который там уже есть.

функция "tab" (табуляция)

Заметьте, что команда TAB (CAPS SHIFT+1) передвигает курсор сначала к левому
полю, если оно меньше, чем величина TAB, а затем вправо на величину TAB. При
вводе нового текста TAB образует пробелы, а в уже существующем тексте TAB просто
перемещает курсор на заданное число позиций вправо.

левое и правое поля

Вы уже заметили, что то, что вы вводите формируется по 40 знаков в строке от
колонки 1 до колонки 40. Это результат работы полей. Величина их изначальной
установки приведена в хэдере. Чтобы ее изменить, перейдите в командный режим,
как вы это делали при изменении ширины видеостроки и нажмите "М" для левого поля
или CAPS SHIFT +"М" для правого. Правое поле можно увеличить до 132 или
уменьшить до величины, на единицу большей, чем размер левого поля. Левое поле -
от единицы до величины правого поля минус один. На экране ничего не изменится,
кроме надписи в хэдере, но весь текст будет подчиняться этим новым полям.

маркеры конца строки и абзаца

Вы видите, что правое поле содержит специальные отметки в тех местах, где
кончается строка. Это или наклонная стрелка или обрашщенная буква "с". Это
визуальное отображение того, как редактор делит ваш текст, чтобы вписать его в
заданные поля. Они только служат для удобства компоновки и при печати на бумаге,
конечно не воспроизводится.

ПЕРЕОФОРМЛЕНИЕ АБЗАЦА

С помощью курсора вверх (CAPS SHIFT + 7) перейдите к верхней строке вашей
страницы, войдите еще раз в командный режим и нажмите CAPS SHIFT + "R". Это
мощная команда REFORM. Она очистит экран от строки в которой стоит курсор до
ближайшего конца абзаца и перепишет текст в соответствии с новыми введенными
значениями полей. Измените поля еще раз, добавьте несколько пробелов, и еще раз
выполните команду REFORM. Вы увидите, как аккуратно запись будет переписана
для новых условий.

буфер клавиатуры

Если вы умеете печатать достаточно быстро, то скоро увидите, что если программа
и поспевает за вами в пределах одной строки, то после перехода правого поля она
отстает т.к. ей нужно время для организации строки в соответствии с введенными
заданиями. В этот момент необходимы специальные меры, чтобы сохранить то, что
вы вводите в строку. Все, что вы вводите после каждого нажатия клавиши идет в буфер
в памяти компьютера, откуда потом извлекается в удобное время.

В тех случаях, когда в буфере находится более чем один символ или команда, номер
уолонки в левом окне хэдера становится ярче. Буфер может принимать до 21 символа,
но только одну команду. Когда вы превышаете 21 знак, программа ничего не примет,
пока содержимое не опустится ниже.

небольшой пример

Для вас подготовлено письмо. Оно записано на кассете под именем "LETTER".
После того, как вы прочитаете очередную главу, посвященную записи и,загрузке, вы
сможете очистить текстовый файл (командный режим CAPS SHIFT + "Z"), загрузить
файл "LETTER" и попробовать разные режимы работы с представленным на экране
видеотекстом. Поэкспериментируйте с тем, что вы уже знаете. Чем больше вы играете,
тем блоьшему вы научитесь.

первые итоги

В первую очередь поля определяют форму того текста, с которым вы работаете.
Вторым по значению является задание "JUSTIFY" или "RAGGED", которое
выполняется: командный режим "J". В зависимости от того, что вы примете, текст по
правому полю будет выравниваться (JUSTIFY), как на той странице, на которой вы
сейчас читаете эти стороки, или останется необработанным, как на обычной пишущей
машинке (RAGGED). В свое время поэкспериментируйте с другими командами,
чтобы посмотреть, как они влияют на результат.

W

персонализация программы

Когда вы вполне убедитесь в том, что редактор ведет себя на экране в соответствии
с вашими ожиданиями, потратьте некоторое время на изучение управляющих
операторов и указаний по подключению принтеров в приложении 3, аккуратно
настройте программу, чтобы она работала так, как вам это нужно. Затем, следуя
указаниям приложения 3, исполните для себя личную копию программы.

ЗАПИСЬ И СЧИТЫВАНИЕ ТЕКСТА

Если вы уже что-то набрали и дошли до той стадии, когда вам нужна постоянная
копия или у вас есть в хранении какой-то текст и вы хотите ввести его в компьютер,
вам необходим магнитофон или микродрайв для ввода или вывода. Для этой цели в
редакторе имеются две очень простые процедуры, каждая из которых применима к
обеим типам устройств.

ЗАПИСЬ ТЕКСТА

Процедура вызывается: режим Е "S". Теперь перед вами три выбора: задать номера
первой и последней строк (включительно) того куска, который вы хотите записать;
выбрать тип устройства магнитофон или микродрайв; выбрать имя файла, под
которым эта запись будет храниться.

1. Вы можете записать любую группу строк из текстового файла или весь файл
целиком. Если вы сделаете частичную запись, то вам надо знать номера начальной и
конечной строк до того, как вы дадите команду на запись, т.к. эти данные вводятся
раньше. Если номер последней строки целого файла вам неизвестен, то подойдет
любой, заведомо больший, программа сама поймет, что речь идет о последнем байте
и сработает соответственно. После того, как вы введете данные о первой и последней
строке, редактор сообщит вам количество килобайт, подлежащих выводу для того,
чтобы вы могли спланировать свое место на внешнем носителе.

2. Выбор между микродрайвом и магнитофоном достаточно прост. Если вы имеете
один или несколько микродрайвов, то это простой и удобный путь. Программа
запросит ввод от 0 до 8. Если 0, то это означает запись на магнитофон, а от 1 до 8
соответствует1 номеру задействованного микродрайва.

3. Выбор имени файла - ваше личное дело, любая комбинация длиной до 10 букв
подходит, но первый символ - обязательно буква, а не пробел. Наберите буквы, как
обычно, если необходимо, пользуйтесь DELETE для устранения ошибок. Если вы
введете больше, чем 10 букв, текст сбвинется и первая буква пропадает.

Когда вы с ним покончили, нажмите ENTER для того, чтобы привести в действие
процедуру записи. Если вы выбрали магнитофон, вам предложат включить
магнитофон на запись и нажать любую клавишу, после чего на экране появятся
обычные красные и голубые полосы. Редактор не делает паузы между хэдером и
главной частью, а ведет запись в обычном формате в кодах, которые могут быть
впоследствии загружены либо в редактор, либо в любую дру.гую программу,
воспринимающую коды.

Если был выбран микродрайв, то выбранное устройство включится и начнет поиск,
является ли для него этот файл новым или такое имя уже есть. В последнем случае
компьютер проинформирует вас сообщением FOUND! NEW? (Y) и даст вам
возможность выбора делать выгрузку или отменить команду. "Y" - загрузка; ENTER
отменяет команду и возвращает вас к текстовому файлу. Выбор "стереть" исполняется
так: режим Е, затем клавиша "Е". Результат тот же самый, но процесс длиннее, т.к.
надо нажимать больше клавиш.

Запись текста на ленту ни в коем случае не уничтожает файл, а просто копирует
избранный кусок на указанное устройство.

считывание текста

Вызывается: режим Е, затем "L". Процесс считывания очень похож на процедуру
записи, за исключением, конечно, того, что не надо указывать количество материала.
Необходимо только указать на магнитофон или микродрайв и имя файла.

То, что вы вводите в текстовый файл, добавляется к тому, что там уже есть, т.е.
новый материал записывается в память, начиная с адреса на единицу большего, чем
верхний адрес содержимого. При этом системная переменная редактора "конец
файла" соответствующим образом изменяется. Это означает, что вы можете
смешивать любые записанные на внешнем носителе файлы последовательной их
загрузкой. Вы можете также вставить новый блок в середину текстового файла. Это
делается оператором INSERT, при этом верхняя часть файла сохраняется
компьютером, затем выгружается середина, а затем возвращает- ся верхний блок.

На ленте байты хранятся как коды, а на картридже микродрайва - в формате
данных.

1. Для выбора ленты вводится 0, а для микродрайва - номер, соответствующий
номеру устройства от 1 до 8.

2. Вам необходимо знать точно имя файла, который вы собираетесь ввести, и
набирать его точно так, как оно было записано. Любые отклонения не дадут
результата. В конце нажмите ENTER, при этом для магнитофона появится надпись
TYPE-ON/KEY, а микродрайв включится для поиска указанного имени.

Для ленты все названия, проходящие мимо головки, будут изображаться как SEEK:
FILENAME ..., а то, которое нужно, будет обработано. Для микродрайва файл будет
загружен сразу после того, как будет найден. Если его нет в картридже, появится
надпись ABSENT! Для ленты отсутствие имени ничего не покажет.

Вполне возможно загружать в редактор текстовые файлы или файлы данных
природы иной, чем TLW. Но они должны иметь ту же организацию маркеров конца
строки и конца абзаца, что и редактор. В противном случае они будут выглядеть как
бесконечный стринг, не разделяемый на строки как для экрана, так и для принтера.
Для переработки таких файлов на кассете имеется служебная программа
TLW64BASIC - сведения по ее применению даны в приложении 4.

КОМАНДЫ

Для ввода команд в редактор существует два главных приема. Для первой группы
наиболее широко используемых команд применяется одно нажатие SHIFT для того,
чтобы не прерывать процесс печатания. Для второй группы команд зарактерна
необходимость более глубокого осмысления желаемого результата, здесь обычно
нужно добавление каких-либо деталей к первоначально введенной команде и для этой
группы необходимо перевести хэдер в командный режим.

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

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

Оба способа ввода команд будем называть далее прямым и непрямым вводом.

Прямой ввод команды: CAPS SHIFT + клавиша.

Непрямой (требует перехода в командный режим - оба SHIFT вместе) - затем: -
просто клавишу или CAPS SHIFT + клавиша.

Команды разделены на пять основных групп:

1. Команды курсору.

2. Команды обработки текста.

3. Команды структурные и утилиты. Они устанавливают, каким образом построить
текстовый файл и экран.

4. Команды принтеру.

5. Команды ввода/вывода.

ПЕРЕМЕЩЕНИЕ КУРСОРА

- вправо на один символ - CAPS SHIFT "8"

- влево на один символ - CAPS SI IIFT "5"

- вверх на одну строку - CAPS SHIFT "7"

- вниз на одну стоку - CAPS SI IIFT "6й

- табуляция вправо - CAPS SHIFT "Г

Курсор смещается на величину TAB или до левого поля, если оно ближе.

- вправо на одно слово - CAPS SI IIFT "4й
-влево на одно слово -CAPS SHIFT "3й

- вправо на одно предложение - CAPS SHIFT "W"

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

- вправо до конца строки - режим Е CAPS SHIFT "8"

- влево к началу строки - режим Е CAPS SHIFT "У

- к началу парвой строки - режим Е CAPS SHIFT "7"

- к началу последней строки - режим Е CAPS SHIFT "6"

- вниз к началу первой строки

следующей страницы - режим Е CAPS SHIFT "D"

Экран перепечатывается так, что последняя строка данной страницы
устанавливается первой строкой следующей.

- вверх к началу предыдущей страницы - режим Е "U"

- к началу текстового файла - режим Е "А"

- к концу текстового файла — режим l z у .

- к заданной строке - режим Е "N"
Запрашивается и вводится номер требуемой строки.

- экран вверх на одну строку - режим е CAPS SHIFT "3"

- экран вниз на одну строку - режим е CAPS SHIFT "4*

ЬвРАБОТКА ТЕКСТА

- стирание символа - CAPS SHIFT "0й
Стирается символ или оператор управления печатью.

- стереть текст до конца строки - CAPS SHIFT "9"

Эта команда требует "Y" для подтверждения или ENTER для отбоя.

- стереть текст до конца файла - режим Е CAPS SHIFT "9м.

- стереть весь текст - режим Е CAPS SI IIFT "Z".

- переключатель INSERT/OWERWRITE
(вставить/переписать) - режим E "Iм

В режиме OWERWRITE, когда вводится новый текст, курсор находится на верхней
границе файла и файл постепенно расширяется. Если курсор находится внутри
файла, идет его "переписывание".

Если курсор находится внутри файла и включен режим INSERT, то весь текст,
находящийся между курсором и концом файла удаляется с экрана и сохраняется в
самой верхней части свободного пространства памяти.

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

Файл ведет себя так, как будто оставшийся кусок является цельным и полным, т.
Е. Все вводимые команды распространяются только на него и не касаются
сохраненной части. Команды CLEAR и LOAD его не затрагивают. Можно сохранить
весь текст и работать с другим, введенным с клавиатуры, ленты и т.п.

При повторном вызове этой команды включается режим OWERWRITE, и
сохраненный текст возвращается и добавляется к имеющемуся на экране. Курсор
может быть ще угодно и полученный текст можно, конечно, перерабатывать. Можно
выполнить команду REFORM для изменения нестандартных строк, полученных в
результате вставки.

- сдвинуть весь текст влево - CAPS SHIFT "Q". Текст между началом строки и
курсором сдвигается сдвигается влево за счет уменьшения ширины пробелов.

- сдвинуть текст вправо - CAPS SHIFT "Е". Текст между курсором и концом
строки смещается вправо за счет уменьшения пробелов. Эта команда не срабатывает,
если промежутки между словами имеют минимальный размер, равный единичному
пробелу или, если будет достигнут конец файла до того, как обнару- жится пробел.

- централизовать текст в строке - режим Е "Н"

- выровнять (JUSTIFY) строку - режим Е "J". Если справа нет маркера "конец
строки", т.е. файл закончен, то эта команда не срабатывает.

- ограничить пробелы в строке - режим Е CAPS SHIFT "L". Пробелы уменьшаются
до единичных. Если справа нет маркера "конец строки", эта команда не срабатывает,
как и выше.

- переоформить (REFORM) текст от курсора до "конца абзаца" - режим Е CAPS
SHIFT "R". Эта мощная команда обычно применяется для корректировки блоков
текста после его набора. Текст переоформляется, сжимается или наоборот, в
соответствии с тем, что установлено в правом окне хэдера. Переоформление
выполняется в пределах текущего значения левогд и правого поля. Если команда не
проходит, т.е. встретилось слово такой длины, что не вмещается в рассматриваемую
строку полностью, работа команды прекращается, а курсор устанавливается на этом
слове.

- вставить оператор управления печатью - CAPS SHIFT "Г*. По этой команде у
вас запрашивается ввод для определения требуемого оператора. В результате байт,
представляющий этот оператор, вставляется в текст слева от позиции курсора, а
метка, определяющая его, отображается в хэдере. Этот ввод может быть:

1. Число от 1 до 24, связанное с соответствующим кодом принтера,
предназначенным для управления принтером во время печати.

2. Число от 90 до 99, указывающее на строку в бейсике, к которой надо сделать
переход (строка определяется как 100, умноженное на это число, т.е. от 9000 до 9900).

3. Буква от А до Z со знаком $, когда требуется напечатать избранный бейсиковский
стринг. При этом переключатель РСТ должен быть включен и, конечно, операторы
управления принтером на печать не выводятся.

- ввод символа "копирайт** - режим Е CAPS SHIFT "К". Синклеровский знак
"копирайт", CHR$127 вводится по этой команде в файл. Имейте в виду, что этот
символ не стандартизован и на принтере его может не быть.

- повтор куска текста - режим Е "R". Запрашивается ввод первой и последней
строки потребного куска.

- удаление куска текста - режим Е "К". Вводятся номера первой и последней строк
удаляемого текста.

- поиск или изменение некоторого блока текста - режим Е "X". Вводятся номера
первой и последней строк, внутри которых производится поиск. Затем вводится
стринг, подлежащий замене, а затем либо заменяющий стринг, либо ENTER, если
замена не нужна. Программа ищет и изображает номера строк и колонок для
найденных позиций. Каждый раз вы можете произвести замену клавиш "S", a ENTER
- оставить без замены. Продолжить поиск - "F". Прекратить поиск - "С".

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

СТРУКТУРНЫЕ КОМАНДЫ И УТИЛИТЫ

- переключатель "JUSTIFY/RAGGED" - режим Е "J". Команда переключает два
режима. В первом концы строк по правому полю автоматически выравниваются по
окончанию текущей строки, когда появляется "полосатый курсор", а также, конечно,
после команды REFORM. При установке на "RAGGED", текст уплотняется, правый
край остается неровным.

- переключатель W WRAP/W SPLIT - (округление слов/перенос слов) - режим
Е "W". Действие этой команды похоже на действие предыдущей. Работает при
создании текста или при выполнении команды REFORM. Когда включен режим
WRAP, слова не делятся и не переносятся в конце строки. В режиме SPLIT текст
режется на куски, определяемые заданными значениями полей. Этот процесс
необратим. Когда включен этот режим, в окне JUSTIFY/RAGGED загорается стрелка,
указывающая на то, что ни один из этих режимов не может быть задействован, но они
будут работать нормально после команды REFORM.

- установка регистра букв на одну строку - режим Е "2". Вся строка будет
печататься заглавными буквами или строчными.

- включение в текст бейсиковского стринга - режим Е CAPS SIIIFT "4".
Запрашивается вводо значения стринга из области бейсика, т.е. имя от А$ до Z$.
Изображаются первые 8 символов стринга с последующим знаком $ и указанием
длины стринга.

Стринги должны быть "простыми" и должны браться целиком. В программу можно
вводить все коды между 22 и 151, т.е. весь спектр ASCII плюс 24 оператора управления
принтером, но не стринги, вызываемые поцедурой ввода операторов управления
принтеров (РСТ) от А$ до Z$ и не строки от 9000 до 9900. Результат можно включить
в файл - "LJ", сбросить и повторить - "N", отменить команду и выйти из нее - "Q".

- включение/выключение контурной линии - режим Е "О".

- включение/выключение видеомаркеров - режим Е "V". Когда режим включен,
то в хэдере рядом со значением ширины страницы "VIDEO" изображается маркер
"конец абзаца".

- переключатель регистров BP/HP - CAPS SHIFT "2

- установка величины левого поля - режим Б "М". Запрашивается ввод числа,
которое может быть от 1 до величины правого поля минус единица.

- установка величины правого поля - режим Б CAPS SHIFT "М". Запрашивается
ввод числа, которое может быть от величины левого поля плюс 1 до числа 132.

- установка величины разбивки экрана - режим Б CAPS SHIFT "V".
Запрашивается ввод числа: 40,48,60,80. Экран перестраивается.

- установка величины табуляции - режим Б CAPS SHIFT Т. Величина TAB
может изменяться от 1 до величины правого поля минус 1, но не может быть более 80.

- изменение цвета бордюра - режим Б CAPS SHIFT "В". Цвет бордюра может быть
одним из основных спектрумоских цветов От 1 до 7, независимо от цвета страницы и
хэдера. Бели принять 0, то будут белые символы на черном фоне.

- изменение цвета хэдера - режим Б CAPS SHIFT "Н".

- счетчик слов - режим Б CAPS SHIFT "W". По этой команде пересчитываются все
группы символов, разделенные пробелами, независимо от того, являются ли они
словами. Результат изображается вместе с "видимой" длиной файла в байтах.

- работа калькулятора - режим Б CAPS SHIFT "С". Страница текста убирается
вниз, чтобы вы могли записать выражения длиной до 40 символов, после чего самый
левый символ исчезает. Выражения должны быть законченными математически, хотя
знак "-" не требуется* так выражение 3*128 является законченным вводом. Пробелы
не требуются. Стринговые выражения могут быть "урезанными", т.е. если
А$-м 12345678", то выражение VAL А$ (2Т05) будет расценено как 2345 и т.Д.

После нажатия ENTER автоматически будет выполнен расчет до получения
числового ответа, а если это невозможно, то загорится вопрос WHAT? и неправильное
выражение будет на экране для определения ошибки до тех пор, пока не будет нажата

какая-либо клавиша, после чего экран будет очищен.

_ «

Далее вы сможете сохранить этот результат в одном из регистров памяти, нажав

МО, Ml, ..... М9. Он запоминается как стандартная бейсиковская переменная и

доступен для калькулятора, когда это необходимо.

Нажатие любой другой клавиши приведет вас к следующей стадии. Здесь вы
можете использовать полученный результат - "U" (т.е. вставить его в текстовый файл),
отбросить его и повторить команду - "N" или вернуться в режим ввода текста - "Q".

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

- установка времени - режим Е CAPS SHUT "X". В редакторе имеются часы со
встроенным таймером (будильником). Таймер может быть установлен на время от О
до 250 минут (изначально - 30 мин.). Если на 0, то таймер выключен. Таймер
предназначен для регулярности сброса введенного текста на лепту. Отключается
звуковой сигнал - "Т*. Возврат к вводу текста - "Q".

- отмена введенной команды - CAPS SI IIFT "Q".

- возврат к бсйсику - режим Е CAPS SI IIFT "В".

»

ПЕЧАТЬ

- управление печатью - режим Е "G". Это не столько команда, сколько программа
для управления процессом печати. Загорается меню, изображающее состояние
канала принтера. Если требуется пересмотреть какие-либо исходные данные -
нажмите "R". В каждой позиции нажатие ENTER приводит к перемещению курсора
без внесения изменений.

1. LINE PRINTER - переключается на ZX-принтер при нажатии "R". Когда стоит
LINE PRINTER, то запрашивается ввод адреса возврата. Введите 0, если используется
интерфейс без обратного обращения после инициализации или обычный адрес для
интерфейса, который имеет блок памяти и которому нужно также обычно из бейсика
обращение RANDOMIZE USR для задействования.

ZX-принтер всегда использует резидентный генератор шрифта из редактора для
печати 40, 48, 60, 80 символов в строке, в соответствии с тем, какой режим избран.

2. Байт,который использует принтер для возврата каретки. Обычно - 13, но надо
уточнить по руководству к принтеру.

3. Байт, необходимый для перевода строки. Он может быть необходим отдельно от
ВК. Если не нужен - введите 0.

4. Все 4 байта каждого оператора управления принтером. Они вводятся
автоматически вводом специального числа - префикса. Он сообщает интерфейсу
принтера, что за ним должна пойти группа управляющих кодов.

Отсюда можно перейти прямо к меню печати - "Р" или к пересмотру - "R" или к
тексту - "Q".

- печать текста - режим Е "Р". Загорается меню, на котором изображены:

* номера первой и последней строк файла;

* установленное количество строк файла;

* состояние операторов управления печатью (РСТ).

Для изменения чего-либо - "R", для выполнения печати "Р", для возврата к тексту
нажмите - "Q".

За вводом "Р" каждая копия печатается по команде ENTER. Хотя нажатие "Q"
позволяет выйти из этого меню и перейти к тексту, нажатие "Q" во время работы
принтера прерывает печать и переводит к началу новой копии.

- Оператор BREAK переводит в бейсик.

- файл РСТ (файл операторов управления принтером) - режим Е Т". Все 24
оператора управления принтером полностью дисассемблированы вместе со своими
метками и копией стандартного префикса. Вы можете ввести любое число от 1 до 24
для движения курсора по меткам и кодам или вернуться к текстовому файлу -"Q". Все
метки или коды можно переопределить. Все коды могут быть от 0 до 254. Ввод 255 при
печати игнорируется и обозначает пробел.

хранение файлов и вызов

- записать текст на внешний носитель - режим Е "S". Запрашиваются номера
первой и последней строк выводимого текста, а также число: 0 - для ленты или от 1 до
8 для микродрайва. Ввод завышенного номера последней строки всегда приводит к
установлению действительного значения конца файла. Так, ввод 1 и 9999 приводит к
записи большинства файлов полностью. Если необходимо точно знать номер
последней строки файла, то можно воспользоваться первой частью команды вывода
на печать.

Если файл данного имени уже есть на картридже микродрайва, то появится
сообщение FOUND! NEW? (Y). Ответ (Y) приведет к стиранию старого файла и записи
нового. Просто ENTER - возврат к текстовому файлу.

Запись на микродрайв идет в формате данных, а на ленту в кодах.

- загрузить текст - режим Е "L". Текст, загружаемый в редактор, не переписывает
то, что уже есть там, а пристегивается к концу файла. В пустой файл, соответственно,
загрузка идет в самую нижнюю часть памяти.

Если используется команда вставки INSERT и имеется некоторый "спрятанный"
текст, то весь материал, вводимый в файл, добавляется к видимой части файла, что
позволяет вам вставлять любой материал внутрь уже существующего файла. Это
позволяет выполнять большинство требуемых "сшиваний" текстов. Команда
включения бейсиковского стринга выполняет аналогичную функцию.

После команды LOAD вводится номер носителя 0 - для ленты и от 1 до 8 для
микродрайва и имя, которое нужно отыскать. При работе с магнитофоном, все имена
читаются и записываются на экране, пока не найдется искомое, тогда начинается
загрузка.

При работе с микродрайвом, если искомое имя отсутствует, то выдается сообщение
ABSENT! Если файл испорчен , то появится обычное бейсиковское сообщение FILE
NOT FOUND, но при этом все "хорошие" 512-байтные секторы до испорченного
загрузятся в редактор. Если файл на картридже, который вы хотите загрузить,
слишком велик, загрузится сколько возможно, а потом появится сообщение SPASE,
то есть от дальнейшего ввода программа отказывается. С ленты байты
воспринимаются в формате кодов, а с микродрайва в формате данных.' Если ваш текст
записан на микродрайве в кодах, то самый лучший способ переписать его на ленту
обычным порядком и загружать его оттуда.

- раскаталогизировать картридж - режим Е "С". Вводится номер микродрайва. В
окне "TITLE" появится имя картриджа и на экране распечатываются имена файлов и
зтгем размер свободного пространства в килобайтах.

- стереть файл на картридже - режим Е "Е". Запрашивается номер микродрайва
и имя файла. Если этого файла нет, то загорается ABSENT!

- выполнить форматирование картриджа - режим Е "F". Вводится номер
микродрайва и новое имя картриджа.

печать текста

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

Рассматривайте процедуру печати как управляющую программу. Ее материал -
это текстовый файл, включающий в себя операторы РСТ - операторы управления
печатью.

Процедура вызывается - режим Е "Р" и затем следуют ответы на следующие
запросы:

1. Номера первой и последней строк выводимого текста. При этом программа сама
обеспечивает вас следующими данными: номера первой и последней строк
существующего файла, интервал между строками, количество копий, установка РСТ.
Если эти данные вас устраивают, можно непосредственно начинать печать без
изменений. Если нет, то их можно изменить - "R". Как и в операции SAVE, первый
номер строки должен быть точным, а вместо последнего (для выведения файла
целиком) годится любое заведомо большее число.

2. Интервал между строками - может быть любое число от 1 до 254.

3. Количество копий - от 1 до 254.

4. Статус ACTIVE/NON-ACTIVE шестидесяти операторов управления печатью.
Он может быть включен/выключен вводом "R", когда курсор находится на РСТ.

Более специфическое управление процессом печати осуществляется посредством
вставленных в текст РСТ операторов, обращающихся к принтеру для изменения
формата печати, к области переменных бейсика для отыскания стринга или к области
бейсик-программы для отыскания и выполнения некоторых строк перед возвратом в
машиннокодовый блок. Если произойдет сбой (встретится несполнимый оператор

РСТ и т.п.), печать прерывается и вы выбираете переходить к другой копии (если она
есть) или возвратить программу к текстовому файлу.

Имеет смысл хранить копию текста на ленте или микродрайве неред выводом ее
на печать. В случае непредвиденных сбоев, которые бывают, вам это поможет.

Количество переменных, которые "дрейфуют" между принтером и текстовым
файлом может быть немалым, при этом вовлекаются многочисленные РСТ
операторы. Связь между всеми элементами превращает редактор в довольно мощное
средство, но искусство работы зависит от вас.

операторы управления принтером (рст)

Коды, которые компьютер выдает принтеру для печати, находятся в диапазоне от
32 до 127. Кроме того, принтеры используют специальные коды для исполнения
специальных функций при печати, для чего редактор имеет банк из 60 настраиваемых
операторов управления печатью, которые могут быть вставлены заранее где надо в
текстовый файл для исполнения какой-либо процедуры при исполнении самой
печати.

Операторы РСТ разбиваются на три группы:

- непосредственное управление принтером (24 оператора);

- для отыскания и печати именованных стрингов из бейсик области (26
операторов);

- для передачи управления из редактора в бейсик (10 операторов).

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

Все операторы РСТ вставляются в текст с использованием CAPS SHIFT "I". За этой
командой требуется ввод числа от 1 до 24 для операторов непосредственного
управления принтером, ввод буквы от А до Z с последующим знаком доллара для
одного из 26 стринговых операторов РСТ или ввод числа от 90 до 99 для обращения х
строкам бейсика от 9000 9900. Оператор РСТ всегда вставляется в текст слева от
видимого на экране символа. Эти операторы не занимают экранного пространства,
строки остаются правильной длины, отсчет колонок не нарушается.

Вы можете вставить оператор РСТ где угодно в тексте и он ничего не затрет.

Для того, чтобы указать где в тексте спрятан оператор РСТ, следующий за ним
символ отображается в инверстном виде. Если это невозможно, т.е. оператор стоит в
самом конце строки, то в этом случае маркер конца строки отображается
подчеркнутым. Инвертирование символов может быть включено или выключено. Для
этого применяется команда включения видео маркера - режим Е "V", которая работает
как переключатель. Индикатором на экране при этом является наличие или
отсутствие маркера "конец абзаца" в хэдере рядом с величиной разбивки экрана.
Генерация маркеров "конец строки" также включается и выключается по этой
команде.

Если курсор ввести в середину текста и поместить его на РСТ операторе, то метка
оператора появится в хэдере. Это произойдет независимо от того, включено или
выключено изображение видеомаркеров.

Влияние всех операторов РСТ может быть включено или выключено командой "R"
при инициализации меню печати. При этом 24 оператора управления печатью на
печать не выводится, но остальные два типа - печать стрингов или обращение к
строкам бейсика выводятся, если переключатель РСТ включен.

операторы непосредственного
УПРАВЛЕНИЯ ПРИНТЕРОМ

Редактор содержит файл из 24 управляющих операторов, цель которых -
обеспечить выдачу на принтер избранных групп по 4 кодовых байта для сообщения
принтеру о необходимости выполнения специальных действий и, тем самы^, для
изменения формата печати.

Эти операторы, вставленные в файл, - одиночные байты из диапазона от 128 до
151, пронумерованные от 1 до 24. Команда режим Е "Т" отображает на экране
текущий формат операторов РСТ, все метки и соответствующие им значения кодов в
диапазоне от 0 до 254. Значение 255 изображается как Все метки и байты могут
быть пересмотрены.

Используя команду управления печатью, можно ввести стандартный префиксный
байт, который будет выдываться перед группой байтов РСТ и выполнять роль ини-
циатора для интерфейса или принтера.

Файл операторов управления принтером выглядит так:

Стандартный префикс - 1

Как уже было сказано выше, метки и значения, приведенные здесь, относятся к
интерфейсу zx LPRINT III и к принтерам системы EPSON-rx8o. Все эти метки и
коды могут быть изменены. Файл операторов управления принтером может быть
вызван также и из бейсика, см. Приложение 1.

Если вам необходимо иметь копию таблицы операторов управления принтером на
микродрайве или на ленте, это можно сделать следующим образом:

НА ЛЕНТУ:

SAVE"PCT-TABLE"C()DE5103,217

LOAD "PCT-TABLE"CODE

НА МИКРОДРАЙВ 1 и т.д.

SAVE*"M";l;"PCT-TABLE"CODE5103,217

LOAD*MM";l ;"PCT-TABLE"CODE

печать именованного стринга

Если после РСТ - CAPS SHIFT "Г, набрать какую-либо букву и знак $, а затем
ENTER, то можно вставить управляющий оператор, который скомандует редактору
найти и вставить в это место при печати бейсиковский стринг, имя которого совпадает
с данными оператором управления печати. Другими словами, оператор А$ вызовет
печать бейсиковского стринга, который в этот момент имеет это имя. Стринг будет
напечатан точно так, как будто он является частью текста, хотя сам текстовый файл
останется без изменений. Если этот стринг не может быть найден, т.е. он не был
присвоен бейсиковской переменной или он многомерный, что недопустимо, то в этом
случае печать остановится и редактор выдаст сообщение: CHECK А$ (проверте А$).
Программа перейдет к исполнению следующей копии, если она нужна, можно выйти
отсюда - "Q" или вернуться в текстовый файл, если Необходимости в копиях нет.

переход к бейсик-строке

Командой CAPS SHIFT Т и вводом числа от 90 до 99 осуществляется ввод
оператора управления печатью, который в процессе печати остановит принтер и
обратится к бейсик-строке, номер которой в сто раз больше введенного числа. Так,
ввод 96 отправит компьютер к строке 9600.

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

Принтер можно, естественно, задействовать напрямую режимом LPRINT, что
может быть удобным для выдачи некоторых простых вещей - комментариев,
подчеркиваний слов и т.п. Вы можете делать PRINT и на экран этим способом, хотя
необходимо учитывать, что печать должна идти от 4-й строки до 21-й, т.к. если
страница и будет переписана после возврата из бейсика, то хэдер - нет. Если вы
запортите верхнюю часть экрана, то команда режим Е "А" исправит экран, но вы
окажетесь в начале текстового файла.

Когда программа в бейсике отработала полностью, заключительная команда
должна быть GO ТО 9999, чтобы совершить прыжок назад в редактор. Переход к
машинным кодам осуществляется оператором RANDOMIZE USR 65200,
расположенным в этой строке, хотя это можно сделать и из любого другого места
программы.

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

СОСТАВЛЕНИЕ И СЛИЯНИЕ
КОМПЛЕКСНЫХ ДОКУМЕНТОВ

Существует два способа, с помощью которых вы можете включить "внешний" текст
в редактор там, где вам это надо. Первый выполняется при наборе, когда вам надо
вставить заранее подготовленную последовательность, символов, например, данных
или часто используемую повторяющуюся последовательность символов или букв.
Второй способ применяется при печати на принтере и позволяет вставлять
практически неограниченное количество материала в виде бейсиковских стрингов,
взятых из области переменных бейсика. Вставляются они в те места, где были
помещены оператором РСТ. Можно также выполнять вычисления в бейсик-области,
поместив в выводимый файл оператор РСТ для перехода в бейсик-область.

ВКЛЮЧЕНИЕ СТРИНГА ПРИ НАБОРЕ ТЕКСТА

Если простой бейсиковский стринг сущесвует в области переменных бейсика, то
командой INCLUDE - CAPS SI IIFT "I" вы можете набрать имя этого стринга при вводе
текста, тогда на экране появятся первые 8 символов со знаком $ и указанием его длины.
Далее вы можете использовать его, т.е. вставить в текст - "U", перейти к другому - "N",
или отбросить совсем и вернуться к набору текста - "Q". Если вы его использовали, то
стринг впишется в ваш текстовый файл так, как будто вы его впечатали и, конечно,
все заданные режимы, например, выравнивание правого поля, перенос слов и т.п.
будут соблюдены.

ВКЛЮЧЕНИЕ СТРИНГА ПРИ ПЕЧАТИ
ТЕКСТА НА ПРИНТЕРЕ

Опять, если предположить, что такой стринг существует, вы можете использовать
один из 26 операторов управления печатью, предназначенных для впечатывания
стрингов в качестве единицы печатного материала. Это должен быть простой стринг.
Операторы РСТ находятся в пределах от А$ до Z$. Пользователь должен обратить
внимание, что мы нигде не говорим о длине стрингов, поэтому внимательно смотрите,
чтобы их длина соответствовала размерам принятой вами страницы.

Если у вас есть текст или данные, содержащиеся в файлах, полученных другими
программами (например, программой КЭМПБЕЛЛ МАС'ГЕРФАЙЛ), то наилучший
способ ввода этих файлов в редактор осуществляется через бсйсик до входа в TLW.
Для этого текст, подлежащий вводу присваивается (LET) бейсиковским стрингам,
которые затем вызываются и вставляются или из TLW или непосредственно во время
печати операторами РСТ, предназначенными для вставки стрингов в текст.

Материал, который вам нужен, легче всего получить из маетерфайла через бейсик-
строки 4900, 6000, 7000. В этих строках записи доступны в виде стринга С$ О,
имеющего размер 130. Первый байт - это метка данных (от А до Z), а остальные 129
байтов - это сами данные. Их можно записать на микродрайв, например, так:

4900 LET D$-n"

4910 LET N-0:REM указатель номера фапйла
4920 LET N-O: указатель номера файла

6000 LET D$ L D$+C$ (R TO) + CHR$0: REM прием данных, установка маркеров.

6010 GO ТО USR R: REM возврат в мастерфайл за другой порцией данных.

7000 LET N-N+l: REM подготовка к выгрузке файла -

7010 OPEN ♦ГМ"; 1 ;"MFL DATA"+STR$N

7020 PRINT #8;D$:CLOSE #S:REM выгрузка записей

7030 GO TO USR R: REM возврат в мастерфайл.

Здесь данные D$ записываются на микродрайв 1 с именами файлов MFL DATA1,
MFLDATA2, и т.д. Последующий вызов в редакторе может быть выполнен, например,
такими строками:

9000 LET N-l :REM для инициализации используйте оператор управления

принтером 90.
9010 GO ТО 9999: REM возврат в nrLW..."

9500 OPEN #5;^"; 1 ;"MFL DATA "+STR$N:REM здесь используйте оператор

РСТ 95.

9510 INPUT #5;H$:CLOSE #5:LET N-N+l :REM запись вводится как Н$ и т.д.

9520 GO ТО 9999.REM возврат в TLW

9600 FOR А-0 то 4: REM для пяти записей и т.д.

9610 LETТ$-Н$((А* 130+1) ТО (А* 130+129))

9620 GO ТО 9999:REM возврат в TLW

9700 NEXT A: REM чтобы вернуться к 9600 четыре раза, используйте РСТ 97
9710 GO ТО 9999:REM окончательный возврат в TLW

Обратите внимание на то, что поскольку информация из мастерфайла
записывается на микродрайве в формате данных, то теоретически есть возможность
их загрузить в TLW и просмо-феть, но при этом, конечно с ними нельзя оперировать
без наличия программы мастерфайл.

Если у вас накопился большой объем информации, которую нужно переработать
таким образом, то определенно имеет смысл освоить работу с файлами при помощи
микродрайва и интерфейса-1.

ВЫЗОВ БЕЙСИКА В ПРОЦЕССЕ ПЕЧАТИ

С помощью команды вставши кода управления принтера и вводом числа от 90 до
99 можно отправить компьютер вбейсик-область в процессе печати текста. Цель этого
маневра - выполнение каких-либо вычислений, в частности для того, чтобы
пересмотреть некоторые стринги и создать новые, которые можно использовать
соответствующей командой управления печатью для включения стрингов.
Пользователь для этого должен в бейсик-области написать соответствующую
программу. В то же время, из области бейсика пользователь может управлять печатью
в обычном режиме LPRINT, а для каких-либо действий может вызвать и экран
редактора. Если используется микродрайв для обеспечения каких-либо стринговых
данных через команду INPUT, то две нижние строки экрана будут очищены, но это
не имеет значения, т.к. страница будет переписана по окончании процесса текущей
печати. Если в процессе работы бейсика происходит ошибка, компьютер
останавливается обычным образом, это не влияет на продолжение процесса печати
при условии, что строка бейсика 9999 или оператор RANDOMIZE USR 65200 по
прежнему используется для возврата в редактор, что обычно и бывает в случае
появления ошибок.

Итак, когда компьютер отправляется в бейсик-область, его цель - строки 9000,
9010,....9900. На каждой из них можно организовать выполнение какой-либо
специфической задачи при условии, что предусмотре возврат через строку 9999 или
через оператор RANDOMIZE USR 65200. Фактически любая ошибка, возникающая
при работе в бейсик-области не влияет на редактор, так что вы можете выполнять
любые действия и расчитывать на возврат в редактор через адрес 65200.

КАЛЬКУЛЯТОР

В любое время, когда программа находится в режиме ввода текста, вы можете ее
использовать и как, калькулятор для вычислений, если вы запишите выражение,
соответствующее вашим требованиям. Результат вычислений может быть присвоен
одной из бейсиковских переменных от МО до М9, как бы калькулятор имеет десять
регистров памяти.

Когда калькулятор вызывается - режим Е CAPS SHIFT "С" страница опускается
на две строки и высвечивается слово ASSES: в высвечиваемой зоне вы можете записать
какие-либо вырыжения, результат которых тоже число, например, 4*3+8*5, а может
быть на[бор чисел, функций, логических операций, имен переменных, операций над
стрингами. Если, например, вы запишете выражение в виде стринга: LET
C$-"M1+125.5#(INT(M2/M3)*(1+VAT)", то вы можете выполнить и VALC$, если все
входящие переменные Ml, М2, МЗ VAT и т.п. существуют и определены. Если
результат не может быть получен по какой-либо причине, т.е. вычисления прервутся,
вы получите вопрос (WHAT?) и выражение, которое вы записали, будет на экране до
нажатия другой какой-либо клавиши.

Если результат будет выдан, перед вами есть выбор запомнить его в бейсиковской
переменной от МО до М9, для этого просто нажмите цифру от 0 до 9. Любая другая
клавиша приведет вас к другому тройному выбору - HU", чтобы использовать
результат, т.е. ввести его в текст, как будто он набран с клавиатуры; "N" - опустить
результат и повторить команду; "Q" - отбой команды. Ваш текст не изменится, если
вы не нажимали клавишу "R".

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

Если в соответствии с какой-либо специфической ситуацией вам необходима
особенная последовательность выражений, вы можете иметь ее на кассете и
впоследствии перезагрузить в редактор, когда это необходимо. Однако
предусмотрите, чтобы при этом не выполнялись CLEAR и RUN, не то те переменные,
которые у вас существуют, могут быть потеряны.




СОДЕРЖАНИЕ:


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

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



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

Похожие статьи:
Приколы - подборка приколов.
Реклама - Реклама и объявления.
Net News - Новости с PROFI-BBS.
Тонкости опроса кемпстон-крыс - о глюках Kepston Mouse.
Система - новый aссeмблeр из городa Волгодонскa: EDAS 3.3.

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