Recent

Author Topic: Changing Memo and Variables in runtime  (Read 3453 times)

hamacker

  • Jr. Member
  • **
  • Posts: 59
Changing Memo and Variables in runtime
« on: June 21, 2023, 07:51:09 pm »
Hi ALL,
I´am newbie with fp-report, and I need to create my first report using them.
I choose fp-report because is not dependend from GUI and very similar with FastReport(Delphi).
So, how Can I change visual components  with fp-report?
Using FastReport, I do:
Code: Pascal  [Select][+][-]
  1.   // components
  2.   if frx_Report.FindObject('LBL_VL_TOTAL')<>nil then
  3.   begin
  4.     TfrxMemoView(frx_Report.FindObject('LBL_VL_TOTAL')).Memo.Text:='Valor em REAIS';
  5.   end  
  6.   if frx_Report.FindObject('header_logo')<>nil then
  7.   begin
  8.     TfrxPictureView(frx_Report.FindObject('header_logo')).Hyperlink.Kind:=hkURL;
  9.     TfrxPictureView(frx_Report.FindObject('header_logo')).Hyperlink.Value:=link2site_nosso.text;
  10.     TfrxPictureView(frx_Report.FindObject('header_logo')).Picture.LoadFromFile(edtImg_Header.Text);
  11.   end;  
  12.  

How I do the same with fp-report?

madref

  • Hero Member
  • *****
  • Posts: 1082
  • ..... A day not Laughed is a day wasted !!
    • Nursing With Humour
Re: Changing Memo and Variables in runtime
« Reply #1 on: September 19, 2023, 10:07:52 am »
I use this:
I created a OnEnterRect procedure.

