Italian community of Lazarus and Free Pascal

Programmazione => Componenti Aggiuntivi => Topic aperto da: Maverich - Aprile 14, 2012, 06:04:23 pm

Titolo: [SOLVED] LazReport - modifica oggetto a RunTime
Inserito da: Maverich - Aprile 14, 2012, 06:04:23 pm
ho inserito su una Band un oggetto di nome Memo4 (nome visualizzato in analizzatore oggetti), che contiene una stringa (es: Prova testo);
a runtime vorrei poter modificare tale variabile, ma come vi accedo ?

ho trovato questa indicazione

"You can use variable in your memo like [MYVAR] then change it in OnGetValue
or find memo object by name
aMemo := frReport.FindObject('MyMemo');
aMemo.Memo.Text := 'mycaption';"

- ho assegnato aMemo : LongInt;
- cerco la variabile Memo4 - aMemo := frReport.FindObject('Memo4');
la aMemo vale -1 (direi che non la trova)
- non posso assegnare :  aMemo.Memo.Text := 'stringa'  -> aMemo non ha metodi, compilando indica invalid qualifier

come si gestiscono le variabili a runtime ?



Titolo: Re:LazReport - modifica oggetto a RunTime
Inserito da: Maverich - Aprile 15, 2012, 11:03:05 am
ho trovato come modificare un oggetto Memo

var aText: TfrObject;

begin
   frReport1.LoadFromFile('E:\Lazarus\Test3\Report1.lrf');
   aText := frReport1.FindObject('Memo4');
   aText.Memo.Text := 'nuovo Titolo su Memo4';
end;

se invece ho un Oggetto Memo composto da piu' righe
es:  Memo6
Titolo
del Report

posso accedere all'elemento n dell'oggetto

   aText := frReport1.FindObject('Memo6');
   aText.Memo.Strings[1] := 'modificato';
   
in stampa ottengo
Titolo
modificato

ci sono arrivato leggendo il manuale FastReport (quello FreeReport risulta illeggibile), provando, ci sono comunque differenze.