![]() |
Datenbank: ADS • Version: 9.10 • Zugriff über: Advantage Komponenten
FreeReport
Hallo allerseits,
ich habe zwei Fragen zu FreeReport, die kostenlose Variante und ältere Version von FastReport. Wie kann ich eine Variable an den Report übergeben, wie z.B. ein Anfangs- und Enddatum, auf das sich die ausgewerteten Daten beziehen? Wie kann ich Werte, die in der Auswertung gleich '0' sind als Leerzeichen angezeigen? Gruß Peter |
Re: FreeReport
Zitat:
Delphi-Quellcode:
Im Event AfterOpen schreibst du dann:
procedure TForm1.NumfieldOnGetText(Sender: TField; var Text: String; DisplayText: Boolean);
begin if Sender.IsNull or (Sender.AsInteger=0) then Text := '' // zum Testen: Text := '---' else Text := Sender.AsString; end;
Delphi-Quellcode:
dataset.FieldByName('IrgendneNummer').OnGetText := self.NumfieldOnGetText;
|
Re: FreeReport
Hi Peter,
es geht noch etwas einfacher
Delphi-Quellcode:
Uwe
frVariables['VonDatum'] := DateToStr(Date);
frVariables.Clear;//löscht alle Variablen wieder |
Re: FreeReport
@uwewo
Vielen Dank, dass klappt wunderbar. @shmia Das klappt eigentlich auch, zumindest solange ich mir die Daten in einem DBGrid anzeigen lasse. FreeReport gibt eine Exception EVariantTypeCastError aus: 'Variante des Typs [String] konnte nicht in Typ [Double] konvertiert werden.' Das kann ich aber lösen, indem ich alle leeren Werte gleich dem Text '0' setze. Alle mal besser, als wenn die Werte teilweise 0 und teilweise leer sind. |
Re: FreeReport
Zitat:
Delphi-Quellcode:
procedure TForm1.NumfieldOnGetText(Sender: TField; var Text: String; DisplayText: Boolean);
begin if StrToIntDef(Sender.AsString, 0) = 0 then Text := '' // zum Testen: Text := '---' else Text := Sender.AsString; end; |
Re: FreeReport
Das führt leider auch nicht zum Erfolg. Ich erhalte die selbe Fehlermeldung.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:35 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz