FastReport Positionstext ohne RFT-Formatierung ausgeben: Unterschied zwischen den Versionen
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 2: | Zeile 2: | ||
Beim Drucken eines Angebots/Auftrags kann man den Positionstext, der normalerweise RTF-Formatierung beinhaltet, als reinen Text ausgeben. | Beim Drucken eines Angebots/Auftrags kann man den Positionstext, der normalerweise RTF-Formatierung beinhaltet, als reinen Text ausgeben. | ||
+ | |||
+ | Diese Funktion steht ab Version 3.1.18209 zur Verfügung. | ||
== Hintergrund == | == Hintergrund == | ||
− | In einem Report für ein Angebot | + | In einem Report für ein Angebot/einen Auftrag oder eine Rechnung kann man das Positionen-Textfeld als RTF-Feld einfügen. Dieses Feld kann formatierten Text beinhalten. |
So weit, so gut. | So weit, so gut. | ||
Zeile 19: | Zeile 21: | ||
* Der Bereich, in dem der Text angezeigt wird (also die Grafik), wird - ja nach Export-Optionen - u.U. etwas unsauber ausgegeben. | * Der Bereich, in dem der Text angezeigt wird (also die Grafik), wird - ja nach Export-Optionen - u.U. etwas unsauber ausgegeben. | ||
− | Um diese Nachteile zu umgehen, kann man in den Report anstelle des RTF-Feldes eine Variable mit dem Namen "AuftrPosTextOhneRtf" festlegen und einfügen. | + | Um diese Nachteile zu umgehen, kann man in den Report anstelle des RTF-Feldes eine Variable mit dem Namen "AuftrPosTextOhneRtf" (Angebot/Auftrag) bzw. "RechPosTextOhneRtf" (Rechnung) festlegen und einfügen. |
+ | |||
Das Druckprogramm "GevitasFormPrint" stellt in dieser Variablen den reinen Text des RTF-Feldes dar, ohne Steuerzeichen! | Das Druckprogramm "GevitasFormPrint" stellt in dieser Variablen den reinen Text des RTF-Feldes dar, ohne Steuerzeichen! | ||
+ | |||
+ | |||
== Vorgehensweise == | == Vorgehensweise == | ||
− | Legen Sie eine neue Variable im Report an, wie ''[[FastReport:_Anlegen_und_verwenden_von_Variablen_im_Report#Anlegen_einer_Variablen|hier]]''' beschrieben. | + | *Legen Sie eine neue Variable im Report an, wie '''[[FastReport:_Anlegen_und_verwenden_von_Variablen_im_Report#Anlegen_einer_Variablen|hier]]''' beschrieben. |
− | Nennen Sie die Variable | + | :Nennen Sie die Variable |
− | + | : AuftrPosTextOhneRtf | |
− | + | bzw. | |
− | + | : RechPosTextPositionOhneRtf | |
− | |||
− | + | oder | |
− | |||
− | + | : RechPosTextOhneRtf | |
− | Schreiben Sie diesen Code: | + | :(genau so, mit Groß- und Kleinbuchstaben!) |
+ | |||
+ | *Fügen Sie ein Child-Band des Detail-Bands ein. | ||
+ | :Klicken Sie dazu auf das Detail-Band und wählen aus dem Menü "Child-Band einfügen". | ||
+ | :Geben Sie dem Band einen aussagekräftigen Namen, z.B. "ChildPosText". | ||
+ | |||
+ | *Ziehen Sie aus dem Register "Variablen" die Variable "AuftrPosTextOhneRtf" bzw. "RechPosTextOhneRtf" in dieses Band. | ||
+ | :Ein Feld (Memo) wird eingefügt. Ziehen sie es auf die gewünschte Größe. | ||
+ | :Geben Sie dem Band und dem Feld die Eigenschaft "Dehnen". | ||
+ | |||
+ | *Klicken Sie im Objekt-Inspektor links auf Ereignisse und doppelklicken Sie auf "OnBeforeClick". | ||
+ | |||
+ | :Schreiben Sie diesen Code: | ||
procedure ChildPosTextOnBeforePrint(Sender: TfrxComponent); | procedure ChildPosTextOnBeforePrint(Sender: TfrxComponent); | ||
begin | begin | ||
− | ChildPosText.Visible := <AuftrPosTextOhneRtf> > ''; | + | ChildPosText.Visible := <AuftrPosTextOhneRtf> > <nowiki>''</nowiki>; |
end; | end; | ||
− | Dieser Code unterdrückt das Band, wenn die Variable leer ist. | + | |
+ | bzw. bei der Rechnung | ||
+ | |||
+ | |||
+ | procedure ChildPosTextOnBeforePrint(Sender: TfrxComponent); | ||
+ | begin | ||
+ | ChildPosText.Visible := <RechPosTextOhneRtf> > <nowiki>''</nowiki>; | ||
+ | end; | ||
+ | |||
+ | |||
+ | |||
+ | :Dieser Code unterdrückt das Band, wenn die Variable leer ist. |
Aktuelle Version vom 12. Februar 2018, 12:40 Uhr
1 Allgemeines
Beim Drucken eines Angebots/Auftrags kann man den Positionstext, der normalerweise RTF-Formatierung beinhaltet, als reinen Text ausgeben.
Diese Funktion steht ab Version 3.1.18209 zur Verfügung.
2 Hintergrund
In einem Report für ein Angebot/einen Auftrag oder eine Rechnung kann man das Positionen-Textfeld als RTF-Feld einfügen. Dieses Feld kann formatierten Text beinhalten.
So weit, so gut.
Das Problem ist, dass so formatierte Felder beim Export in PDF-Dateien nicht als Text exportiert werden (bis FastReport© 5), sondern als Grafik. (Ab FastReport© 6 soll das nicht mehr so sein).
Das hat zwei Nachteile:
- Die PDF-Datei wird größer, bei viel Text auch viel größer!
- Der Bereich, in dem der Text angezeigt wird (also die Grafik), wird - ja nach Export-Optionen - u.U. etwas unsauber ausgegeben.
Um diese Nachteile zu umgehen, kann man in den Report anstelle des RTF-Feldes eine Variable mit dem Namen "AuftrPosTextOhneRtf" (Angebot/Auftrag) bzw. "RechPosTextOhneRtf" (Rechnung) festlegen und einfügen.
Das Druckprogramm "GevitasFormPrint" stellt in dieser Variablen den reinen Text des RTF-Feldes dar, ohne Steuerzeichen!
3 Vorgehensweise
- Legen Sie eine neue Variable im Report an, wie hier beschrieben.
- Nennen Sie die Variable
- AuftrPosTextOhneRtf
bzw.
- RechPosTextPositionOhneRtf
oder
- RechPosTextOhneRtf
- (genau so, mit Groß- und Kleinbuchstaben!)
- Fügen Sie ein Child-Band des Detail-Bands ein.
- Klicken Sie dazu auf das Detail-Band und wählen aus dem Menü "Child-Band einfügen".
- Geben Sie dem Band einen aussagekräftigen Namen, z.B. "ChildPosText".
- Ziehen Sie aus dem Register "Variablen" die Variable "AuftrPosTextOhneRtf" bzw. "RechPosTextOhneRtf" in dieses Band.
- Ein Feld (Memo) wird eingefügt. Ziehen sie es auf die gewünschte Größe.
- Geben Sie dem Band und dem Feld die Eigenschaft "Dehnen".
- Klicken Sie im Objekt-Inspektor links auf Ereignisse und doppelklicken Sie auf "OnBeforeClick".
- Schreiben Sie diesen Code:
procedure ChildPosTextOnBeforePrint(Sender: TfrxComponent); begin ChildPosText.Visible := <AuftrPosTextOhneRtf> > ''; end;
bzw. bei der Rechnung
procedure ChildPosTextOnBeforePrint(Sender: TfrxComponent); begin ChildPosText.Visible := <RechPosTextOhneRtf> > ''; end;
- Dieser Code unterdrückt das Band, wenn die Variable leer ist.