ZX Review
#5-6
04 ноября 1997 |
|
Этюды - Новые темы для разработок.
(c) Давыдов В.М., Нижегородская обл., с.Запрудное Предлагаю новые темы для раз- работок в раздел "Этюды". Процедура получения на прин- тере графической копии окна произвольных размеров из экран- ной области, которая может быть полезной во многих прикладных программах. Для ее написания не обязательно иметь принтер. Мож- но считать, что подпрограмма пе- редачи принтеру кода, находяше- гося в аккумуляторе, уже есть и в нужном месте ставит CALL. В обшем виде процедура выг- лядит следующим образом. 1. Установка нулевого рас- стояния между печатаемыми стро- ками принтера. Принтеру "EPSON" для этого требуется передать последовательность 27,65,8 (де- сятичные). 2. Установка графического режима принтера. Для "EPSON" по- следовательность 27,42,5,n1,n2, где n1 и n2 определяют количе- ство печатаемых вертикальных ко- лонок = n1+n2*256. 3. Расчет адреса начала строки знакомест в экранной об- ласти. 4. Цикл передачи принтеру образа строки (256 байт). 4.1. Расчет значения акку- мулятора. При графической печа- ти верхней игле принтера соот- ветствует бит 7, второй сверху - бит 6,..., нижней - бит 0. 4.2. Передача содержимого аккумулятора на принтер. 4.3. Переход к следующей ко- лонке. 5. Передача принтеру кодов возврата каретки и перевода строки (13,10). 6. Если напечатаны не все строки, переход к п.2. 7. Восстановление интервала между строками. Для "EPSON" ко- ды 27,64 (перевод в состояние, которое было после включения пи- тания). Практически единственным ин- тересным моментом, с точки зре- ния программирования, является преобразование восьми байт зна- коместа, совпадающих с форматом знакогенератора, в последова- тельность из восьми байт в фор- мате принтера. Еще одной полезной процеду- рой для принтера может быть ка- чественная печать в графическом режиме с использованием подгру- жаемых наборов символов. Желательно, чтобы она под- держивала последовательности уп- равляющих кодов: 27,87,49 - включение двойной ширины символов; 27,87,48 - выключение двой- ной ширины символов; 27,69 - включение двойной толщины символов; 27,70 - выключение двойной толщины символов. Будет неплохо, если кто-то встроит такую проце- дуру в текстовый редактор. Практически нет ни одной серьезной программы, в которой не используются разного рода ме- ню. Еще одно направление для этюдов. Вариантов может быть много. Поскольку особое быстро- действие не требуется, критерий один - минимум памяти. ──────────────
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября