powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / В FastReport скрыть компонент memo!
8 сообщений из 8, страница 1 из 1
В FastReport скрыть компонент memo!
    #39582385
Askat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Delphi XE7 есть встроенный FastReport, но почему то убрали возможность писать код внутри FastReport, думаю ладно, возможно есть внешнее воздействие. И вот нашел возможность, но почему то не работает, комопнент memo не скрывается?))) Не подскажете в чем причина, объявил переменную MyMemo : TfrxMemoView; и пишу: MyMemo := frxReport1.FindComponent('Memo681') as TfrxMemoView;
MyMemo.Visible := False;?

Вот полный код:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
procedure TDocForm.PrintCheck;
var
  MyPage: TfrxPage;
  MyMemo : TfrxMemoView;
begin
  if not frxReport1.LoadFromFile(ExtractFilePath(Application.ExeName) + 'Reports\PrintChecks.fr3') then
  begin
    Application.MessageBox(PChar('Не найден файл отчета "' + ExtractFilePath(Application.ExeName) + 'Reports\PrintChecks.fr3' + '"!'), nil, MB_OK or MB_ICONERROR);
    Exit;
  end;
  try
    with frxReport1 do
    begin
      odsChecks.Close;
      odsChecks.SetVariable('NOMER', DocDS.FieldByName('doc_id').AsInteger);
      odsChecks.Open;
      Variables.Items[Variables.IndexOf('sum_string')].Value := '''' + SumToString(odsChecks.FieldByName('SUMMAF').AsFloat) + '''';
      Variables.Items[Variables.IndexOf('resident')].Value := FloatToStr(odsChecksRESIDENT.Value);
                      
      if odsChecksCOMMUNAL_SIGN.Value = 0 then
      begin
        MyMemo := frxReport1.FindComponent('Memo566') as TfrxMemoView;
        MyMemo := frxReport1.FindComponent('Memo567') as TfrxMemoView;
        MyMemo := frxReport1.FindComponent('Memo568') as TfrxMemoView;
        MyMemo := frxReport1.FindComponent('Memo569') as TfrxMemoView;
        MyMemo := frxReport1.FindComponent('Memo570') as TfrxMemoView;
        MyMemo := frxReport1.FindComponent('Memo571') as TfrxMemoView;
        MyMemo := frxReport1.FindComponent('Memo572') as TfrxMemoView;
        MyMemo := frxReport1.FindComponent('Memo573') as TfrxMemoView;
        MyMemo := frxReport1.FindComponent('Memo574') as TfrxMemoView;
        MyMemo := frxReport1.FindComponent('Memo575') as TfrxMemoView;
        MyMemo := frxReport1.FindComponent('Memo576') as TfrxMemoView;
        MyMemo := frxReport1.FindComponent('Memo577') as TfrxMemoView;
        MyMemo := frxReport1.FindComponent('Memo578') as TfrxMemoView;
        MyMemo := frxReport1.FindComponent('Memo579') as TfrxMemoView;
        MyMemo := frxReport1.FindComponent('Memo580') as TfrxMemoView;
        MyMemo := frxReport1.FindComponent('Memo581') as TfrxMemoView;
        MyMemo := frxReport1.FindComponent('Memo582') as TfrxMemoView;
        MyMemo := frxReport1.FindComponent('Memo679') as TfrxMemoView;
        MyMemo := frxReport1.FindComponent('Memo680') as TfrxMemoView;
        MyMemo := frxReport1.FindComponent('Memo681') as TfrxMemoView;
        MyMemo.Visible := True;
      end
      else
      begin     
        MyMemo := frxReport1.FindComponent('Memo566') as TfrxMemoView;
        MyMemo := frxReport1.FindComponent('Memo567') as TfrxMemoView;
        MyMemo := frxReport1.FindComponent('Memo568') as TfrxMemoView;
        MyMemo := frxReport1.FindComponent('Memo569') as TfrxMemoView;
        MyMemo := frxReport1.FindComponent('Memo570') as TfrxMemoView;
        MyMemo := frxReport1.FindComponent('Memo571') as TfrxMemoView;
        MyMemo := frxReport1.FindComponent('Memo572') as TfrxMemoView;
        MyMemo := frxReport1.FindComponent('Memo573') as TfrxMemoView;
        MyMemo := frxReport1.FindComponent('Memo574') as TfrxMemoView;
        MyMemo := frxReport1.FindComponent('Memo575') as TfrxMemoView;
        MyMemo := frxReport1.FindComponent('Memo576') as TfrxMemoView;
        MyMemo := frxReport1.FindComponent('Memo577') as TfrxMemoView;
        MyMemo := frxReport1.FindComponent('Memo578') as TfrxMemoView;
        MyMemo := frxReport1.FindComponent('Memo579') as TfrxMemoView;
        MyMemo := frxReport1.FindComponent('Memo580') as TfrxMemoView;
        MyMemo := frxReport1.FindComponent('Memo581') as TfrxMemoView;
        MyMemo := frxReport1.FindComponent('Memo582') as TfrxMemoView;
        MyMemo := frxReport1.FindComponent('Memo679') as TfrxMemoView;
        MyMemo := frxReport1.FindComponent('Memo680') as TfrxMemoView;
        MyMemo := frxReport1.FindComponent('Memo681') as TfrxMemoView;
        MyMemo.Visible := False;
      end;

   //
    end;
  finally

    if CHECK_ID = 1 then
    begin
      MyPage := frxReport1.FindComponent('Page11') as TfrxPage;
      MyPage.Visible := True;
      frxReport1.PrintOptions.ShowDialog := False;
      frxReport1.PrepareReport;
      frxReport1.Print;
    end
    else

      if CHECK_ID = 3 then
    begin
      MyPage := frxReport1.FindComponent('Page4') as TfrxPage;
      MyPage.Visible := True;
      frxReport1.PrintOptions.ShowDialog := False;
      frxReport1.PrepareReport;
      frxReport1.Print;
    end;

  end;
