Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.09.16;
Скачать: CL | DM;

Вниз

Отмена начатой печати(страницы)   Найти похожие ветки 

 
лесник ©   (2007-08-20 14:56) [0]

Доброго времени суток!

У меня при печати при фильтрации данных возникают пустые страницы. Подскажите как можно отменить при печати последюю созданную страницу? Методов в классе TPrinter что-то не нашел :(
....
Printer.BeginDoc;
while true do
begin
 if HasData
 begin
   Printer.NewPage;
   PrintData;//печать данных, с фильтрацией
   if PageIsEmpty then
    //как-то отменить посленюю соданную страницу
 end
else
 break;
end;
Printer.EndDoc;
....


 
Anatoly Podgoretsky ©   (2007-08-20 15:08) [1]

Что такое PrintData и что такое PageIsEmpty


 
лесник ©   (2007-08-20 15:11) [2]

это мояпроцедура для печати на принтере PrintData
PageIsEmpty - переменная которая если=true то ничего не напечаталось в PrintData
---это не так важно - вопрос как отменить посл. созданную страницу. может с Canvas что сделать?


 
Anatoly Podgoretsky ©   (2007-08-20 15:14) [3]

Вот в PrintData дата и надо определять пустая страница или нет.


 
лесник ©   (2007-08-20 15:18) [4]

это все понятно что сначала обработать данные потом уже создавать или нет страницу:) это просто пример.
мне хотелось бы узнать  - можно и как? отменить созданную страницу на принтере


 
clickmaker ©   (2007-08-20 16:49) [5]


> отменить созданную страницу на принтере

если она уже ушла в набор, то... страница - не воробей
если еще в очереди спулера, то Printer.Abort


 
Юрий Иванов   (2007-08-21 09:55) [6]

Надо изменить процедуру PrintData и убрать Printer.NewPage в нее. Сделать булевскую переменную PageIsEmpty. Как только в PrintData выяснилось, что строку надо печатать, то если PageIsEmpty = true, то присвоить ей false и выполнить Printer.NewPage. А завершение можно оставить как есть - если PageIsEmpty = false, то выполнить Printer.EndDoc;



Страницы: 1 вся ветка

Текущий архив: 2007.09.16;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.045 c
2-1188148472
vogel max
2007-08-26 21:14
2007.09.16
формы из dll как ловить события?


2-1187766712
bss
2007-08-22 11:11
2007.09.16
TDataSet, содержащий данные не из БД, а из массива


9-1159914093
Kavis
2006-10-04 02:21
2007.09.16
написал редактор анимации оцените


1-1183575985
romychk
2007-07-04 23:06
2007.09.16
Кодировка в NMHTTP1


3-1179323715
AlexeiBerkov
2007-05-16 17:55
2007.09.16
Соединение с сервером ( TADOConnection )