|
Spectrum Progress
#02
19 января 1997 |
|
Инструментарий - Инструкция по пользованию пакетом программ "ZX-WINWORD", предназначенных для подготовки иллюстрированных текстов.

Предлагаем читателям познакомиться с пакетом
ZX-WINWORD, предназначенным для подготовки
иллюстрированных текстов. В него включены:
текстовый редактор ZX-WINWORD 1.3
резальщик спрайтов
текстовый дизайнер
(C) Евгений Милун, 1997.
Во многом мой редактор похож на ZX/IBM EDI-
TOR, но только по внешнему интерфейсу (его я
СОЗНАТЕЛЬНО И САМОСТОЯТЕЛЬНО делал похожим; в
WINWORD нет ни единой команды из ZX/IBM EDITO-
Rа, просто этот редактор мне очень понравился)
- внутреннее наполнение у них различное, что и
станет ясно после прочтения нижеследующего
текста.
Немного технической информации.
1. Требуемая память - 128 килобайт.
2. Максимальная длина текста - 49152 байт.
3. Максимальная длина графики - 32768 байт.
4. Максимальная длина шаблона, того, что связы-
вает воедино текст и графику - 16384 байт.
5. Количество шрифтов - пока один.
6. Максимальное количество иллюстраций на одном
экране (он же страница) - неограничено.
7. Максимальное количество спрайтов в таблице
графики - пока 256 спрайтов. Спрайты могут быть
как цветными, так и монохромными.
8. Длина строки; рабочая длина - 42 символа
(т.е. то, что можно редактировать); полная -
255 символов (т.е. они не видны, но присутству-
ют).
9. Скорость работы - учитывая размеры обрабаты-
ваемых данных и набор функций - довольно
быстрая; не учитывая - приемлемая; сравнительно
с IBM - медленная; сравнительно с "МИКРОШЕЙ" -
сверхреактивная.
10. Дисковая среда - TR-DOS.
11. Кодировка - полная ASCII, код перевода
строки - #D; т.е. все как в IS-DOS.
12. Количество строк в странице - 22.
Клавиши управления при редактировании.
стрелки Up, Down, Left, Right - передвижение
курсора на экране, или в меню.
SS/Space - выход в меню из режима редактиро-
вания текста.
Ext.Mode - вход в командный режим, в статус
строке появляется надпись "Command:", подробней
о нем ниже.
DELETE - удаление символа слева от курсора.
GRAPH - удаление символа под курсором. Может
применятся для сдвижки строк.
SS/W - включение/отключение режима вставки
символа.
SS/E - переместить курсор в конец строки.
SS/Q - в начало строки.
ENTER - перевод строки и/или перенос части
строки вниз.
TRUE VIDEO - страница вверх, к началу
текста.
INV. VIDEO - страница вниз, к концу текста.
CAPS.LOCK - включение/отключение режима
заглавных символов.
EDIT - не-е-а, это не Escape, это переклю-
чатель русский/латинский алфавиты.
Клавиши командного режима.
F - поиск фрагмента текста, для поиска сле-
дующего фрагмента нужно выбрать этот режим пов-
торно.
R - замена одного фрагмента другим,
после нахождения будет выдан запрос "REPLACE ?"
и ожидание клавиш "Y"/"N"/"Space".
O - перепечатка всей страницы, введена на
всякий пожарный и бывает полезна, если вам
вдруг покажется что с цветом на экране что-то
не то - перепечатайте страницу и "нормальные"
цвета вернуться.
L - удаление текущей строки.
P - вход в режим редактирования шаблона. Он
доступен только в режиме DOC и при наличии бло-
ка графики, о его клавишах ниже.
G - включение/отключение режима псевдогра-
фики.
Up - на первую страницу. 8. Down - на пос-
леднюю страницу.
B - отметить начало блока, эта и нижесле-
дующие блочные операции доступны только в режи-
ме TXT, в режиме DOC они просто игнорируются.
E - отметить конец блока.
D - удалить блок.
Q - разотметить блок.
C - скопировать блок, блок не разотмечает-
ся.
M - перенести блок.
цифры от 0 до 9 - ввод символа через набор
его десятичного кода (т.е. ввод кода символа).
Клавиши редактирования шаблона.
1. ENTER - ввести новую иллюстрацию на данной
странице.
2. DELETE - удалить текущую иллюстрацию.
3. + (плюс) - следующая иллюстрация.
4. - (минус) - предыдущая иллюстрация.
5. TRUE VIDEO - следующий спрайт, т.е. смена
картинки для текущей иллюстрации.
6. INV.VIDEO - предыдущий спрайт.
7. Space - выход в режим редактирования текста
с сохранением всех сделанных изменений.
8. Up, Down, Left, Right - перемещение ил-
люстрации по экрану.
Теперь о меню.
Каждый пункт меню имеет хотя бы одну заглав-
ную букву - это так называемая "горячая клави-
ша" пункта, при нажатии на которую произойдет
его выбор. Для "традиционного" выбора пунктов
можно использовать клавиши Up, Down, Left,
Right, Enter. SPACE - выход из меню без выбора
какоголибо пункта.
Основное меню состоит из 6 пунктов.
1. File - работа с файлами.
load Text - чтение текста;
load sPrites - чтение блока графики;
Load doc. - чтение документа (текст
+ графика + шаблон);
Merge doc. - пристыковка документа
из файла к тому, кото-
рый в памяти;
Save doc. - запись документа;
save tExt - запись только текста;
New - новый документ;
Catalogue - вывод каталога диска;
cHange disk - смена дисковода;
Exit - выход в Basic в псевдо-
48 режиме - редактор
48-го, а память 128-го.
2. Edit - вход в режим редактирования, можно
просто нажать Space, находясь в любом пункте.
3. Inform - вывод информации о текущих размерах
текста, графики и шаблона, а также размеров
свободной памяти под них.
4. About - информация о версии программы.
5. Setup - задание установок. Пока здесь только
два пункта:
Sound - включение/отключение звука;
Mode - задание режима TXT (выводится
только текст) или DOC (выво-
дится текст, графика и учиты-
ваются некоторые кодовые ком-
бинации в тексте).
Выход в основное меню - Space.
6. Print - печать документа на принтере.
Пока данная функция не реализована - у меня
нет принтера. Кто заинтересован в этой замеча-
тельной функции, пускай подарит мне принтер
(почти шутка).
Под строкой главного меню находится статус
строка, в которой сообщается информация о режи-
ме работы редактора. Слева на право:
- РУС/LAT/GRAPHICS - текущий алфавит рус-
ский/латинский/символы псевдографики.
- CAPS/____ - режим заглавных/строчных букв.
- INS./OVER - режим вставки/наложения символа в
позицию курсора.
- PAGE:xxx - номер текущей страницы.
- MODE:DOC - режим отображения текста DOC или
TXT.
- xx - десятичный код символа под курсором.
Это все в режиме редактирования текста, в ре-
жиме редактирования шаблона все немного по-дру-
гому:
- PAGE:xxx - номер текущей страницы.
- SPRITE: aaa/bbb - номер текущего спрайта
(aaa) и общее количество спрайтов в таблице
(bbb).
- X= xxx - x координата текущего спрайта.
- Y= yyy - y координата текущего спрайта.
Теперь несколько общих моментов.
Из-за того, что текст "раскидан" по страни-
цам памяти доступ к каждому символу текста осу-
ществляется с помощью специальных процедур, что
сильно замедляет работу по сравнению со случа-
ем, когда текст сидит в 48-й памяти. По-этому
нижайше вас прошу сделать скидку на скорость
операций поиска/замены фрагментов - я и так уже
сделал почти все, что в человеческих силах, что
бы ускорить эти операции. (Среднее время поиска
фрагмента на одной странице 2-3 секунды).
Под текст, графику, шаблон отводятся
собственные участки памяти, поэтому их макси-
мальный размер друг от друга не зависит.
Документ сохраняется в собственном формате,
с добавлением одного служебного сектора, кото-
рый содержит всю необходимую редактору информа-
цию для нормальной идентификации документа.
Кроме того, помимо текста, естественно, в файле
присутствуют и шаблон, и таблица спрайтов. А
потому, файл-документ в другом текстовом редак-
торе скорее всего глюкнется. Да и в самом
WINWRD не следует документы считывать через LO-
AD TEXT.
Так как максимальная длина документа в целом
может составить 384 (!!!) сектора, то в прог-
рамму введено понятие файла-сателлита - файла,
расположенного непосредственно за основным,
имеющим расширение "1" и служащим ИСКЛЮЧИТЕЛЬНО
(!!!) для того, что бы одурачить TR-DOS. Основ-
ной файл, и файл-сателлит редактором рассматри-
ваются как единое целое (!!!), а потому всегда
сателлит должен быть расположен за основным.
При записи файла документа, автоматически
происходит вытирание всех файлов с таким же
именем т.е. файлы автоматически перезаписывают-
ся.
Все дисковые операции в данной версии произ-
водятся через стандартные #3D13-е процедуры, со
всеми вытекающими последствиями дисковых оши-
бок.
Если при вводе имени файла стереть все сим-
волы и нажать ENTER (т.е. ввести пустую стро-
ку), то обращения к диску не произойдет. Если,
например, вы случйно попали в режим LOAD DOC.,
а читать-то ничего и не хотите, то введя пустую
строку (но не строку, состоящую из пробелов),
вы вернетесь в основное меню.
Как я уже говорил, редактор понимает в режи-
ме DOC несколько служебных кодовых комбинаций.
Вам пока будет полезна только одна - управление
цветом - это код 16 со следующим за ним байтом
атрибутов; их можно набрать в режиме TXT (через
Command), где они будут восприниматься как
обычные символы (это касается всех кодовых ком-
бинаций), а в режиме DOC они будут "работать"
(т.е. их не будет видно) и они будут "обхо-
диться стороной" курсором.
Спрайты имеют мой собственный формат, и их
лучше вырезать с помощью моего CUTSPRITE, о ко-
тором я расскажу ниже. Параметр START файла с
таблицей спрайтов показывает количество спрай-
тов в таблице. А сейчас торжественно сообщаю
вам формат таблицы:
спрайт_1, спрайт_2, спрайт_3, .... Формат
спрайта:
- длина блока (всех ниже следующих
байт, без учета этих 2-х байтов);
2 байта;
- размер изображения по X, в знакоме-
стах; 1 байт;
- размер изображения по Y, в пиксе-
лaх; 1 байт;
- байты изображения, построчно;
- флаг присутсвия атрибутов; если 0,
атрибутов нет и спрайт на этом за-
канчивается, если #FF, то дальше
идут:
- X-размер области атрибутов в знако-
местах; 1 байт;
- Y-размер области атрибутов в знако-
местах; 1 байт;
- атрибуты, построчно.
╔═════════════════╗
║ CUTSPRITE v.2.0 ║
╚═════════════════╝
Теперь дошла очередь и до второго компонента
пакета - программы CUTSPRITE, требующей для ра-
боты всего 48K.
Сразу оговорюсь, что эту программу я делал
для совершенно других целей в середине 1994 го-
да, а потому нижайше вас прошу сделать скидку
на ее оформление и сервис. В состав первого па-
кета "ZX-WINWORD" я включил ее лишь по той
простой причине что мне было лень "изобретать
велосипед" да и время опять же поджимало, но в
следующей версии все будет "на высоте".
Идея этой программы проста - не рисовать
спрайты, а вырезать их из уже готовых картинок,
которые можно нарисовать в любом экранном ре-
дакторе.
Теперь о работе с программой. После загрузки
программа переходит в так называемый экранный
режим - режим в котором с помощью рамки задают-
ся границы спрайта. Клавиши управления:
O, P - горизонтальное движение рамки (по знако-
местам).
Q, A - медленное вертикальное движение рамки
(по пикселам).
W, S - быстрое вертикальное движение рамки (по
знакоместам).
Left, Right - изменение горизонтального размера
рамки.
Up, Down - медленное изменение размера рамки по
вертикали (по пикселам).
E, D - быстрое изменение размера рамки по вер-
тикали (по знакоместам).
Ext.Mode - вызов основного меню (командный ре-
жим).
H - вывод экрана-справки.
Основное меню.
Выбор пункта осуществляется нажатием соот-
ветствующей пункту цифровой клавиши:
0 - CATALOGUE OF DISK - вывод каталога диска;
1 - LOAD SCREEN - чтение картинки и переход в
экранный режим;
2 - LOAD SPRITES - чтение таблицы спрайтов с
диска, причем параметр START будет рассматри-
ваться как количество спрайтов в таблице;
3 - SAVE SPRITES - запись на диск таблицы
спрайтов (параметр START - число спрайтов); [К
сожалению здесь обнаружен глюк- иногда выдается
сообщение, что файл с аналогичным назаванием
уже существует,в то время,как его нет. Если от-
ветить утвердительно на запрос "overwrite", то
все будет OK.]
4 - CUT COLOR SPRITE - вырезание монохромного
спрайта, ранее отмеченного рамкой, по заверше-
нии вырезки включается экранный режим;
5 - CUT COLOR SPRITE - вырезание цветного
спрайта;
6 - VIEW SPRITE - просмотр спрайта с нужным но-
мером;
7 - DELETE SPRITE - удаление спрайта с нужным
номером,весь "хвост" сдвигается;
8 - NEW SPRITES - удаление ВСЕХ спрайтов из
таблицы;
9 - SCREEN MODE - возврат в экранный режим.
В верхней строчке выводятся: количество
спрайтов в текущей таблице (SPRITE:) и коли-
чество оставшейся свободной памяти для таблицы
(FREE:).
В остальном работать с этой программой легко
и вы без труда с ней справитесь.
Вот в принципе и все, что я хотел сказать вам
по поводу этого пакета. Спасибо за ваше внима-
ние.
По поводу найденных вами глюков звоните мне:
тел. (8462) 32-37-60 в Самаре, Евгений
(с 18:00 по 20:00 MSK)
или "мыльте" 2:5057/18.73@FidoNet
To: Evgeny Milun
SUBJ: ZX-WINWORD
─────
Другие статьи номера:
Похожие статьи:
В этот день... 17 ноября