Code: Pascal  [Select][+][-]
  1. procedure TForm_Lint.frReport_EvaluatieEnterRect(Memo: TStringList; View: TfrView);
  2. var i: integer;
  3. begin
  4.   case Form_Wedstrijd_Overzicht.Wedstrijd_Rapport of
  5.     'rpt_Betalingen_Club.lrf', 'rpt_Evaluatie_Overzicht_Alle.lrf',
  6.     'rpt_Evaluatie_Overzicht_Seizoen.lrf', 'rpt_Referee_Info.lrf',
  7.     'rpt_Referee_Skills.lrf', 'rpt_Wedstrijden_Alle.lrf', 'rpt_Wedstrijden_Club.lrf',
  8.     'rpt_Wedstrijden_Overige.lrf', 'rpt_Wedstrijden_Seizoen.lrf',
  9.     'rpt_Wedstrijden_Toernooi.lrf' :
  10.          begin
  11.            if View.Name = 'Memo_Titel' then begin
  12.              case KleurPop of
  13.                Oranje : View.FillColor := Oranje;  // Oranje
  14.                Rood   : View.FillColor := Rood;    // Rood
  15.                Blauw  : View.FillColor := Blauw;   // Blauw
  16.                Groen  : View.FillColor := Groen;   // Groen
  17.                Paars  : View.FillColor := Paars;   // Paars
  18.                Geel   : View.FillColor := Geel;    // Geel
  19.              end;  // case
  20.            end;  // if
  21.          end;
  22.     'rpt_Declaratie.lrf', 'rpt_Declaratie_Leeg.lrf' :
  23.          begin
  24.            // bij deze rapporten staat een logo
  25.            if (View.Name = 'Picture1') or (View.Name = 'Picture2') then begin
  26.              if (View as TfrPictureView).Visible then
  27.               (View as TfrPictureView).Picture.LoadFromFile(Rapport_Logo)
  28.              else
  29.               (View as TfrPictureView).Picture.Clear;
  30.            end;  // if
  31.          end;
  32.     'rpt_CoachingSheet_2023.lrf' :
  33.          begin
  34.            // bij dit rapport staat een logo
  35.            if (View.Name = 'Picture1') then begin
  36.              if (View as TfrPictureView).Visible then
  37.               (View as TfrPictureView).Picture.LoadFromFile(Rapport_Logo)
  38.              else
  39.               (View as TfrPictureView).Picture.Clear;
  40.            end;  // if
  41.          end;
  42.     'rpt_Straffen_2018_NIJB.lrf' :
  43.          begin
  44.            case Shirt_Style of
  45.              1 : i := 1;
  46.              2 : i := 20;
  47.              3 : i := 32;
  48.            end; // case
  49.            if (View.Name = 'Picture2') or (View.Name = 'Picture4') then begin
  50.              if (View as TfrPictureView).Visible then
  51.                  Form_Lint.ImageList_Shirts.GetBitmap(i,(View as TfrPictureView).Picture.Bitmap)
  52.              else
  53.               (View as TfrPictureView).Picture.Clear;
  54.            end;  // if
  55.          end;
  56.     'rpt_Straffen_2018_BeNe.lrf' :
  57.          begin
  58.            case Shirt_Style of
  59.              1 : i := 2;
  60.              2 : i := 21;
  61.              3 : i := 33;
  62.            end; // case
  63.            if (View.Name = 'Picture1') or (View.Name = 'Picture3') then begin
  64.              if (View as TfrPictureView).Visible then
  65.               (View as TfrPictureView).Picture.LoadFromFile(Rapport_Logo)
  66.              else
  67.               (View as TfrPictureView).Picture.Clear;
  68.            end;  // if
  69.            if (View.Name = 'Picture2') or (View.Name = 'Picture4') then begin
  70.              if (View as TfrPictureView).Visible then
  71.                  Form_Lint.ImageList_Shirts.GetBitmap(i,(View as TfrPictureView).Picture.Bitmap)
  72.              else
  73.               (View as TfrPictureView).Picture.Clear;
  74.            end;  // if
  75.          end;
  76.     'rpt_Evaluatie_2018_NIJB_Referee.lrf', 'rpt_Evaluatie_2019_NIJB_Referee.lrf',
  77.     'rpt_Evaluatie_2022_NIJB_Referee.lrf':
  78.          begin
  79.            case Shirt_Style of
  80.              1 : i := 1;
  81.              2 : i := 20;
  82.              3 : i := 32;
  83.            end; // case
  84.            if (View.Name = 'Picture1') then begin
  85.              if (View as TfrPictureView).Visible then
  86.                  Form_Lint.ImageList_Shirts.GetBitmap(i,(View as TfrPictureView).Picture.Bitmap)
  87.              else
  88.               (View as TfrPictureView).Picture.Clear;
  89.            end;  // if
  90.          end;
  91.     'rpt_Evaluatie_2018_NIJB_Linesman.lrf', 'rpt_Evaluatie_2019_NIJB_Linesman.lrf',
  92.     'rpt_Evaluatie_2022_NIJB_Linesman.lrf':
  93.          begin
  94.            case Shirt_Style of
  95.              1 : i := 14;
  96.              2 : i := 26;
  97.              3 : i := 38;
  98.            end; // case
  99.            if (View.Name = 'Picture1') then begin
  100.              if (View as TfrPictureView).Visible then
  101.                  Form_Lint.ImageList_Shirts.GetBitmap(i,(View as TfrPictureView).Picture.Bitmap)
  102.              else
  103.               (View as TfrPictureView).Picture.Clear;
  104.            end;  // if
  105.          end;
  106.     'rpt_Evaluatie_2018_BeNe_Referee.lrf', 'rpt_Evaluatie_2019_BeNe_Referee.lrf',
  107.     'rpt_Evaluatie_2022_BeNe_Referee.lrf':
  108.          begin
  109.            case Shirt_Style of
  110.              1 : i := 2;
  111.              2 : i := 21;
  112.              3 : i := 33;
  113.            end; // case
  114.            if (View.Name = 'Picture1') then begin
  115.              if (View as TfrPictureView).Visible then
  116.                  Form_Lint.ImageList_Shirts.GetBitmap(i,(View as TfrPictureView).Picture.Bitmap)
  117.              else
  118.               (View as TfrPictureView).Picture.Clear;
  119.            end;  // if
  120.          end;
  121.     'rpt_Evaluatie_2018_BeNe_Linesman.lrf', 'rpt_Evaluatie_2019_BeNe_Linesman.lrf',
  122.     'rpt_Evaluatie_2022_BeNe_Linesman.lrf' :
  123.          begin
  124.            case Shirt_Style of
  125.              1 : i := 15;
  126.              2 : i := 27;
  127.              3 : i := 39;
  128.            end; // case
  129.            if (View.Name = 'Picture1') then begin
  130.              if (View as TfrPictureView).Visible then
  131.                  Form_Lint.ImageList_Shirts.GetBitmap(i,(View as TfrPictureView).Picture.Bitmap)
  132.              else
  133.               (View as TfrPictureView).Picture.Clear;
  134.            end;  // if
  135.          end;
  136.   end; // case
  137. end;     // frReport_EvaluatieEnterRect
  138.  
You treat a disease, you win, you lose.
You treat a person and I guarantee you, you win, no matter the outcome.

Main Platform:
--------------
Mac OS X Sonoma 14.7
Lazarus 3.99 (Lazarus 3.99 (rev main_3_99-2668-g6b352d830e) FPC 3.3.1 x86_64-darwin-cocoa)

Windows 10 Pro
Lazarus 3.99 (rev cbfd80ce39)

hamacker

  • Jr. Member
  • **
  • Posts: 59
Re: Changing Memo and Variables in runtime
« Reply #2 on: October 31, 2023, 02:56:06 pm »
Thank you, I´am still learning.
I have experience with others reports editor, but none with fp-report.

 

TinyPortal © 2005-2018