Umstieg von QuickReport auf FastReport
Ich habe mit Delphi 11 die FastReport Komponenten installiert und möchte diese nun für neue Projekte nutzen, da QuickReport quasi nicht mehr existiert (die Homepage gibt es zwar noch, aber auf Anfragen wird nicht mehr reagiert - da gibt es ja schon einige Hnweise hier im Forum). Zum Testen habe ich einen Report von QR nach FR mit deren Konverter-Tool erfolgreich konvertiert und kann diesen auch (wenn ich eine frxReport Komponente auf dem Form ablege) problemlos aufrufen. Die Bänder und Elemente sind alle Vorhanden, aber wenn ich die Variablen füllen möchte, dann werden diese nicht angezeigt:
frxReport1.LoadFromFile('Vertrag1.fr3'); frxReport1.Variables['QRLabel6']:=QuotedStr('TEST'); frxReport1.ShowReport; QRLabel6 ist der Name der Varaibalen aus dem alen QR. Es kommt keine Fehlermeldung...aber es wird auch nix angzeigt (fixe Elemente wie z.B. Logo oder direkt hinterlegter Text werden aber angezeigt). Was mach ich falsch? Hartmut |
AW: Umstieg von QuickReport auf FastReport
Hallo Hartmut,
benutze das Event "OnGetValue" zum setzen der Werte:
Delphi-Quellcode:
So sollte es funktionieren.
procedure TForm1.frxReport1GetValue(const VarName: string; var Value: Variant);
begin if VarName = 'QRLabel6' then Value := QuotedStr('TEST'); end; |
AW: Umstieg von QuickReport auf FastReport
Zitat:
Delphi-Quellcode:
Bis bald...
function PrepareVariableValue(const pmcValue: Variant): Variant;
begin case VarType(pmcValue) of varOleStr, varString, varUString: Result := QuotedStr(VarToStr(pmcValue)); else Result := pmcValue; end; end; procedure ...AddVariable(const pmcCategory, pmcVariableName: String; const pmcValue: Variant); begin Report.Variables.AddVariable(pmcCategory, pmcVariableName, PrepareVariableValue(pmcValue)); end; AddVariable('Kategorie01', 'Test03', 'Thomas'); Thomas |
AW: Umstieg von QuickReport auf FastReport
Danke für eure Ideen...aber mein 'Test' wird leider nicht angezeigt. Es bleibt der Text 'QRLabel6' stehen und wird nicht gegen 'Test' ausgetauscht. Muss ich den Text vorher löschen? Ich finde es eh schon recht komisch, dass die Variablen nicht direkt angesprochen werden können...
Hartmut |
AW: Umstieg von QuickReport auf FastReport
So, jetzt bin ich zumindest mit den einfachen Variablen erfolgreich weiter:
var Text6 : TfrxMemoView; frxReport1.LoadFromFile('Vertrag1.fr3'); frxReport1.Variables.Clear; Text6:=frxReport1.FindObject('QRLabel6') as TfrxMemoView; Text6.Text:='Test'; frxReport1.ShowReport; ABER: jetzt muss ich noch eine QRRichText1-Vatiable mit einem Text aus einer Datei füllen...dazu habe ich eine Variable angelegt: VText : TfrxRichView; und VText:=frxReport1.FindObject('QRRichText1') as TfrxRichView; ausgeführt. Ein frxRichObject liegt auf dem Form. Dann komme ich aber nicht weiter, da es anscheinend kein LoadFromFile gibt??? Was ist da zu tun? Hartmut |
AW: Umstieg von QuickReport auf FastReport
OK, auch gelöst:
VText.RichEdit.Lines.LoadFromFile(...); So langsam gewöhne ich mich wohl an den Report-Generator... Hartmut |
AW: Umstieg von QuickReport auf FastReport
Zitat:
Alternativ: FR im Desinger aufmachen und dort unter dem Menüpunkt Report - Variablen eine Variable "Test" erstellen. Dann in QRLable6 als Text [Test] eingeben oder aus der Variablenübersicht auswählen. Und dann wie die anderen schon geschrieben haben die Variable Test von "außen" sprich Delphicode füllen... |
AW: Umstieg von QuickReport auf FastReport
Naja, ein Memo ist ja auch eine Variable...
Da ich als Neueinsteiger in FastReport erstmal mit dem vom Konverter erzeugten Report klar kommen muss, taste ich mich da langsam heran. Und natürlich habe ich gesehen, dass es auch eine Text-Variable gibt, aber wollte erstmal den Umstieg schaffen. Übrigens finde ich den Konverter sehr gut, da der konvertierte Report schnell aufzeigt, wie das in FR umgesetzt werden kann. Das Bedienkonzept vom FR ist aber doch sehr unterschiedlich zum Quickreport. Des weiteren sehe ich bei den Möglichkeiten aber keinen grossen Unterschied zwischen den beiden Generatoren - ABER: FastReport wird weiterentwickelt und QuickReport offensichtlich nicht, daher ist ein Umstieg bei neuen Projekten für mich notwendig - und das ist gerade der Fall. Da ich meine Delphi-Versionen jeweils in einer eigenen VM habe, kann ich ältere Projekte auch weiterhin noch mit QuickReport fortführen, falls dort Änderungen anstehen. Erst wenn ich ein älteres Projekt wirklich mit einem neuren Delphi kompilieren muss, wird's - mindestens was den Report-Generator betrifft - aufwendig... Hartmut |
AW: Umstieg von QuickReport auf FastReport
Es kann auch sein, dass Variablen nicht überall richtig übersetzt wurden, also dort wo sie verwendet/abgefragt werden,
bzw. dass man nicht einfach so "ohne" Variablen über den Komponenten-Namen als Variable dessen Inhalt setzen kann. (ging vielleicht im QR, aber nicht im FR) Ein Memo selbst ist in diesem Sinne keine Variable, aber man kann eine <variable> in deren Inhalt verwenden, um dessen Inhalt mit dem Inhalt einer Variable füllen zu lassen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz