Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Statischer Text in QRExpr (https://www.delphipraxis.net/82450-statischer-text-qrexpr.html)

davar 13. Dez 2006 14:38


Statischer Text in QRExpr
 
Hallo Leute,

in einem Quickreport habe ich eine QRExpr-Komponente. Diese soll mir den Inhalt des Feldes "query6_4.ID" anzeigen, davor aber den Text "Nr. " setzen.

Gebe ich im OI unter Expression "query6_4.ID" ein, wird brav der Inhalt angezeigt.

Wie aber bekomme ich hin, dass auch "Nr. " davor gesetzt wird? Habe schon zig verschiedene Möglichkeiten ausprobiert aber es geht irgendwie nicht..


mfg

davar

marabu 13. Dez 2006 15:04

Re: Statischer Text in QRExpr
 
Hallo davar,

probiere es so:

Delphi-Quellcode:
QRExpr.Expression := '''Nr. '' + Str(query6_4.ID)';
Freundliche Grüße

xZise 13. Dez 2006 15:16

Re: Statischer Text in QRExpr
 
Ich kenn zwar die Komponente nicht, aber wenn du einen String suchst:
Delphi-Quellcode:
myString := 'Nr' + IntToStr(myInt);
Bzw auch:
Delphi-Quellcode:
FloatToStr(<Float>) // Fließkommazahlen
BoolToStr(<Boolean>) // Booleans
...
[edit]
Zitat:

Zitat von marabu
Hallo davar,

probiere es so:

Delphi-Quellcode:
QRExpr.Expression := '''Nr. '' + Str(query6_4.ID)';
Freundliche Grüße

[/edit]
Ähm, du weißt schon, dass folgendes immer herauskommen wird:
"'Nr.' + Str(query6_4.ID)"

davar 13. Dez 2006 15:32

Re: Statischer Text in QRExpr
 
Zitat:

Zitat von marabu
Hallo davar,

probiere es so:

Delphi-Quellcode:
QRExpr.Expression := '''Nr. '' + Str(query6_4.ID)';
Freundliche Grüße

Soweit in Ordnung.

Jetzt geh ich noch einen Schritt weiter und möchte, dass das Datum auch angezeigt wird. Aber mit
Delphi-Quellcode:
QRExpr2.Expression := '''Nr. '' + Str(query6_4.ID) + '' vom '' + Str(query6_4.datum)';
bekomme ich wieder nur das alte Problem.

marabu 13. Dez 2006 15:54

Re: Statischer Text in QRExpr
 
Lass die Funktion Str() einfach ganz weg - die Konvertierung in String erfolgt in der Regel automatisch.

Freundliche Grüße

raiguen 13. Dez 2006 16:04

Re: Statischer Text in QRExpr
 
Moin :-)

Laut Delphi-Hilfe :
Zitat:

Mit der Komponente TQRExpr berechnen Sie während der Reporterzeugung einen Ausdruck.
d.h. es sind nur 'berechenbare' Funktionen bzw Anzeigen von Tabellenfeldern möglich.
Eine 'Verknüpfung' mit Zusatzangaben geht nur auf dem 'Um'weg über das Ereignis QRExprPrint():
Delphi-Quellcode:
procedure QRExpr1Print(sender: TObject;
  var Value: String);
begin
  Value := 'Nr.: ' + Value;
end;
In Value steht in diesem Beispiel halt der Inhalt von query6_4.ID...

//EDIT: Wobei die Frage erlaubt sei: Wenn es NUR um die Anzeige eines Tabellenfeldes geht, warum dann den Weg über TQRExpr?? Ein TQRDBText tut es in diesem Falle auch und auch hier lässt sich der reine Feldinhalt mithilfe des OnPrint() 'ausschmücken' :wink:

davar 14. Dez 2006 11:44

Re: Statischer Text in QRExpr
 
Zitat:

Zitat von raiguen
Moin :-)

Laut Delphi-Hilfe :
Zitat:

