Standard-Library - ST-LAYOUTS.LB

Die Standard-Library ST-LAYOUTS.LB beinhaltet Funktionen wie Seitenkontrolle, Schriftfarben, Text- und Bildpositionen, etc. die in Layout-Scripts benötigt werden und ersetzt alte Libraries wie z.B. ST-GR.LB. Ziel bei der Implementation von ST-LAYOUTS.LB war es, Layout-Funktionen für den Scripter möglichst einfach zu gestalten.

Einbinden von ST-LAYOUTS.LB in eigene F-Scripts

Damit Sie die Funktionen der Library nutzen können, müssen Sie diese folgendermassen in Ihrem F-Script einbinden/initialisieren:
# Standard-Library initialisieren. (Erzeugen von X-Variablen.)
«nX(<LIB:ST-LAYOUTS.LB)»
Hinweis
Hinweis
Dieser Befehl erzeugt für jeden in ST-LAYOUTS.LB stehenden Library Eintrag (Library Zeile) eine X-Variable.
Dieser Automatismus funktioniert so, dass die Library Einträge beim Pipe-Zeichen ( | ) gesplittet werden. Der Wert vor dem Pipe-Zeichen wird als Bezeichner der X-Variable verwendet, der Wert nach dem Pipe-Zeichen wird dieser X-Variable als Wert zugewiesen.
Besonders zu erwähnen ist der Umstand, dass der Inhalt dieser X-Variable zu diesem Zeitpunkt nicht ausgeführt wird. Dieses Verhalten bezeichnet man auch als "Lazy Loading".

Initialisierungen

Die nachfolgend aufgeführten Befehle initialisieren Codeblöcke, welche mit der Seitenlänge und der Druckersteuerung (Definition) zu tun haben. Mit Hilfe der ersten zwei Befehle (Codeblöcke) kann der sogenannte "Printer-Block", welcher bei Layout-Scripts jeweils am Anfang steht, komplett weggelassen werden.
Befehl Beschreibung
ScriptFunc.Init.General
Initialisieren von TOTALPAGE, PAGE(END), etc.
ScriptFunc.Init.Print
Initialisieren von HT, PRT, etc.
ScriptFunc.Init.InsydeAndAicSession
Initialisieren von GetBo auf Insyde\AicSession ->> Standardauswertungen.
Erstellt «XRES(resInsyde)» und «XRES(resAicSession)»

Seitenkontrolle

Die nachfolgend aufgeführten Befehle ermöglichen die Seitenkontrolle und stellen Funktionen zur Manipulation der aktuellen Ausgabezeile zur Verfügung.
Befehl Beschreibung
ScriptFunc.PageControl.FooterLineCount
Anzahl Fusszeilen. Default = 1.
ScriptFunc.PageControl.TotalPage
Berechnet die Zeilennummer für die Fusszeile.
PAGE(FEED) gem. ScriptFunc.PageControl.FooterLineCoung
ScriptFunc.PageControl.TotalPage
Zeilenkorrektur in der Subroutine /totalpage.
Gleicht "Halbzeilen" aus.
ScriptFunc.PageControl.HalfLineFeed
Eine halbe Zeile nach unten.
ScriptFunc.PageControl.HalfBackFeed
Eine halbe Zeile nach oben.
ScriptFunc.PageControl.FullBackFeed
Eine ganze Zeile nach oben.
ScriptFunc.PageControl.PageBreak
Führt einen Seitenumbruch aus.
ScriptFunc.PageControl.PushPosition
"Speichern" der aktuellen Position auf der Y-Achse.
ScriptFunc.PageControl.PopPosition
Springt zurück zur Position, welche mit ScriptFunc.PageControl.PushPosition "gespeichert" wurde.

Format und Tabulatoren

