Форум: "Начинающим";
Текущий архив: 2006.02.05;
Скачать: [xml.tar.bz2];
ВнизПередача параметров принтеру Найти похожие ветки
← →
Только начавший (2006-01-15 21:20) [0]Проблемма в общих словах:
Вывожу на принтер Memo.Text
Каким образом можно передать принтеру Memo.Font.Size и Memo.TFont."Шрифт"?
Вывожу на принтер следующим образом:For i:= 0 to Memo.Lines.Count - 1 do
Writeln(Prn, Memo.Lines[i];
А проблема, собственно, в выравнивании столбцов
Спасибо
← →
Плохиш © (2006-01-16 01:27) [1]QuickReport
← →
Германн © (2006-01-16 02:32) [2]2 Только начавший (15.01.06 21:20)
Принтер не обязан знать все шрифты, которые есть у тебя в системе. В нём могут быть, а могут и не быть зашиты какие-то шрифты. Ими он и печатает, выполняя ДОСовскую функцию Writeln. Установки параметров этого шрифта можно выполнить зная ESC-команды данного принтера.
Если же хочется, чтобы напечатанное походило на видимое на экране (Wis"i"wig), то Плохиш © (16.01.06 01:27) [1] дал "неплохой" совет:). Но есть ещё масса вариантов.
← →
Только начавший (2006-01-16 09:07) [3]Хотелось бы иметь возможность задать принтеру моноширинный шрифт (независимо от названия) и его размер. И возможно ли программно узнать "список" шрифтов принтера (не шрифты описанные в системе)?
← →
evvcom © (2006-01-16 09:34) [4]
> Принтер не обязан знать все шрифты
Я тут халтурил на днях, пришлось с принтером разобраться. Не согласен с данным заявлением. Даже через якобы ДОСовский Writeln печать осуществляется в канву принтера и соответственно в графике.
2Афтар:
Прежде чем использовать Writeln, я так понимаю, было AssignPrn из Printers? Значит мои предположения верны. При инициализации модуля Printers происходит создание объекта TPrinter, которого можно получить через функцию Printer, ну и менять любые парметры в любое время. Например,Printer.Canvas.Font.Pitch := fpFixed;
перед любым Writeln и возвращать назадPrinter.Canvas.Font.Pitch := fpDefault;
если моноширинность больше не нужна.
← →
Только начавший (2006-01-16 12:42) [5]> evvcom © (16.01.06 09:34) [4]
Спасибо
← →
Leonid Troyanovsky © (2006-01-16 13:45) [6]
> evvcom © (16.01.06 09:34) [4]
> Не согласен с данным заявлением. Даже через якобы ДОСовский
> Writeln печать осуществляется в канву принтера и соответственно
> в графике.
Что значит "якобы ДОСовский" ?
Графическую природу вывода writeln на принтер никто и не скрывал.
Ну, а если нужно нечто иное, то Escape, ExtEscape etc., или вывод
(Winspool.WritePrinter) с generic/text only driver.
--
Regards, LVT.
← →
evvcom © (2006-01-16 14:16) [7]
> Leonid Troyanovsky © (16.01.06 13:45) [6]
Вообще-то была фраза по поводу "зашитости шрифтов". И то что Writeln перекочевала в Win-систему из ДОСа, совсем не значит, что она ДОСовской и осталась. Точнее, наверное, будет, что перекочевала из стандарта Паскаля, была она в ДОСе, осталась и в винде. Наверное, и в *никсах в Паскале есть, так как какие только паскали я не видел, везде она была.
P.S. Я называю нечто ДОСовским в том случае, если это нечто требует ДОСа, хотя бы его эмулятора.
← →
Германн © (2006-01-17 03:41) [8]Да был не совсем прав. :( Увы.
Как говорится, у кого чего болит, тот о том и говорит.
Как раз сейчас отлаживаю программу для MSDOS 6.22.
Графика там конечно есть, но только та, которую я отправил на принтер соответствующей ESC-командой.
Ещё раз "звиняйсь" автору сабжа. :(
← →
evvcom © (2006-01-17 08:46) [9]
> Как раз сейчас отлаживаю программу для MSDOS 6.22.
Ностальгия? :)
← →
Германн © (2006-01-17 15:55) [10]2 evvcom © (17.01.06 08:46) [9]
> Ностальгия? :)
Отнюдь. Жизненно важная потребность. За которую платят деньги.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.02.05;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.017 c