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 ─────
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября