FastReport String-Teile entfernen: Unterschied zwischen den Versionen
Aus GEVITAS
(Die Seite wurde neu angelegt: „== Allgemeines == FastReport beinhaltet aus eine paar String-Methoden, mit dem Text-Teile z.B. löschen kann. == Problem == Auf einem QR-Code-Etikett soll e…“) |
(→Lösung) |
||
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
== Allgemeines == | == Allgemeines == | ||
− | FastReport beinhaltet | + | FastReport beinhaltet auch eine paar String-Methoden, mit dem Text-Teile z.B. löschen kann. |
+ | |||
== Problem == | == Problem == | ||
Zeile 8: | Zeile 9: | ||
Der Pfad- und Dateiname kommt aus der Datenbank, beinhaltet aber den Pfad zum lokalen Server. Per Code soll jetzt aus dem lokalen Pfad ein Internet-Pfad gemacht werden. | Der Pfad- und Dateiname kommt aus der Datenbank, beinhaltet aber den Pfad zum lokalen Server. Per Code soll jetzt aus dem lokalen Pfad ein Internet-Pfad gemacht werden. | ||
+ | |||
== Lösung == | == Lösung == | ||
+ | ;Auf dem Report im FastReport-Designer platziert man... | ||
+ | *...ein QR-Code-Objekt mit dem Namen "QRCode1" | ||
+ | *...ein Textfeld (Memo) mit dem Namen "memo1.". Dies ist nur ein Hilfs-Feld und ist nicht sichtbar (Eigenschaft Visible = False) | ||
+ | |||
+ | Man klickt auf das Band "MasterData1" und schaltet links auf "Ereignisse" um. Dann doppelklickt man auf das Ereignis "OnBeforePrint" und kommt damit in den Code-Editor. | ||
+ | |||
+ | Dort schreibt man diesen Code: | ||
<nowiki>procedure MasterData1OnBeforePrint(Sender: TfrxComponent);</nowiki> | <nowiki>procedure MasterData1OnBeforePrint(Sender: TfrxComponent);</nowiki> | ||
<nowiki>begin</nowiki> | <nowiki>begin</nowiki> | ||
+ | |||
<nowiki> // Den Pfad aus der Datenbank in ein Hilfs-Memo schreiben:</nowiki> | <nowiki> // Den Pfad aus der Datenbank in ein Hilfs-Memo schreiben:</nowiki> | ||
<nowiki> memo1.Text := <Test."Protocol">;</nowiki> | <nowiki> memo1.Text := <Test."Protocol">;</nowiki> | ||
+ | |||
<nowiki> // Die ersten X Zeichen aus dem Pfad entfernen, so dass nur noch der Dateiname im Memo steht:</nowiki> | <nowiki> // Die ersten X Zeichen aus dem Pfad entfernen, so dass nur noch der Dateiname im Memo steht:</nowiki> | ||
<nowiki> Delete( memo1.Text , 1 , 27 ) ;</nowiki> | <nowiki> Delete( memo1.Text , 1 , 27 ) ;</nowiki> | ||
+ | |||
<nowiki> // Den Text an das QR-Code-Objekt übergeben:</nowiki> | <nowiki> // Den Text an das QR-Code-Objekt übergeben:</nowiki> | ||
<nowiki> QRCode1.Text := 'http://myserver/pfad/' + memo1.Text;</nowiki> | <nowiki> QRCode1.Text := 'http://myserver/pfad/' + memo1.Text;</nowiki> | ||
+ | |||
<nowiki>end;</nowiki> | <nowiki>end;</nowiki> | ||
;Hinweis: | ;Hinweis: | ||
:Das QR-Code-Objekt darf in diesem Fall keine direkte Datenbank-Anbindung haben (Eigenschaften "DataSet" und "DataField" müssen leer sein!) | :Das QR-Code-Objekt darf in diesem Fall keine direkte Datenbank-Anbindung haben (Eigenschaften "DataSet" und "DataField" müssen leer sein!) | ||
+ | :In diesem Beispiel werden die ersten 27 Zeichen aus dem Pfad entfernt, in Ihrem Fall müssten Sie zählen, wie lange der lokale Pfad ist. | ||
+ | *Das geht natürlich nur, wenn der lokale Pfad immer gleich lang ist! | ||
+ | |||
+ | == Links == | ||
+ | |||
+ | * [[FastReport Seitenformat]] | ||
+ | |||
+ | * [[FastReport Daten, Tabellen und Felder]] | ||
+ | |||
+ | * [[FastReport Tabellen der Reports]] | ||
+ | |||
+ | * [[FastReport Bands]] | ||
+ | |||
+ | * [[FastReport Objekte und Elemente eines Reports]] | ||
+ | |||
+ | * [[FastReport: Abhängige Formatierung von Feldern]] | ||
+ | |||
+ | * [[FastReport: Standard-Formular-Texte]] | ||
+ | |||
+ | * [[FastReport: Steuerung des Report mit Auftragskennzeichen]] | ||
+ | |||
+ | * [[FastReport: Summen im Report bilden]] | ||
+ | |||
+ | * [[FastReport Farb-Konstanten]] | ||
+ | |||
+ | * [[FastReport Namensgebung der Datenbank-Tabellen und -Felder]] | ||
+ | |||
+ | * [[FastReport Tipps und Tricks]] | ||
+ | |||
+ | * [[Ladeliste/Packliste mit FastReport]] | ||
+ | |||
+ | * [[Etikettendruck Allgemeines]] | ||
+ | |||
+ | * [[GEVITAS Label-Print Installation]] | ||
+ | |||
+ | * [[GEVITAS-Carnet]] | ||
+ | |||
+ | * [[Videos zu FastReport]] |
Aktuelle Version vom 11. Juli 2018, 09:36 Uhr
Inhaltsverzeichnis
1 Allgemeines
FastReport beinhaltet auch eine paar String-Methoden, mit dem Text-Teile z.B. löschen kann.
2 Problem
Auf einem QR-Code-Etikett soll ein Link zu einem Dokument stehen, das auf einem Cloud-Server liegt.
Der Pfad- und Dateiname kommt aus der Datenbank, beinhaltet aber den Pfad zum lokalen Server. Per Code soll jetzt aus dem lokalen Pfad ein Internet-Pfad gemacht werden.
3 Lösung
- Auf dem Report im FastReport-Designer platziert man...
- ...ein QR-Code-Objekt mit dem Namen "QRCode1"
- ...ein Textfeld (Memo) mit dem Namen "memo1.". Dies ist nur ein Hilfs-Feld und ist nicht sichtbar (Eigenschaft Visible = False)
Man klickt auf das Band "MasterData1" und schaltet links auf "Ereignisse" um. Dann doppelklickt man auf das Ereignis "OnBeforePrint" und kommt damit in den Code-Editor.
Dort schreibt man diesen Code:
procedure MasterData1OnBeforePrint(Sender: TfrxComponent); begin // Den Pfad aus der Datenbank in ein Hilfs-Memo schreiben: memo1.Text := <Test."Protocol">; // Die ersten X Zeichen aus dem Pfad entfernen, so dass nur noch der Dateiname im Memo steht: Delete( memo1.Text , 1 , 27 ) ; // Den Text an das QR-Code-Objekt übergeben: QRCode1.Text := 'http://myserver/pfad/' + memo1.Text; end;
- Hinweis
- Das QR-Code-Objekt darf in diesem Fall keine direkte Datenbank-Anbindung haben (Eigenschaften "DataSet" und "DataField" müssen leer sein!)
- In diesem Beispiel werden die ersten 27 Zeichen aus dem Pfad entfernt, in Ihrem Fall müssten Sie zählen, wie lange der lokale Pfad ist.
- Das geht natürlich nur, wenn der lokale Pfad immer gleich lang ist!