Die nachfolgend aufgeführten Befehle erlauben das Setzen des Formats (Seitenorientierung), die Berechnung von Seitenrändern, etc.
Befehl Beschreibung
ScriptFunc.Layout.Orientation
Format (Seitenorientierung) gem. Druckersteuerung.
Wird für die Berechnung von Seitenrändern und für die Positionierung benötigt.
Mögliche Werte: A4P, A4L, A5P und A5L (P = Portrait/Hochformat, L = Landscape/Querformat)
Default: A4P
ScriptFunc.Tab.LeftMargin
Vorgabe in cm für die Breite des linken Randes. Die Breite des Randes ist dabei vom Format abhängig.
A4P und A5P - «2.4»
A4L und A5L - «1.25»
ScriptFunc.Tab.RightMargin
Vorgabe in cm für die Breite des rechten Randes. Die Breite des Randes ist dabei vom Format abhängig.
A4P und A5P - «2.4»
A4L und A5L - «1.25»
ScriptFunc.Function.PDFWrapping.ON
Ein-/Ausschalten von PDF-Wrapping (Umbrechen des Texts am rechten Rand).
ON - Der Text wird am rechten Rand umgebrochen (Default).
ScriptFunc.Function.PDFWrapping.OFF
OFF - Der Text wird am rechten Rand nicht umgebrochen. Zu langer Text wird abgeschnitten.
Hinweis
Hinweis
ScriptFunc.Layout.Orientation wird per Default auf A4P gesetzt, wenn bei der Druckersteuerung (Attribut Printer.Format) kein Format hinterlegt ist.

Schriftformate

Die nachfolgend aufgeführten Befehle ermöglichen die Schriftformatierung bei Auswertungen.
Befehl Beschreibung
ScriptFunc.Font.ReportTitle.Left
Initialisierung: a14, Fett, Zusatzschrift.
ScriptFunc.Font.ReportTitle.Righ
Initialisierung: a12, Fett, Zusatzschrift.
ScriptFunc.Font.ColumnTitle
Initialisierung: a10, Fett.
ScriptFunc.Font.ColumnSubTitle
Initialisierung: a08, Fett.
ScriptFunc.Font.DetailLines
Initialisierung: a07.
ScriptFunc.Font.DetailLinesBold
Initialisierung: a07, Fett.
ScriptFunc.Font.TotalLines
Initialisierung: a07.
ScriptFunc.Font.TotalLinesBold
Initialisierung: a07, Fett.

Fusszeile

Ausgeben der Standard-Fusszeile von Auswertungen.
Befehl Beschreibung
ScriptFunc.Print.FooterLine
Ausgeben der Standard-Fusszeile von Auswertungen.

Schriftfarben

