Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
 Как подавить вызов диалога принтера  [new]
Gallemar
Member

Откуда: г.Иркутск
Сообщений: 4381
Добрый день
Не могу подавить вызов диалога принтера при печати формы FR 4.
В коде:
frxReport1.PrepareReport;
frxReport1.PrintOptions.ShowDialog :=False;
frxReport1.PrintOptions.Printer:= 'PDFCreator';
frxReport1.Print;


а окно всё равно выходит

К сообщению приложен файл. Размер - 12Kb
30 ноя 17, 16:23    [20995965]     Ответить | Цитировать Сообщить модератору
 Re: Как подавить вызов диалога принтера  [new]
DarkMaster
Member

Откуда: Donetsk,Ukraine
Сообщений: 5630
Gallemar,

Так пробовал?

Report.LoadFromFile('filename');
Report.PrepareReport;
Report.PrintOptions.ShowDialog := False;             // после загрузки !!!
Report.Print;
30 ноя 17, 16:41    [20996052]     Ответить | Цитировать Сообщить модератору
 Re: Как подавить вызов диалога принтера  [new]
wadman
Member

Откуда: Санкт-Петербург
Сообщений: 23234
Gallemar
а окно всё равно выходит

Попробуй еще ему выставить опцию многотопочности. Не помню, как называется.
30 ноя 17, 16:49    [20996082]     Ответить | Цитировать Сообщить модератору
 Re: Как подавить вызов диалога принтера  [new]
Gallemar
Member

Откуда: г.Иркутск
Сообщений: 4381
DarkMaster
Gallemar,

Так пробовал?

Report.LoadFromFile('filename');
Report.PrepareReport;
Report.PrintOptions.ShowDialog := False;             // после загрузки !!!
Report.Print;

Завтра попробую
30 ноя 17, 17:14    [20996164]     Ответить | Цитировать Сообщить модератору
 Re: Как подавить вызов диалога принтера  [new]
Gallemar
Member

Откуда: г.Иркутск
Сообщений: 4381
Спасибо, помогло. А как сделать сброс предыдущих форм? У меня первый раз печатает нормально, потом печатает новую + предыдущие. Делаю clear - не помогает
1 дек 17, 04:23    [20997184]     Ответить | Цитировать Сообщить модератору
 Re: Как подавить вызов диалога принтера  [new]
чччД
Guest
Gallemar
Спасибо, помогло. А как сделать сброс предыдущих форм? У меня первый раз печатает нормально, потом печатает новую + предыдущие. Делаю clear - не помогает


https://www.fast-report.com/documentation/ProgMan-ru/index.html?27.htm

Ну прочти же ты этот несчастный мануал, не мучайся...
1 дек 17, 04:56    [20997193]     Ответить | Цитировать Сообщить модератору
 Re: Как подавить вызов диалога принтера  [new]
Gallemar
Member

Откуда: г.Иркутск
Сообщений: 4381
чччД
Gallemar
Спасибо, помогло. А как сделать сброс предыдущих форм? У меня первый раз печатает нормально, потом печатает новую + предыдущие. Делаю clear - не помогает


https://www.fast-report.com/documentation/ProgMan-ru/index.html?27.htm

Ну прочти же ты этот несчастный мануал, не мучайся...

так если у меня Prepare по умолчанию стоит, то и не должен предыдущий добавляться. Или я не прав?
Пробовал уже два варианта, всё равно при втором проходе печатает предыдущие
1 дек 17, 05:46    [20997201]     Ответить | Цитировать Сообщить модератору
 Re: Как подавить вызов диалога принтера  [new]
чччД
Guest
Gallemar,

ну какое еще "препаре". Я ведь ссылку для ответа на твой вопрос дал "первый раз печатает нормально, потом печатает новую + предыдущие".

Там "про это" аж дважды сказано. И текста там даже на десяток фраз не набирается, не заметить было невозможно.

Ты решил поприкалываться над теми, кто по ночам не спит - я угадал? Все, я пошел спать...
1 дек 17, 05:55    [20997202]     Ответить | Цитировать Сообщить модератору
 Re: Как подавить вызов диалога принтера  [new]
Gallemar
Member

Откуда: г.Иркутск
Сообщений: 4381
чччД

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

Какая ночь, обед уже скоро...
1 дек 17, 06:18    [20997204]     Ответить | Цитировать Сообщить модератору
 Re: Как подавить вызов диалога принтера  [new]
Gallemar
Member

