FastReport Positionstext ohne RFT-Formatierung ausgeben: Unterschied zwischen den Versionen
(→Vorgehensweise) |
|||
Zeile 24: | Zeile 24: | ||
== 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 | |
− | (genau so, mit Groß- und Kleinbuchstaben!) | + | :(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". | + | *Fügen Sie ein Child-Band des Detail-Bands ein. |
− | Geben Sie dem Band einen aussagekräftigen Namen, z.B. "ChildPosText". | + | :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" in dieses Band. Ein Feld (Memo) wird eingefügt. Ziehen sie es auf die gewünschte Größe. | + | *Ziehen Sie aus dem Register "Variablen" die Variable "AuftrPosTextOhneRtf" in dieses Band. |
− | Geben Sie dem Band und dem Feld die Eigenschaft "Dehnen". | + | :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". | + | *Klicken Sie im Objekt-Inspektor links auf Ereignisse und doppelklicken Sie auf "OnBeforeClick". |
− | Schreiben Sie diesen Code: | + | :Schreiben Sie diesen Code: |
Zeile 48: | Zeile 50: | ||
end; | end; | ||
− | Dieser Code unterdrückt das Band, wenn die Variable leer ist. | + | :Dieser Code unterdrückt das Band, wenn die Variable leer ist. |
Version vom 26. Januar 2018, 22:15 Uhr
1 Allgemeines
Beim Drucken eines Angebots/Auftrags kann man den Positionstext, der normalerweise RTF-Formatierung beinhaltet, als reinen Text ausgeben.
2 Hintergrund
In einem Report für ein Angebot oder einen Auftrag 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" 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
- (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" 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;
- Dieser Code unterdrückt das Band, wenn die Variable leer ist.