Die nachfolgend aufgeführten Befehle ermöglichen die Definition und Verwendung von Schriftfarben.
Die mögliche Farbpalette besteht dabei aus acht Farben. Jede dieser Farben kann über den RGB-Wert definiert werden.
Befehl Beschreibung
ScriptFunc.Color.SetCollection
Initialisieren der Farbcollection.
Sobald eine Farbe angepasst wird, muss dieser Befehl erneut ausgeführt werden.
ScriptFunc.Color.SetColor0
Definieren der Farbe 0.
Wir empfehlen, die Farbe 0 auf dem Defaultwert (0,0,0 für schwarz) zu belassen.
ScriptFunc.Color.SetColor[1-7]
Definieren der Farben 1 bis 7. Per Default sind hier sieben Graustufen definiert.
Default1: 105,105,105
Default2: 128,128,128
Default3: 169,169,169
Default4: 192,192,192
Default5: 211,211,211
Default6: 220,220,220
Default7: 245,245,245
ScriptFunc.Color.UseColor[0-7
Wechselt die Farbe des Textes ab der aktuellen Position gem. dem RGB-Wert der gewählten Farbe (0 bis 7)
Hinweis
Hinweis
Per Default initialisiert ScriptFunc.Color.SetCollection eine Farbpalette mit schwarz (Farbe 0) und sieben Graustufen.
Wir empfehlen die Farbe 0 auf dem Defaultwert (schwarz) zu belassen. Damit haben Sie jederzeit die Möglichkeit auf schwarz zurückzustellen.
Der Befehl ScriptFunc.Color.SetCollection löst eine Zeilenschaltung aus und führt damit zu einer Leerzeile. Sie können das mit dem Befehl ScriptFunc.PageControl.FullBackFeed korrigieren.

Rechtecke und Raster

Die nachfolgend aufgeführten Befehle erlauben das Drucken von Rechtecken mit einem bestimmten Füllgrad (Graustufe in %). Der Druck erfolgt dabei relativ zur aktuellen Position. Mit Hilfe dieser Funktionalität lassen sich auch Raster erzeugen.
Befehl Beschreibung
ScriptFunc.Rectangle.FillLevel
Graustufe für den Füllgrad in %. Mögliche Werte: 0 - 100.
ScriptFunc.Rectangle.Width
Breite des Rechtecks in cm.
ScriptFunc.Rectangle.Heigth
Höhe des Rechtecks in cm.
ScriptFunc.Rectangle.RelMove
Relativer Versatz zur aktuellen Position.
Im Normalfall sollte es nicht notwendig sein, diesen Wert anzupassen.
ScriptFunc.Rectangle.Print
Ausgeben (Drucken) des Rechtecks.
Hinweis
Hinweis
Rechtecke bzw. Raster können nur in Graustufen gedruckt werden.
Beachten Sie, dass ohne Angabe der Position, der Druck des Rechtecks bzw. Rasters beim linken Rand beginnt.
Um mehrere Rechtecke nebeneinander zu platzieren, empfehlen wir die Verwendung der Befehle ScriptFunc.PageControl.PushPosition und ScriptFunc.PageControl.PopPosition.

Textposition

Die nachfolgend aufgeführten Befehle erlauben das Positionieren von Text unter Angabe der Werte (in cm) für die X- und Y-Achse.
Befehl Beschreibung
ScriptFunc.TextPos.XPosition
Textposition auf der X-Achse in cm.
ScriptFunc.TextPos.YPosition
Textposition auf der Y-Achse in cm.
ScriptFunc.TextPos.SetPosition
Setzen des Textes auf der angegebenen Position (X- und Y-Achse).

Bildposition

Die nachfolgend aufgeführten Befehle erlauben das Positionieren eines Bildes unter Angabe der Werte (in cm) für die X- und Y-Achse.
Die Positionierung erfolgt dabei von links oben Blatt, nach links oben Bild.
Befehl Beschreibung
ScriptFunc.PicPos.Picture
Pfad zur Bilddatei.
ScriptFunc.PicPos.XPosition
Position des Bildes auf der X-Achse (in cm).
ScriptFunc.PicPos.YPosition
Position des Bildes auf der Y-Achse (in cm).
ScriptFunc.PicPos.Width
Breite des Bildes in cm.
ScriptFunc.PicPos.Heigth
Höhe des Bildes in cm.
ScriptFunc.PicPos.SetPosition
Ausgeben (Drucken) des Bildes.
Hinweis
Hinweis
Um nach dem Ausgeben des Bildes wieder an die ursprüngliche Position zu gelangen, empfehlen wir die Befehle ScriptFunc.PageControl.PushPosition und ScriptFunc.PageControl.PopPosition.
Beispiel einer Demo-Ausgabe mittels des F-Scripts DEMO-LAYOUTS.FF. Die Ausgabe zeigt das Nutzen von verschiedenen Farben, Spalten-Layout, etc.
Demo_Layouts_lb.jpg

Debug

Die nachfolgend aufgeführten Befehle erlauben das die Ausgabe von PCL (Code) anstelle des Dokuments. Diese Funktion kann für das Debuggen genutzt werden.
Befehl Beschreibung
ScriptFunc.Function.ShowPCLCode.ON
Ausgabe von PCL (Code) anstelle des Dokuments.
ScriptFunc.Function.ShowPCLCode.OFF
Normale Ausgabe des Dokuments (Default).