Text und Daten mischen

In der einen oder anderen Applikation ist es erforderlich dynamische Texte bzw. Serienbriefe zu erstellen. Um die erforderlichen Daten nicht extra mühsam von Hand eintippen zu müssen, bietet CONZEPT 16 die Möglichkeit Inhalte von Datenbankfeldern und Text zu mischen. Im folgenden Artikel möchte ich etwas näher auf diese Thematik eingehen.

Text mit Datensätzen verbinden

Ein bereits bestehender Text oder auch RTF-Text kann mit dem Inhalt von globalen Variablen bzw. Datensatzpuffern verbunden werden. Um dies zu bewerkstelligen ist es notwendig Platzhalter im Text einzufügen. Die Platzhalter werden dabei in ein Markierungszeichen geklammert, um sie vom normalen Text unterscheiden zu können.
Standartmäßig wird die Tilde "~" als Markierungszeichen verwendet. Das Zeichen kann aber im Applikationsobjekt in der Eigenschaft wpRtfMixMarker für RtfEdit-Objekte und in Eigenschaft wpDocMixMarker für CtxDocEdit-Objekte auf ein beliebiges anderes Zeichen geändert werden.

Zeitpunkt wählen

Es besteht die Möglichkeit das Mischen des Textes mit den Daten zu verschiedenen Zeitpunkten zu verwirklichen.

  • Beim Lesen eines Textes in ein RtfEdit-Objekt

    Dazu muss bei den Befehlen (z.B. WinRtfLoad()) die Option _WinRtfLoadMix angegeben werden.

  • Beim Speichern eines Textes aus einem RtfEdit-Objekt

    Dazu muss bei den Befehlen (z.B. WinRtfSave()) die Option _WinRtfSaveMix angegeben werden.

  • Beim Lesen eines Textes in ein CtxDocEdit-Objekt

    Dazu muss bei den Befehlen (z.B. WinDocLoadName()) die Option _WinDocLoadMix angegeben werden.

  • Beim Speichern eines Textes aus einem CtxDocEdit-Objekt

    Dazu muss bei den Befehlen (z.B. WinDocSaveName()) die Option _WinDocSaveMix angegeben werden.

  • Beim Drucken eines Textes mit dem PrtRtf-Objekt

    Ist beim Drucken des Objektes in der Eigenschaft ppPrtRtfFlags die Ausprägung _PrtRtfMix gesetzt, werden die Markierungen durch die entsprechenden Inhalte ersetzt.

Markierungen

Sollen Datenbankfeld-Inhalte dargestellt werden, besitzt die Markierung folgendes Aussehen: ~F:<Feldname>~

Als <Feldname> wird der Name eines Feldes aus der Datenstruktur oder die Nummer der Datei, des Teildatensatzes und des Feldes durch Kommata getrennt verwendet. Dieser Platzhalter wird nun durch den Inhalt des angegebenen Feldes ersetzt. Das Ausgabeformat wird durch die Ländereinstellungen des Betriebssystems bestimmt. Je nach Typ des Feldes können noch folgende Formatoptionen angegeben werden.

FeldtypOptionBeschreibung
Alphanumerisch (alpha)/W1Erste Wortumstellung: Hier wird der Name in der Form Titel, Vorname und Name dargestellt.
/W2Zweite Wortumstellung: In dieser Wortumstellung wird der Vorname ausgelassen.
/W3Dritte Wortumstellung: Hier werden keine Doppelnamen angezeigt.
/BnIst das Feld nicht leer, werden nach der Ausgabe des Inhalts noch die in n angegebenen Leerzeichen ausgegeben.
/SnDas Feld wird mit einer statischen Ausgabelänge ausgegeben. Unabhängig vom Inhalt des Feldes werden die in n angegebenen Zeichen ausgegeben.
Ganzzahlig (byte, word, int und bigint)/GEs findet keine Tausender-Trennung statt.
/ZIst der darzustellende Wert gleich 0, wird keine Ausgabe gemacht (Nullunterdrückung).
Gleitkomma
(float und decimal)
/GEs findet keine Tausender-Trennung statt
/ZIst der darzustellende Wert gleich 0, wird keine Ausgabe gemacht (Nullunterdrückung).
/PAnstelle des Dezimaltrennzeichens wird ein Punkt ausgegeben.
/nÜber diese Option wird die Anzahl der Nachkommastellen definiert.
Datum (date)/LMit dieser Option wird das lange Datumsformat eingestellt.
Zeit (time)/SDie Uhrzeit wird mit Sekunden angezeigt.
/HDie Uhrzeit wird mit Sekunden und hundertstel Sekunden angezeigt.
Logisch (logic)/<true>/<false>Logische Felder und Variablen müssen mit Werten versehen werden, die in Abhängigkeit des Wertes angezeigt werden sollen.

Sollen hingegen Variablen dargestellt werden, besitzt die Markierung folgendes Aussehen: ~G:<Variablenbereich>:<Variablenname>~

Für Variablen gelten die gleichen Formatierungsmöglichkeiten, wie für Felder.

Es können mehrere Optionen hinter einem "/" gesammelt werden. Bei Zahlenwerten können die Formatierungsanweisungen kombiniert werden.
Damit die Platzhalter korrekt ersetzt werden können, müssen die Namen korrekt geschrieben sein und es darf kein Formatwechsel zwischen den Markierungszeichen vorgenommen werden. Markierungen, welche nicht ersetzt werden können, bleiben im Text enthalten.

Eine Antwort

  1. Haben wir "zu Fuß" gelöst, da
    – keine bedingte Ausgabe möglich ist (Feld A, wenn Feld B=’X‘)
    – Werte erst durch eine Prozedur ermittelt werden müssen
    – die Feldnamen vom Endanwender nicht immer verstanden werden (und er auch nicht weiß, welche Dateien an dieser Stelle überhaupt korrekt eingelesen sind)

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Leave the field below empty!

Your yeet Trial Version - request it now!

TEST yeet - NON-BINDING and FREE OF CHARGE

Deine yeet Trial Version - jetzt anfordern!

TESTE yeet - UNVERBINDLICH und KOSTENFREI

IHRE EVALUIERUNGSLIZENZ - JETZT ANFORDERN!

TESTEN SIE DIE CONZEPT 16 VOLLVERSION - UNVERBINDLICH und KOSTENFREI

Melden Sie sich bei unserem Newsletter an

Anrede*
     
Zustimmung zur Datenverarbeitung gem. DSGVO*



WordPress Cookie-Hinweis von Real Cookie Banner