Форум: "Начинающим";
Текущий архив: 2007.09.16;
Скачать: [xml.tar.bz2];
ВнизОтмена начатой печати(страницы) Найти похожие ветки
← →
лесник © (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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.051 c