Mit der Komponente TQRExpr berechnen Sie während der Reporterzeugung einen Ausdruck.
d.h. es sind nur 'berechenbare' Funktionen bzw Anzeigen von Tabellenfeldern möglich.
Eine 'Verknüpfung' mit Zusatzangaben geht nur auf dem 'Um'weg über das Ereignis QRExprPrint():
Delphi-Quellcode:
procedure QRExpr1Print(sender: TObject;
  var Value: String);
begin
  Value := 'Nr.: ' + Value;
end;
In Value steht in diesem Beispiel halt der Inhalt von query6_4.ID...

//EDIT: Wobei die Frage erlaubt sei: Wenn es NUR um die Anzeige eines Tabellenfeldes geht, warum dann den Weg über TQRExpr?? Ein TQRDBText tut es in diesem Falle auch und auch hier lässt sich der reine Feldinhalt mithilfe des OnPrint() 'ausschmücken' :wink:


Die oben angegebene Lösung geht, sofern ich dafür nur query6_4.ID benutze. Wenn ich jedoch das Datum dazunehme, bekomme ich das Problem.

Vielleicht erläutere ich die Ausgangsstellung noch einmal:

es soll eine Sammelrechnung gedruckt werden. Die einzelnen Positionen, die in QRDetail angezeigt werden, sollen in Gruppen unterteilt werden. Zum Schluss soll es wie folgt aussehen:


---------

Lieferschein Nr. XXX vom XX.XX.XXXX

Pos 1
Pos 2
Pos 3
....

Lieferschein Nr. XXX vom XX.XX.XXXX
Pos 1
Pos 2

Lieferschein Nr. XXX vom XX.XX.XXXX
...

-----------


Die Positionen befinden sich im Detailband. Damit auch dabeisteht, um welchen Lieferschein es sich handelt, habe ich QRGroup eingesetzt und dort QRExpr draufgesetzt.

Wenn ich jetzt nur die Lieferscheinnr. anzeigen lasse, geht es mit dem oben genannten Code. Möchte ich jedoch, dass das Datum auch angezeigt wird, bekomme ich statt dem Datum den Code, den ich reingeschrieben habe ('vom + Str(query6_4.datum)')

EDIT:
wie ich sehe, habe ich bei QRGroup unter Expression auch query6_4.ID angegeben. Was sollte denn hier richtigerweise hin?

marabu 14. Dez 2006 12:00

Re: Statischer Text in QRExpr
 
Hi davar,

Zitat:

Zitat von marabu
Lass die Funktion Str() einfach ganz weg - die Konvertierung in String erfolgt in der Regel automatisch.

so geht es bei mir:

Delphi-Quellcode:
QRExpr.Expression := '''Lieferschein-Nr '' + query6_4.ID + '' vom '' + query6_4.datum';
Nachdenkliche Grüße

davar 14. Dez 2006 12:41

Re: Statischer Text in QRExpr
 
Zitat:

Zitat von marabu
Hi davar,

Zitat:

Zitat von marabu
Lass die Funktion Str() einfach ganz weg - die Konvertierung in String erfolgt in der Regel automatisch.

so geht es bei mir:

Delphi-Quellcode:
QRExpr.Expression := '''Lieferschein-Nr '' + query6_4.ID + '' vom '' + query6_4.datum';
Nachdenkliche Grüße

Das gibts doch nicht :wall:

ich bekomme exakt den Text

Zitat:

'Lieferschein-Nr ' + query6_4.ID + ' vom ' + query6_4.datum
Ob irgendwas mit TGroup oder TExpr nicht in Ordnung ist? Glaub ich auch kaum, habe nämlich beides entfernt und neu draufgesetzt und es geht immer noch nicht.. :wall: :wall:

xZise 14. Dez 2006 13:21

Re: Statischer Text in QRExpr
 
Ich würde ja mal meinen Beitrag angucken!
Du hast die Befehle als Strings markiert!

Durch ein
Zitat:

''
Erzeugst du ein
Zitat:

'
!

Beispiel:
Delphi-Quellcode:
Showmessage( 'Hallo ''' + Name + '''' )
Zitat:

Hallo '<Name>'


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:44 Uhr.
Seite 1 von 2  1 2      

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 by Thomas Breitkreuz