ich habe folgendes Problem mit LazReport:
Ich möchte während der Laufzeit ein Report erstellen und ihm auch Objekte bzw. Komponenten hinzufügen.
Als Ansatz hatte ich folgendes versucht:
Code: Alles auswählen
//--------------------------------------------------//
// Erstellen des Formulars //
//--------------------------------------------------//
procedure TForm1.CreateFormular;
var i : integer;
MyMemofeld : TfrMemoView;
begin
frReport1.Filename:='Test.lrf';
if not fileexists(frReport1.FileName) then //wenn es die Datei noch nicht gibt, dann ...
begin
frReport1.LoadFromFile(frReport1.FileName);
if frReport1.Variables.IndexOf('MyVariables')<0
then frReport1.Variables.Add('MyVariables'); //Variablenliste hinzufügen (klappt)
if frReport1.Variables.IndexOf(' Variable1')< 0
then frReport1.Variables.Add(' Variable1');
if frReport1.Variables.IndexOf(' Variable2')< 0
then frReport1.Variables.Add(' Variable2');
MyMemofeld := TfrMemoView.Create; // Mein Textfelder erzeugen
MyMemofeld.Name:='Feld1';
MyMemofeld.SetBounds(50, 250, 300, 50); // Name, Größe, ... festlegen
MyMemofeld.Font.Size := 18;
MyMemofeld.Memo.Add('Dies ist eine Testzeile'); // Inhalt hinzufügen
MyMemofeld.Memo.Add('[Variable1]');
MyMemofeld.Memo.Add('[Variable2]');
frReport1.Pages.Clear; // Seite1 hinzufügen
frReport1.Pages.Add();
frReport1.Pages[0].Objects.Add(MyMemofeld); // mein Textfeld hinzufügen
showmessage(inttostr(frReport1.Pages[0].Objects.Count));
// mal sehen ob die Komponente auch da ist (sagt = 1)
frReport1.SaveToFile(frReport1.FileName); // und das Ding speichern
end;
end;
Code: Alles auswählen
procedure TForm1.ChangeFormular;
var i : integer;
begin
frReport1.Filename:='Test.lrf';
frReport1.LoadFromFile(frReport1.FileName);
frReport1.DesignReport;
end;
Willi4Willi