Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Туплю. Как вынести код в процедуру? / 9 сообщений из 9, страница 1 из 1
10.01.2020, 01:41
    #39912251
astra32
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Туплю. Как вынести код в процедуру?
Код обычный и простейший, но праздники не пошли на пользу
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
begin
  VodComDataModuleForm.frxReportmk1.PrintOptions.ShowDialog := false;
  VodComDataModuleForm.frxReportmk1.PrepareReport();
  if ReportPeriodSetForm.CheckBoxKarta.Checked = True then
    VodComDataModuleForm.frxReportmk1.ShowReport
  else
    VodComDataModuleForm.frxReportmk1.Print; 
end;


Как его вынести в процедуру PrintReport(frx), дабы вызывать так PrintReport(frxReportmk1)
...
Рейтинг: 0 / 0
10.01.2020, 01:45
    #39912252
ma1tus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Туплю. Как вынести код в процедуру?
astra32,
PrintReport(AReport: TfrxReport; AShow: Boolean)
...
Рейтинг: 0 / 0
10.01.2020, 01:50
    #39912253
astra32
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Туплю. Как вынести код в процедуру?
ma1tus, а в общем виде как, в десятках отчетов VodComDataModuleForm.frxReportmk1.PrintOptions.ShowDialog := false; меняется только имя frxReportmk1
...
Рейтинг: 0 / 0
10.01.2020, 02:03
    #39912255
ёёёёё
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Туплю. Как вынести код в процедуру?
astra32,

ерунда какая-то. Зачем экземпляр объекта отчета в параметрах, ты параллельно несколько отчетов генерируешь?

Указывай в качестве параметра шаблон отчета - стрим, имя файла, айди записи и т.п.
...
Рейтинг: 0 / 0
10.01.2020, 02:35
    #39912256
ma1tus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Туплю. Как вынести код в процедуру?
astra32, если у нескольких - True, это уже не "в общем"; третий параметр с умолчанием False.

Для общего: добавить два параметра-массива с названиями и значениями параметров отчета - для установки в общей процедуре; спилить диалоги там, где не нужны, и принять, что в этой общей процедуре, в переданном компоненте осуществляется поиск диалоговой страницы - если нашлась и параметры отчета установлены не все, то показывать. Как вариант )
...
Рейтинг: 0 / 0
10.01.2020, 02:55
    #39912258
astra32
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Туплю. Как вынести код в процедуру?
ma1tus, там много форм, некоторые с двух сторон надо, иногда хотят предпросмотр или печатать только нужное, а процедурой красивее было бы, но не получается. Работает и так, но много букв. Еще упрощу вопрос, - как сделать код процедурой и вызывать процедуру PrintReport(XXX), где ХХХ название отчета
Код: plaintext
1.
2.
3.
4.
begin
              VodComDataModuleForm.XXX.PrintOptions.ShowDialog := false;
              VodComDataModuleForm.XXX.PrepareReport();
              VodComDataModuleForm.XXX.Print; 
            end;
...
Рейтинг: 0 / 0
10.01.2020, 06:52
    #39912267
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Туплю. Как вынести код в процедуру?
astra32,

убрать
astra32
Код: plaintext
VodComDataModuleForm.
...
Рейтинг: 0 / 0
10.01.2020, 08:57
    #39912285
DimaBr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Туплю. Как вынести код в процедуру?
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
procedure DoReport(R: TfrxReport);
begin
  R.PrintOptions.ShowDialog := false;
  R.PrepareReport();
  if ReportPeriodSetForm.CheckBoxKarta.Checked
    then R.ShowReport
    else R.Print; 
end;
...
Рейтинг: 0 / 0
10.01.2020, 17:59
    #39912561
astra32
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Туплю. Как вынести код в процедуру?
DimaBr, спасибо, то,что надо
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Туплю. Как вынести код в процедуру? / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]