Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi QuickReport ohne TTable oder ähnliches (https://www.delphipraxis.net/120705-quickreport-ohne-ttable-oder-aehnliches.html)

tdeck 15. Sep 2008 16:09


QuickReport ohne TTable oder ähnliches
 
Hallo,

ich befürchte fast das es so einen ähnlichen Eintrag schon gibt, habe ihn aber nicht gefunden :(

Ich habe den Quickreport schon mehrmals in der Delphi-Version 6.xx genutzt, aber immer in Verbindung mit einer Datenbank-Table.

Da ich aber mittlerweile umgestiegen bin auf das BDS2006, habe ich mir über einen Downloadlink von CodeGear die Standard-Version für das BDS2006 runtergeladen und installiert.

Aber jetzt zu meiner eigentlichen Frage wie schaffe ich es den Report mit Daten aus einer Anwendung zu füllen ohne TTable?

Beispiel ich möchte einen Text aus einem TextEdit haben, Grundgedanke: "MeineForm.TextEdit1.Text"
meine Idee ist hier ich benutze die "QRLabels" anstelle der Dateneinträge aus einer TTable, also so:

Report.Form1.QRLabel4.Caption:= MeineForm.TextEdit1.Text;

Und das mache ich vor dem Ausdruck, das sollte doch eigentlich funktionieren, oder muss ich über eine virtuelle TTable das ganze erstellen? Wie habt ihr sowas gelöst?

ConstantGardener 15. Sep 2008 19:18

Re: QuickReport ohne TTable oder ähnliches
 
Hallo tdeck,

du kannst einmal auftretende Texte natürlich im onBeforePrint Event des Reports oder eines einzelnen Bandes(Titel,Group) in die Caption eines QRLabels setzen. Wenn du eine Tabelle drucken willst schau mal beim OnNeedData Event. Wenn Du hier MoreData auf True setzt wird noch eine Zeile (Detail) mehr ausgegeben. Üblicherweise lasse ich einen Zähler über die Tabellenzeilen (z.B. StringGrid) laufen und setzte die QRLabel.Caption im OnBeforePrint des Detailbandes.

mfg

ConstantGardener

mkinzler 15. Sep 2008 19:19

Re: QuickReport ohne TTable oder ähnliches
 
Oder man bestückt ein Memory-DataSet

tdeck 15. Sep 2008 19:54

Re: QuickReport ohne TTable oder ähnliches
 
Zitat:

Zitat von mkinzler
Oder man bestückt ein Memory-DataSet

Hallo,
super, erstmal danke für die schnellen Antworten. :)

Der Aufwand eine Memory-DataSet zu erstellen und dann diese Daten an einen Report zu übergeben ist doch recht aufwendig. Oder?

Das Programm was ich schreibe überträgt eine Konfiguration an eine CPU die in Schaltschränken eingebaut wird, es wird pro CPU immer nur eine Datei geladen, die vorgehensweise ist so angedacht:

1. Programm starten
2. Vorhandene Datei öffnen oder Neue Datei erstellen
3. Parameter und Projektdaten einstellen
4. Speichern
5. in CPU über RS232 übertragen
6. SoftwareParameter ausdrucken (QReport)

Dadurch, dass es immer nur ein Datensatz / Konfiguration sein kann sollte der Weg doch eigentlich gehen.

Im Moment benutze ich von den LMDTools das TLMDStorPropertiesStorage um die Einträge in den EditorBoxen usw. einfach ohne viel Programmieraufwand Speichern und Laden zu können.

Den Test den ich im Moment probiere füllt entsprechend so die Daten:
-------------------CODE---------------------------
//Report mit Daten füllen...
Report.Form1.DataProjektName.Caption:= editPrjName.Text;
Report.Form1.DataProjektNummer.Caption:= editPrjNr.Text;
Report.Form1.DataKunde.Caption:= editKunde.Text;
Report.Form1.DataEndKunde.Caption:= editEndKunde.Text;
Report.Form1.DataSerNummer.Caption:= EditSerNr.Text;
Report.Form1.DataFirmware.Caption:= EditFirmware.Text;
Report.Form1.DataBearbeiter.Caption:= EditBearbeiter.Text;
Report.Form1.DataStand.Caption:= EditStand.Text;
Report.Form1.DataMG.Caption:= EditMG.Text;
Report.Form1.DataSchrank.Caption:= EditSchrank.Text;
Report.Form1.DataTuerNr.Caption:= EditTuer.Text;
Report.Form1.DataTechnikraum.Caption:= EditTechnRaum.Text;
Report.Form1.DataHinweise.Lines:= MemHinweise.Lines;

// Druckvorschau starten....mal sehen was so passiert...
Report.Form1.QR.PreviewModal;

-------------------CODE ENDE-------------------------

Das ist keine Superlösung, aber ich kann meine vorhandenen Vorlagen von QReport (Delphi 6.xx) weiter verwenden, ich denke das über eine Mem-Dataset zu machen würde noch mehr Aufwand kosten. Oder? :gruebel:

Im Moment grübel ich auch darüber, wie ich eine 2. Seite erstelle, bis jetzt hatte ich immer das Glück, das meine Reports (Datenbanken) immer auf eine Seite gepasst haben. :)

mkinzler 15. Sep 2008 20:01

Re: QuickReport ohne TTable oder ähnliches
 
Bei so wenig Daten natürlich

tdeck 15. Sep 2008 20:41

Re: QuickReport ohne TTable oder ähnliches
 
Zitat:

Zitat von mkinzler
Bei so wenig Daten natürlich

Hallo,

es sind schon ein paar Daten mehr als hier zu sehen (ca. 200), aber eben nur einen Datensatz pro Konfiguration.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:43 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