![]() |
Formular drucken - nur Edit- und Labelwerte / Erstellen QReport?
Hallo zusammen,
bevor ich zu meinem eigentlichen "Problem" komme, möchte ich als Neuling ganz herzlich "Hallo" sagen und etwas über mich erzählen: Ich habe vor etwa 17 Jahren hobbymäßig die ersten Gehversuche mit Delphi unternommen, jedoch immer nur kleine Anwendungen (Musikarchiv etc...)geschrieben. Meine letzte Delphiversion 4 Standard, habe ich stets wieder auf neue Rechner installiert, weil die Leistungen von Version 4 für mich bisher voll ausreichend waren. Mein Sohn kam nun zu mir und fragte mich, ob und wie man ein eigenes lauffähiges Programm zum Umrechnen von Maßeinheiten erstellen kann. Da fiel mir "mein Delphi 4" wieder ein und ich begann ein Formular zur Umrechnung von Gramm in Grain zu erstellen. Dazu habe ich im Formular ein Editfeld platzert in welches der Wert in Gramm eingegeben wird. Beim Drücken eines Buttons erfolgt die Umrechung, der Grainwert wird als Label.Caption im Formular angezeigt. Soweit, sogut. Nun möchte mein Sohn ein "Blatt" ausdrucken, in welchem nur die Werte stehen, da beim Ausdrucken des Formulars auch die Buttons & Co. mit ausgedruckt werden. Es kam mir die Idee mit QReport, jedoch scheiterte meine Idee daran, dass ich nicht weiß, ob man auch einen Report ohne eine Tabelle im Hintergrund erstellen kann. Also kam die Idee, ein neues Formular ohne Buttons zu erstellen, in welches dann die eingegebenen bzw. errechneten Werte aus dem 1. Formular übernommen werden. Auch das bekomme ich nicht hin :pale: Daher nun meine Frage an das Forum: 1. (Wie) kann ich Werte/Eingaben von Edit- oder Labelfeldern anderer Formulare in einem Formular einbinden? 2. Kann ich auch ohne eine Datenbasis in Form einer Tabelle oder SQL einen QReport mit Werten/Eingaben erstellen? Hier noch der Delphi-Quellcode des "Buttons"
Delphi-Quellcode:
Ganz herzlichen Dank vorab!!!
procedure TForm1.Button1Click(Sender: TObject);
var a, b, c : Real; begin a := StrToFloat(Edit1.Text); b := 15.43; c := a * b; Label3.Caption := FloatToStr(round(c * 10) / 10) +' Grain.'; Label2.Visible := True end; Frank |
AW: Formular drucken - nur Edit- und Labelwerte / Erstellen QReport?
Hallo und Willkommen in der DP :dp:,
ich persönlich empfinde QuickReport für diese Aufgabe etwas als Overkill, man kann doch auch mit TPrinter relativ bequem drucken. Wenn es doch QuickReport sein soll/muss: ich habe den schon jahrelang nicht mehr benutzt, aber falls man da wie z.B. bei FastReport benutzerdefinierte Datasets erstellen kann, wäre das auch eine Option. Schlimmstenfalls nimmst Du halt ein ClientDataset als Quelle und befüllst das "zu Fuß" (Felder erstellen und mit den Daten füttern). |
AW: Formular drucken - nur Edit- und Labelwerte / Erstellen QReport?
Ja Quickreport kann das.
Du musst nur die Eigenschaft PrintIfEmpty des QuickReport auf true setzen. Dann brauchst du ein QRBand mit ein paar QRLabels. Zur Übergabe der Werte könnte man in dem QuickReport-Form entsprechende Properties einführen, deren Setter die Captions der QRLabels befüllt. |
AW: Formular drucken - nur Edit- und Labelwerte / Erstellen QReport?
Zitat:
Ich habe jetzt ein QuickReport erstellt, die Eigenschaft PrintIfEmpty auf true gesetzt, einen QRBand und vier QR Labels im Report platziert. Was ich nicht hinbekomme, ist das "Einführen der Properties, deren Setter die Captions der QRLabels befüllen sollen". Hier wäre ich für eine Anleitung sehr dankbar. Hier der Quellcode des QuickReports:
Delphi-Quellcode:
Vielen Dank schon mal!:thumb:
unit Report1;
interface uses Windows, SysUtils, Messages, Classes, Graphics, Controls, StdCtrls, ExtCtrls, Forms, Quickrpt, QRCtrls; type TQuickReport1 = class(TQuickRep) QRBand1: TQRBand; QRLabel1: TQRLabel; QRLabel2: TQRLabel; QRLabel3: TQRLabel; QRLabel4: TQRLabel; private public end; var QuickReport1: TQuickReport1; implementation {$R *.DFM} end. |
AW: Formular drucken - nur Edit- und Labelwerte / Erstellen QReport?
Zuerst solltest du den Labels aussagekräftige Namen geben.
Das mit den Properties geht am Beispiel eines Labes so:
Delphi-Quellcode:
Zugriff von außen:
unit Report1;
interface uses Windows, SysUtils, Messages, Classes, Graphics, Controls, StdCtrls, ExtCtrls, Forms, Quickrpt, QRCtrls; type TQuickReport1 = class(TQuickRep) QRBand1: TQRBand; QRLabelGrain: TQRLabel; private fGrain:string; procedure SetGrain(Value:string); public property Grain:String read fGrain write SetGrain; end; var QuickReport1: TQuickReport1; implementation {$R *.DFM} procedure TQuickReport1.SetGrain(Value:string); begin fGrain:=Value; QRLabelGrain.Caption:=fGrain; end; end.
Delphi-Quellcode:
QuickReport1.Grain := irgendwas;
|
AW: Formular drucken - nur Edit- und Labelwerte / Erstellen QReport?
super, vielen Dank :thumb: !!!!!!
Wenn man den Code liest, leuchtet es ein. Aber es wäre mir echt nicht (mehr) eingefallen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:06 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