Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Передача параметров принтеру


Только начавший ©   (2006-01-15 21:20:00) 

Проблемма в общих словах:
Вывожу на принтер Memo.Text
Каким образом можно передать принтеру Memo.Font.Size и Memo.TFont."Шрифт"?
Вывожу на принтер следующим образом:
For i:= 0 to Memo.Lines.Count - 1 do
  Writeln(Prn, Memo.Lines[i];

А проблема, собственно, в выравнивании столбцов
Спасибо


Германн   (2006-01-17 15:55:00) [1]

2 evvcom ©   (17.01.06 08:46) [9]


> Ностальгия? :)


Отнюдь. Жизненно важная потребность. За которую платят деньги.


evvcom   (2006-01-17 08:46:00) [2]


> Как раз сейчас отлаживаю программу для MSDOS 6.22.

Ностальгия? :)


Германн   (2006-01-17 03:41:00) [3]

Да был не совсем прав. :( Увы.
Как говорится, у кого чего болит, тот о том и говорит.

Как раз сейчас отлаживаю программу для MSDOS 6.22.
Графика там конечно есть, но только та, которую я отправил на принтер соответствующей ESC-командой.

Ещё раз "звиняйсь" автору сабжа. :(


evvcom   (2006-01-16 14:16:00) [4]


> Leonid Troyanovsky ©   (16.01.06 13:45) [6]

Вообще-то была фраза по поводу "зашитости шрифтов". И то что Writeln перекочевала в Win-систему из ДОСа, совсем не значит, что она ДОСовской и осталась. Точнее, наверное, будет, что перекочевала из стандарта Паскаля, была она в ДОСе, осталась и в винде. Наверное, и в *никсах в Паскале есть, так как какие только паскали я не видел, везде она была.
P.S. Я называю нечто ДОСовским в том случае, если это нечто требует ДОСа, хотя бы его эмулятора.


Leonid Troyanovsky   (2006-01-16 13:45:00) [5]


> evvcom ©   (16.01.06 09:34) [4]

>  Не согласен с данным заявлением. Даже через якобы ДОСовский
> Writeln печать осуществляется в канву принтера и соответственно
> в графике.


Что значит "якобы ДОСовский" ?
Графическую природу вывода writeln на принтер никто и не скрывал.
Ну, а если нужно нечто иное, то Escape, ExtEscape etc., или вывод
(Winspool.WritePrinter) с generic/text only driver.

--
Regards, LVT.


Только начавший   (2006-01-16 12:42:00) [6]

> evvcom ©   (16.01.06 09:34) [4]
Спасибо


evvcom   (2006-01-16 09:34:00) [7]


> Принтер не обязан знать все шрифты

Я тут халтурил на днях, пришлось с принтером разобраться. Не согласен с данным заявлением. Даже через якобы ДОСовский Writeln печать осуществляется в канву принтера и соответственно в графике.
2Афтар:
Прежде чем использовать Writeln, я так понимаю, было AssignPrn из Printers? Значит мои предположения верны. При инициализации модуля Printers происходит создание объекта TPrinter, которого можно получить через функцию Printer, ну и менять любые парметры в любое время. Например,
Printer.Canvas.Font.Pitch := fpFixed;
перед любым Writeln и возвращать назад
Printer.Canvas.Font.Pitch := fpDefault;
если моноширинность больше не нужна.


Только начавший   (2006-01-16 09:07:00) [8]

Хотелось бы иметь возможность задать принтеру моноширинный шрифт (независимо от названия) и его размер. И возможно ли программно узнать "список" шрифтов принтера (не шрифты описанные в системе)?


Германн   (2006-01-16 02:32:00) [9]

2 Только начавший   (15.01.06 21:20)

Принтер не обязан знатьвсе шрифты, которые есть у тебя в системе. В нём могут быть, а могут и не быть зашиты какие-то шрифты. Ими он и печатает, выполняя ДОСовскую функцию Writeln. Установки параметров этого шрифта можно выполнить зная ESC-команды данного принтера.
Если же хочется, чтобы напечатанное походило на видимое на экране (Wis'i'wig), то Плохиш ©   (16.01.06 01:27) [1] дал "неплохой" совет:). Но есть ещё масса вариантов.


Плохиш   (2006-01-16 01:27:00) [10]

QuickReport


Наверх

Титульная страница Поиск, карта сайта Написать письмо