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 - выключение двойной толщины символов. Будет неплохо, если кто-то встроит такую проце- дуру в текстовый редактор. Практически нет ни одной серьезной программы, в которой не используются разного рода ме- ню. Еще одно направление для этюдов. Вариантов может быть много. Поскольку особое быстро- действие не требуется, критерий один - минимум памяти. ──────────────
Другие статьи номера:
Похожие статьи:
В этот день... 1 октября
Scream #04(scl),
Bred #02,
Screamergy #01,
Bred #01,
Open Letters #08,
Millenium #01,
Body #2F,
Deja Vu #0A,
X-Magazine #17,
ZX Chart #01,
Skimer #02,
X-Magazine #12,
Body #17,
Bugs #01,
Adventurer #10,
X-Magazine #07,
Wallpaper #05,
Proton #48,
ZX Pilot #29,
Cheat #03 demo,
Proton #48,
Deja Vu #06,
Deja Vu #02,
ZX-News #41,
Spectrum Progress #01,
Nicron #01,
Maximum #18,
ZX Digest #02,
Speccy #01,
Emulate #02,
Speccy #01,
200 #B,
Spectrofon #09,
ZX Revija #01