Откуда: г.Иркутск
Сообщений: 4381
Мне надо каждый печатать отдельно, тут вопрос времени - чтобы документ импортировался и вышел на печать, потом следующий.
А у меня хоть как - или по одному выдают на печать:
+
memo1.Lines.add(datetimetostr(now) + ' печать');
frxreport1.LoadFromFile('d:\!priemka\act_priema.fr3');
frxreport1.AddFunction('function MoneyToStr(Val: Double; UseKop: Boolean): string', 'Дополнительно',
 'Переводит вещественное число в текстовое представление денежной величины (1.20 = один руб. 20 коп.)');
frxReport1.Variables.Clear;
frxReport1.Variables['v_session']:= session;
frxReport1.Variables['v_ownerclient']:= 8765;
frxReport1.PrepareReport(false);
frxReport1.PrintOptions.Printer:= 'PDFCreator';
frxReport1.PrintOptions.ShowDialog :=False;
frxReport1.Print;
stop_time := now;
///////////////////////////
///фиксируем запись в логе                   									
until FindNext(tsr) <> 0;


что по несколько:

+
memo1.Lines.add(datetimetostr(now) + ' печать');
frxreport1.LoadFromFile('d:\!priemka\act_priema.fr3');
frxreport1.AddFunction('function MoneyToStr(Val: Double; UseKop: Boolean): string', 'Дополнительно',
 'Переводит вещественное число в текстовое представление денежной величины (1.20 = один руб. 20 коп.)');
frxReport1.Variables.Clear;
frxReport1.Variables['v_session']:= session;
frxReport1.Variables['v_ownerclient']:= 8765;
frxReport1.PrepareReport(false);
frxReport1.PrintOptions.Printer:= 'PDFCreator';
frxReport1.PrintOptions.ShowDialog :=False;
stop_time := now;
///////////////////////////
///фиксируем запись в логе                   									
until FindNext(tsr) <> 0;
frxReport1.Print;


всегда первая форма будет в отчете, разница только в том, что вместо двух очередей печати будет одна.
1 дек 17, 06:36    [20997211]     Ответить | Цитировать Сообщить модератору
 Re: Как подавить вызов диалога принтера  [new]
чччД
Guest
Gallemar,

frxReport1.PrepareReport(false);

Убери false.
1 дек 17, 07:24    [20997222]     Ответить | Цитировать Сообщить модератору
 Re: Как подавить вызов диалога принтера  [new]
Exteris
Member

Откуда: Новосибирск
Сообщений: 910
frxReport1.PrepareReport(true);
Если я тебя правильно понял.
1 дек 17, 07:27    [20997224]     Ответить | Цитировать Сообщить модератору
 Re: Как подавить вызов диалога принтера  [new]
Gallemar
Member

Откуда: г.Иркутск
Сообщений: 4381
Теперь все кучей документы печатает нормально, а вот по одному не хочет, делает первый документ и первый и второй.
1 дек 17, 08:26    [20997254]     Ответить | Цитировать Сообщить модератору
 Re: Как подавить вызов диалога принтера  [new]
Gallemar
Member

Откуда: г.Иркутск
Сообщений: 4381
+
  if FindFirst(path + '*.xls',faAnyFile,tsr) = 0 then
repeat
    if (tsr.attr and faDirectory) = faDirectory  then Continue;
           /////////////////////////////////
          делаем разные разности пока в каталоге есть файлы
        ///////////////////////
      memo1.Lines.add(datetimetostr(now) + ' печать');
        frxreport1.LoadFromFile('d:\!priemka\act_priema.fr3');
         frxreport1.AddFunction('function MoneyToStr(Val: Double; UseKop: Boolean): string', 'Дополнительно',
 'Переводит вещественное число в текстовое представление денежной величины (1.20 = один руб. 20 коп.)');
 frxReport1.Variables.Clear;
          frxReport1.Variables['v_session']:= session;
          frxReport1.Variables['v_ownerclient']:= 8765;
          stop_time := now;
        ///////////////////////////
        ///фиксируем запись в логе
                    									
          until FindNext(tsr) <> 0;
		  
        frxReport1.PrepareReport(true);
        frxReport1.PrintOptions.Printer:= 'PDFCreator';
        frxReport1.PrintOptions.ShowDialog :=False;
          frxReport1.Print;
     end
     else
1 дек 17, 08:34    [20997260]     Ответить | Цитировать Сообщить модератору
 Re: Как подавить вызов диалога принтера  [new]
Gallemar
Member

Откуда: г.Иркутск
Сообщений: 4381
Или проще на каждый документ создавать свой frxreport и после печати его освобождать?
1 дек 17, 08:42    [20997267]     Ответить | Цитировать Сообщить модератору
Все форумы / Delphi Ответить