AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Umstieg von QuickReport auf FastReport

Ein Thema von harfes · begonnen am 23. Sep 2021 · letzter Beitrag vom 24. Sep 2021
Antwort Antwort
harfes

Registriert seit: 25. Jun 2006
Ort: Rand der Scheibe
199 Beiträge
 
Delphi 12 Athens
 
#1

Umstieg von QuickReport auf FastReport

  Alt 23. Sep 2021, 10:54
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
Hartmut
  Mit Zitat antworten Zitat
ernschd

Registriert seit: 16. Jan 2008
166 Beiträge
 
Delphi XE8 Professional
 
#2

AW: Umstieg von QuickReport auf FastReport

  Alt 23. Sep 2021, 11:19
Hallo Hartmut,

benutze das Event "OnGetValue" zum setzen der Werte:
Delphi-Quellcode:
procedure TForm1.frxReport1GetValue(const VarName: string; var Value: Variant);
begin
  if VarName = 'QRLabel6then Value := QuotedStr('TEST');
end;
So sollte es funktionieren.
  Mit Zitat antworten Zitat
mytbo

Registriert seit: 8. Jan 2007
472 Beiträge
 
#3

AW: Umstieg von QuickReport auf FastReport

  Alt 23. Sep 2021, 12:35
Was mach ich falsch?
Delphi-Quellcode:
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');
Bis bald...
Thomas
  Mit Zitat antworten Zitat
harfes

Registriert seit: 25. Jun 2006
Ort: Rand der Scheibe
199 Beiträge
 
Delphi 12 Athens
 
#4

AW: Umstieg von QuickReport auf FastReport

  Alt 23. Sep 2021, 13:13
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
Hartmut
  Mit Zitat antworten Zitat
harfes

Registriert seit: 25. Jun 2006
Ort: Rand der Scheibe
199 Beiträge
 
Delphi 12 Athens
 
#5

AW: Umstieg von QuickReport auf FastReport

  Alt 23. Sep 2021, 14:24
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
Hartmut
  Mit Zitat antworten Zitat
harfes

Registriert seit: 25. Jun 2006
Ort: Rand der Scheibe
199 Beiträge
 
Delphi 12 Athens
 
#6

AW: Umstieg von QuickReport auf FastReport

  Alt 23. Sep 2021, 14:37
OK, auch gelöst:

VText.RichEdit.Lines.LoadFromFile(...);

So langsam gewöhne ich mich wohl an den Report-Generator...

Hartmut
Hartmut
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.381 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Umstieg von QuickReport auf FastReport

  Alt 23. Sep 2021, 20:07
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';
QRLabel16 ist also keine Variable, sondern ein Memo.

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...
  Mit Zitat antworten Zitat
harfes

Registriert seit: 25. Jun 2006
Ort: Rand der Scheibe
199 Beiträge
 
Delphi 12 Athens
 
#8

AW: Umstieg von QuickReport auf FastReport

  Alt 24. Sep 2021, 07:39
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
Hartmut
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#9

AW: Umstieg von QuickReport auf FastReport

  Alt 24. Sep 2021, 08:53
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.
$2B or not $2B
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:29 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