Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2009, 16:26   #1
Napste®
Пользователь
 
Регистрация: 23.04.2009
Сообщений: 27
По умолчанию Печать с помощью TPrint

Решил сделать распечатку через TPrint, но толком не разобрался, подскажите чего не хватает в коде. Он отправляет лист на печать, но не печатает.
Код:
t:=ADOTable1.FieldByName('Question').AsString+#13+#13+ADOTable1.FieldByName('Answer').AsString;
Printer.BeginDoc;
Printer.Canvas.Font:=DBMemo1.Font;
Printer.Canvas.TextOut(0,0,t);
Printer.EndDoc;
Napste® вне форума Ответить с цитированием
Старый 05.06.2009, 16:35   #2
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Цитата:
#13+#13
Замени на 10, разумеется это не решение проблемы, а мелкая ошибка. (10 - конец строки, 13 - переход каретки на след строку)
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 05.06.2009, 18:20   #3
Ntlegend
Форумчанин
 
Аватар для Ntlegend
 
Регистрация: 12.05.2007
Сообщений: 373
По умолчанию

тут может быть 2 но
1) DBMemo1.Font задает одниковій цвет фона и букв.. тоесть хоть текст и есть - всеравно его не видно..
2) t:=ADOTable1.FieldByName('Question' ).AsString+#13+#13+ADOTable1.FieldB yName('Answer').AsString переменная t после этого пустая.. и на печать выводится пустая строка.. тоесть снова кажется что ничего не печатается..
Перемен! - требуют наши сердца. Перемен! - требуют наши глаза.
В нашем смехе и в наших слезах, И в пульсации вен:
"Перемен!Мы ждем перемен!"
Ntlegend вне форума Ответить с цитированием
Старый 05.06.2009, 22:09   #4
Napste®
Пользователь
 
Регистрация: 23.04.2009
Сообщений: 27
По умолчанию

t не пустая, и даже если убрать Printer.Canvas.Font:=DBMemo1.Font; все равно отправляет на печать но не печатает
Napste® вне форума Ответить с цитированием
Старый 06.06.2009, 12:28   #5
Ntlegend
Форумчанин
 
Аватар для Ntlegend
 
Регистрация: 12.05.2007
Сообщений: 373
По умолчанию

если документ отправился на печать - то он уже не во власти рпограммы, а во власте диспетчера очереди печати и, вчастности, драйвера принтера.. может с принтером что то не то.. или не на тот принтер отправляешь..

я твой код проверял.. у меня было все нормально.. писал так

Код:
t:='абракадабра';
Printer.BeginDoc;
Printer.Canvas.Font.Size:=50;
Printer.Canvas.TextOut(0,0,t);
Printer.EndDoc;
Перемен! - требуют наши сердца. Перемен! - требуют наши глаза.
В нашем смехе и в наших слезах, И в пульсации вен:
"Перемен!Мы ждем перемен!"
Ntlegend вне форума Ответить с цитированием
Старый 06.06.2009, 14:26   #6
Napste®
Пользователь
 
Регистрация: 23.04.2009
Сообщений: 27
По умолчанию

получаеться так, что принтер ставит его в очередь(уровень=1), ожидание и не печатает и отменяет печать, и не знаю что даже делать.
Napste® вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
печать jpeg с помощью Rave Konfiti БД в Delphi 0 27.04.2009 19:36
Печать <<>>KaRaPuz<<>> Общие вопросы Delphi 3 31.05.2008 20:59
Печать lacost Общие вопросы C/C++ 2 09.12.2007 22:55
печать Илюха Общие вопросы Delphi 2 23.10.2007 21:15
Печать строк VladimirAleks БД в Delphi 2 12.09.2007 16:42