ZX Review
#7-8-9-10
08 ноября 1997 |
|
Программы, которые мы выбираем - Предложения по доработке ZX Word v2.5.
(c) Давыдов В.М., Нижегородская обл., с.Запрудное Есть предложение ввести руб- рику переписки с авторами прог- рамм, как с потенциальными авто- рами принципиально новых прог- рамм, так и с авторами сущес- твующих. Большинство программис- тов в выходных данных программ указывают только номер телефона, да и то не всегда. А, учитывая некоторые особенности телефон- ной связи, позвонить в другой город для обсуждения техничес- ких особенностей программы весь- ма проблематично. Дмитрий Пар- цырный в описании STS дал свой домашний адрес. Но ему вряд ли доставляет удовольствие терять время на чтение писем с вопроса- ми типа: "А как мне сделать...". Польза будет обоюдная. Прог- раммисты смогут узнать, что не удовлетворяет пользователей, и учесть пожелания в следующих версиях. А пользователи смогут сообщить программистам о том, какого характера программы их более всего интересуют в ближай- шее время и в отдаленной пер- спективе. Если будет обратная связь между потребителями и про- изводителями программного обес- печения, то, по крайней мере, программист не будет мучиться сомнениями о том, к чему бы при- ложить свои способности. Кажется, уже давно пришло время для разработки текстового редактора, использующего память 128К и выше. Идеал для подража- ния - LEXICON от IBM-PC, хотя повторить на Спектруме все его возможности вряд ли кому удаст- ся. Поскольку ZX-WORD получил достаточно широкое распростране- ние, выскажу свои мысли о том, что можно добавить к имеющимся в версии 2.5 функциям. - Ввести переключаемый зна- когенератор с матрицами 4х8, 6х8 и, может, даже 8х8 пикселов. Постоянно пользоваться матрицей 4х8 не очень удобно. Некоторые знаки сливаются и плохо различи- мы, из-за чего возрастает коли- чество опечаток. - Ввести отключаемые режимы автопереноса и автоформатирова- ния. То есть, если не нажимать "ENTER", то при выходе вводимо- го слова за правую границу сло- во переносится на начало следую- щей строки, а предыдущая форма- тируется в соответствии с уста- новленными границами. При нажа- тии "ENTER" курсор переносится в позицию красной строки. Кстати, в первых версиях ZX-WORD при форматировании текста слова до- вольно точно делились на слоги. В последних версиях этого нет. Не мешало бы возобновить. - Модифицировать процедуру экранной печати таким образом, чтобы вместо отображения после- довательностей управляющих ко- дов включения и выключения двой- ной ширины знаков EPSON-совмес- тимого принтера изменялась ши- рина символов, печатаемых на эк- ране. Наглядность текста значи- тельно увеличится. Пользователи, имеющие принтеры, не совместимые с EPSON, могут преобразовывать эти управляющие последовательно- сти в своих драйверах. Естественно, процедура фор- матирования также должна учиты- вать ширину символов. Для того, чтобы меньше засо- рять текст управляющими кодами, можно не печатать на экране ESC- последовательности жирного и курсивного шрифтов, а для их ин- дикации использовать изменение цвета фона. При матрице 6х8 и 8х8 эти шрифты вполне можно сге- нерировать. - Ввести команду выравнива- ния строки без форматирования последующего текста. - В редакторе "ZX/IBM EDI- TOR" (Олег Хохлов) в информа- ционной строке выводится код символа, на котором стоит кур- сор. Довольно удобно, особенно для анализа последовательностей управляющих кодов. - Снять ограничения на раз- мер текста. Для этого ввод и ре- дактирование текста осуществлять в буфере объемом 16К для компью- тера с объемом памяти 48К и 5 страниц по 16К при памяти 128К. Хотя реально его размер при заг- рузке текста будет меньше, так как нужно предусмотреть место для вставки текста при редакти- ровании. При этом на кодовый блок редактора остается память от #6000 до #BFFF. При заполне- нии буфера редактирования выда- вать предупредительное сообще- ние, после которого пользователь должен установить курсор в стро- ку, начиная с которой текст дол- жен остаться в памяти. Текст, от начала буфера до предыдущей строки включительно, записывает- ся во временный файл на диске, оставшаяся часть текста перено- сится в начало буфера, и на ос- вободившееся место подгружается следующая порция текста. Таким образом, на диске создается се- мейство файлов размером 255 сек- торов (кроме последнего). Для их идентификации можно использо- вать два байта заголовка файла, в которых хранится адрес загруз- ки, не имеющий смысла в данном случае. Один байт выделить для расширенной спецификации типа файла: временный файл, исполь- зуемый для записи; постоянный файл, созданный в предыдущем се- ансе работы, с которого произво- дится чтение; резервная копия текста (.BAK файлы на IBM-PC). Второй байт использовать для но- мера файла. При выполнении опе- рации записи файла резервные файлы удаляются, постоянные фай- лы переименовываются в резер- вные, временные - в постоянные. - Ввести режим автоматичес- кой нумерации страниц при печа- ти на принтере заданного коли- чества строк или после кода пе- ревода формата, который имеет смысл передавать принтеру. - Ввести режим качественной печати в графическом режиме принтера с использованием загру- жаемого набора символов. - Для увеличения скорости форматирования можно изменить способ расположения текста в па- мяти. Ввести фиксированную дли- ну строки, задавамую пользовате- лем. В первым байте записывает- ся рассчитанная фактическая дли- на, затем текст строки. Завер- шающие строку коды #0D, #0A в памяти не хранятся. Выделить служебный блок длиной в один сектор, в котором записывать за- данную пользователем максималь- ную длину строки и все изменяе- мые параметры редактора на мо- мент записи. Процедура форматирования по фактической длине строк выделен- ного блока и параметрам формати- рования должна определять ожи- даемое уменьшение или увеличе- ние количества строк. При умень- шении количества строк особых проблем не возникнет. В про- цессе форматирования возникнет группа пустых строк нулевой дли- ны, которые нужно будет удалить, переместив оставшийся текст к концу отформатированного блока. При увеличении количества строк нужно будет предварительно соз- дать группу пустых строк перед началом форматируемого блока, переместив участок текста от на- чала выделенного блока до конца загруженной части в конец буфера радактирования.
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября