s - Text ausgeben (rechtsbündig)
|
Funktion
|
An einer beliebigen Stelle kann eine Zeichenkette rechtsbündig formatiert ausgegeben werden.
Siehe auch Hinweise im Kapitel zum Druck unter 13.02 Besonderheiten (Linien, Tabulatoren, Schriftarten). Z.B. wird bei Zeichenketten, die einen Doppelpunkt oder zwei oder mehr aufeinanderfolgende Leerzeichen enthalten, der dem Doppelpunkt oder den Leerzeichen folgende Textteil auf eine errechnete Tabulatorposition gedruckt.
Diese Vorschrift kann aktiviert und ausgeschaltet werden:
|
&-
|
(Kaufmanns-Und + Minuszeichen)
|
verhindert die Aufbereitung des folgenden Textes auf Tabulatorpositionen
|
|
&+
|
(Kaufmanns-Und + Pluszeichen)
|
erzwingt die Aufbereitung des folgenden Textes auf Tabulatorpositionen
|
|
Syntax
|
s:[Druckposition],Text#
Beispiel
|
s:8,Teilenummer#
|
8
|
Der Text soll im Bereich von Stelle 8 bis zu der Stelle, die durch die Anzahl der Zeichen im Text bestimmt wird, rechtsbündig ausgeben werden.
|
|
|
Teilenummer
|
Text, der rechtbündig ausgegeben wird.
|
|
Beschreibung der Argumente
|
-
DruckpositionPosition, ab der der Ausgabebereich beginnt, innerhalb dem der angegebene Text rechtsbündig ausgegeben wird.Die rechte Begrenzung des Ausgabebereichs ergibt sich aus der Position und der Anzahl Zeichen, die im Ausgabetext enthalten sind.Hinweis:Mit dem Operator "C:$SV(UseRightPos,1)" kann die rechtsbündige Positionsangabe eingeschaltet werden.I.d.R. wird der Operator am Anfang der Kopfausgabetabelle (i.d.R. MIL-Tabellennummer 10) oder in die Formularbeschreibungstabelle (i.d.R. MIL-Tabellennummer 1) eingebaut.Als Druckposition muss dann beim kleinen s-Operator die rechte Position, ab der der Text nach links ausgegeben wird, angegeben werden.Die rechtsbündige Positionsangabe gilt dann auch für den V-Operator (bei numerischen Feldern oder Zeichenketten mit Option /Fr) und den C:$DO-Operator.
-
TextText, der rechtsbündig ausgegeben werden soll. Ohne rechtsbündige Positionsangabe (siehe oben) ist zu beachten,dass die Anzahl der Zeichen des Textes die Größe (Breite) des Ausgabebereichs bestimmt, innerhalb dem der Text rechtsbündig ausgerichtet wird.Unter Umständen müssen vor dem eigentlichen Text Leerzeichen angegeben werden, um auf die gewünschte Ausgabebreite zu kommen.Soll zum Beispiel die Überschrift einer 12 Zeichen breiten numerischen Spalte rechtsbündig ausgegeben werden, gibt man als Druckposition die gleiche Spalte an,die beim V-Operator für die Ausgabe des Spaltenwerts angegeben wurde.Vor der Überschrift müssen so viele Leerzeichen angegeben werden, bis die Gesamtzahl der Zeichen inklusive Überschrift genau 12 ergibt.Nur dann ist gewährleistet, dass bei nichtproportionalen Schriften der Inhalt einer numerischen Spalte rechtsbündig genau mit der Spaltenüberschrift ausgerichtet ist.
|
Mehrsprachigkeit der Texte
|
Texte, die als s-Operator in der Landessprache hinterlegt sind oder über einen V-Operator mit der Übersetzungsoption /T ausgegeben werden, können automatisch in die gewünschte Sprache übersetzt werden (siehe S - Text ausgeben).
Platzhalter für "Anzahl Seiten des Dokuments"
Durch die Ausgabe des Platzhalters "$$Pages$$" lässt sich die Gesamtzahl der Seiten des fertigen Dokuments in einen beliebigen Text integrieren.
Beispiele:
S:5,Anzahl Seiten: $$Pages$$#
liefert z.B. den Text "Anzahl Seiten: 5"
C:$DO(10,"Seite GV(seite) von $$Pages$$")#
liefert z.B. den Text "Seite 1 von 5"
Hinweis:
Bei Dateiausgabe mit dem Dateityp "reiner Text" oder beim Einsatz von WinWord wird der Platzhalter nicht ersetzt, d.h. es erscheint der Text "$$Pages$$" im Dokument!
Verwendung von Makros
Statt eines festen Textes können auch infra-Makros (siehe Kapitel 15.01 infra-Makros der infra-Systeminformationen) angegeben werden. Sofern die verwendeten Makros ein druckbares Ergebnis liefern, wird dieses Ergebnis an der angegebenen Stelle ausgedruckt.
Der automatische Übersetzungsmechanismus funktioniert auch beim Einsatz von Makros, d.h. das Ergebnis eines Makroausdrucks wird genauso übersetzt, wie ein fester Text. Man kann damit z.B. Mengeneinheiten oder Teilebezeichnungen übersetzen lassen.
Gegenüber der Verwendung des V-Operators mit Übersetzungsoption (/T – siehe Beschreibung des V-Variablen ausgeben) besteht so die Möglichkeit, nicht nur Inhalte aus Datenpuffern, sondern auch aus Globalvariablen oder per Makros zusammengesetzten Ausdrücken zu übersetzen.
Allerdings gilt wie immer bei den Makros, dass diese nur erkannt werden, wenn z.B. eine Klammer oder ein Leerzeichen davor steht. Will man einen festen Text gefolgt von einem Makro ausgeben und Text und Makro folgen direkt aufeinander (also Buchstabe oder Ziffer als letztes Textzeichen), dann kann man dies mit folgendem Trick erreichen:
"S:10,TRIM(irgendeintext)LBUF(....) und noch mehr Text#"
Beispiel:
S:5,TRIM(irgendeintext)GV(GV_hinweis1)GV(GV_hinweis2) und noch mehr Text #
Die Inhalte der Globalvariablen werden aneinander gehängt und anschließend wird der komplette Text ggf. übersetzt.