end;
...
Рейтинг: 0 / 0
В FastReport скрыть компонент memo!
    #39582388
Askat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кстати листы скрываются, а в от мемо нет!
Код: pascal
1.
2.
3.
4.
5.
6.
var
  MyPage: TfrxPage;
begin
      MyPage := frxReport1.FindComponent('Page11') as TfrxPage;
      MyPage.Visible := False;
end;
...
Рейтинг: 0 / 0
В FastReport скрыть компонент memo!
    #39582393
Amiri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Askat,

воткнть на каждое поле по Child и скрывать Child, а не Memo (у каждого Child нужно поставить PrintChildifInvisible в True) :

if <Таблица1."ЗначениеПоля2">=0 then
Child2.Visible:=false;

if <Таблица1."ЗначениеПоля4">=0 then
Child4.Visible:=false;
...
Рейтинг: 0 / 0
В FastReport скрыть компонент memo!
    #39582404
Bali
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Askatкстати листы скрываются, а в от мемо нет!
Так ты их и не скрываешь, поставь MyMemo.Visible := False; после каждого MyMemo := frxReport1.FindComponent('Memo***') as TfrxMemoView;
...
Рейтинг: 0 / 0
В FastReport скрыть компонент memo!
    #39582406
Askat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quote Amiri]Askat,

воткнть на каждое поле по Child и скрывать Child, а не Memo (у каждого Child нужно поставить PrintChildifInvisible в True) :

что за child, где это посмотреть?
...
Рейтинг: 0 / 0
В FastReport скрыть компонент memo!
    #39582433
Askat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BaliAskatкстати листы скрываются, а в от мемо нет!
Так ты их и не скрываешь, поставь MyMemo.Visible := False; после каждого MyMemo := frxReport1.FindComponent('Memo***') as TfrxMemoView;

Супер! Сработал. Спс!!!
...
Рейтинг: 0 / 0
В FastReport скрыть компонент memo!
    #39582593
white_nigger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BaliТак ты их и не скрываешь, поставь MyMemo.Visible := False; после каждого MyMemo := frxReport1.FindComponent('Memo***') as TfrxMemoView;Ну почему же? ТС честно скрывал последнее найденное, практически решил задачу "комопнент memo не скрывается" :))
...
Рейтинг: 0 / 0
В FastReport скрыть компонент memo!
    #39582828
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ужас !!!
Почему бы не написать так ?
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
procedure ShowMemos(Arr: array of string; V: boolean);
var i: integer;
     M: TfrxMemoView;
begin
  for i := 0 to High(Arr) do begin
     M := frxReport1.FindComponent(Arr[i]) as TfrxMemoView;
     if Assigned(M) then M.Visible := V;
  end;
end;


.........

ShowMemos(['Memo566','Memo567','Memo568',.....],odsChecksCOMMUNAL_SIGN.Value = 0);
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / В FastReport скрыть компонент memo!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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