Dateiausgabe


***Datei BESTAND.TXT

gibt den Dateinamen an, wo das Ergebnis abgespeichert werden soll. Der Dateiname gilt bis zum nächsten ***Datei -Befehl. Wenn eine Datei geschrieben wird, wird eine ggf. bestehende Datei gleichen Namens überschrieben. Der gleiche Dateiname darf daher nicht mehrmals verwendet werden.

Im Editor führt ein Doppelklick zum Öffnen der entsprechenden Ausgabedatei in einem weiteren Editorfenster.


***Tabdatei ALLEXLS.TXT

gibt wie ***Datei den Dateinamen an. Jedoch werden in einer "Tabdatei" mehrere Leerzeichen hintereinander in ein Sonderzeichen, standardmäßig das Tabulator-Zeichen (ASCII-Zeichen Nr. 9), umgewandelt. Dies ermöglicht Ihnen, eine solche Textdatei in Excel, StarCalc oder ein anderes übliches Tabellenkalkulationsprogramm zu importieren. Achten Sie aber darauf, dass die Spalten im Skript breit genug sind, so dass auf jeden Fall mindestens zwei Leerzeichen zwischen zwei Spalten frei bleiben, andernfalls erscheinen beide Zahlen in derselben Zelle der Tabellenkalkulation.


***Separator ; ***Tabdatei DATEN.CSV

ersetzt das standardmäßige Tabulatorzeichen durch ein beliebiges Zeichen. Dieses können Sie hinter "***Separator" entweder direkt eingeben oder den ASCII-Code in Dezimalschreibweise eingeben. Für Hexadezimalschreibweise schreiben Sie ein Dollarzeichen $ davor.

Alternativ können Sie auch "***Formatieren aus" eingeben und das Separatorzeichen direkt ins Skript schreiben:


[Knum];[Saldo];"[Text]"

Besondere Dateinamen


***Datei NUL

schreibt gar keine Datei. Technisch gesehen wird nicht ins NUL Device des Betriebssystems geschrieben, sondern überhaupt nichts geschrieben.


***Datei BLAU ***Datei ROT

lenkt die Datenausgabe um in das blaue Meldungsfenster bzw. in das rote Fehlerfenster des TEXTBUCH Hauptfensters. Bei der Kommandozeilenversion führen beide Varianten zur selben Bildschirmausgabe.


***Datei CON ***Datei PRN

Das Dateisystem kennt besondere Dateinamen, die Geräte darstellen. CON (Console) bedeutet Bildschirm, PRN (Printer) ist der Drucker. Wenn Sie in Skripten CON bzw. PRN als Dateinamen angeben, wird die Datenausgabe nicht auf eine Textdatei, sondern direkt auf den Bildschirm bzw. auf den Drucker geleitet. Besonders praktisch ist das für die Berechnung von Salden zwischendurch zur Kontrolle der Bestandskonten:


***Datei CON ***Konto K, M, P Salden wichtiger Bestandskonten [Saldo] [K] [Text]

Die Ausgabe CON ist nur bei der Kommandozeilenversion möglich.


***Wordstardatei Allekont.ws

erzeugt wie "***Datei" eine Textdatei, jedoch im Wordstar 4 (DOS) bzw. Write&Set Format.

Unterdrücken der Dateiausgabe

Unter Umständen kann es sinnvoll sein, Berechnungen von Zwischenergebnissen gar nicht in die Ausgabedatei zu schreiben. Um in Skripten die Datei-Ausgabe aus- und wieder einzuschalten, werden die folgenden Befehle verwendet:


***aus


***ein

Ein deutlicher Geschwindigkeitsgewinn ergibt sich, wenn der Abschluss aller Konten in dieser Weise "eingeklammert" wird: Die technische Funktion der Kontenabschlüsse bleibt erhalten, die Datei ALLEKONT.TXT bleibt aber leer:


***Datei ALLEKONT.TXT ***aus ***alle Konten [Konto] ***ein ***Datei BILANZ.TXT

Zeilen in Ausgabedatei übernehmen, ohne sie zu interpretieren

Wenn Sie eine Zeile, die Skript-Befehle enthält (Stern-Kommandos, Variablen), uninterpretiert in die Ausgabedatei übernehmen wollen, dann dürfen Sie die ganze Zeile in Gänsefüßchen setzen:


" [K] [Text] Hier wird nichts interpretiert!"

Die Zeile wird ohne Gänsefüßchen in die Ausgabedatei übernommen. Aber nur dann, wenn wirklich nur am Anfang und am Ende ein Gänsefüßchen steht und dazwischen keines. Die Funktion dient dazu, TEXTBUCH-Befehle in die Ausgabedatei zu transferieren. Davon wird beispielsweise bei der automatischen Erzeugung von Afa-Buchungssätzen (siehe AFA.SKT) Gebrauch gemacht.

Klammern in Ausgabedatei übernehmen, ohne sie zu interpretieren

TEXTBUCH Skripte interpretieren eckige Klammern, geschweifte und spitze Klammern. Sollen derartige Klammern in der Ausgabedatei ausgegeben werden, so werden sie in Gänsefüßchen gefasst:


"["XXXXX"]" "<"XXXXX">" "{"XXXXXX"}"

In der Ausgabedatei erscheinen sie dann ohne die Gänsefüßchen.

Zeichensatz der Ausgabedatei


***Zeichensatz ***Zeichensatz WIN ***Zeichensatz IBM ***Zeichensatz UTF8 ***Zeichensatz HTML

Mit "***Zeichensatz" wird der Zeichensatz für Datenausgabe bei Skripten festgelegt. Standardwert ist unter Windows WIN und unter OS/2 / eComStation/ArcaOS IBM. "***Zeichensatz" ohne weitere Parameter setzt den Standardwert. Der eingestellte Wert gilt solange, bis er wieder per Skript-Befehl verändert wird, d.h. auch über mehrere Ausgabedateien hinweg. Beginnt ein neues Skript, so wird wieder auf den Standardwert zurückgestellt.

Zeilenenden der Ausgabedatei

Üblicherweise werden bei PCs Zeilenenden von Textdateien mit dem Dezimalcode 13-10 dargestellt. Unter Unix und bei Macintosh wird ein anderer Code verwendet. Sie können den Standardwert (PC) abändern:


***Zeilenende PC ***Zeilenende UNIX ***Zeilenende MAC

Bei UNIX wird nur das Zeichen dezimal 10 verwendet, bei MAC nur das Zeichen dezimal 13.

Vereinfachte Erzeugung von HTML oder XML Code

Im folgenden werden zwei Skript-Befehle beschrieben, die Ihnen das Erstellen von HTML Code per TEXTBUCH Skript wesentlich erleichtern. Der folgende Text ist für Sie nur von Interesse, wenn Sie Textausgaben im Dateiformat HTML oder XML erzeugen möchten. (HTML ist das Dateiformat von Internet-Seiten.)

Um eine Ausgabedatei im HTML- oder XML-Format zu erzeugen, können Sie den gewünschten HTML Code direkt in das Skript eingeben. Die spitzen Klammern werden in Textbuch nicht weiter verwendet (mit Ausnahme der Elementvariablen, diese dürfen nicht gleichzeitig mit HTML Code verwendet, sondern müssen vorab in Freie Variablen umgewandelt werden).

Um Ihnen die Arbeit zu erleichtern, dürfen Sie in TEXTBUCH Skripten zwei Hilfsmittel zum Schreiben von HTML Code verwenden: Das automatische Konvertieren von Umlauten in die HTML-Schreibweise sowie das Umwandeln von Zahlenkolonnen in HTML Tables. Das folgende Beispiel einer typischen Skript-Ausgabe soll im Ergebnis wie folgt aussehen:


Endbestände der Kassenkonten: 1001 309,97 Kasse bei Meier 1002 79,50 Kasse bei Huber 1003 370,31 Kasse bei Schmidt

Das gewöhnliche Skript zum Erzeugen der Ausgabe als Textdatei sieht wie folgt aus:


Endbestände der Kassenkonten: ***alle Kassenkonten [Knum] [Saldo] [Text]

Dieselbe Ausgabe für HTML sieht wie folgt aus:


***Zeichensatz HTML Endbestände der Kassenkonten:<br> ***HtmlTable ein ***alle Kassenkonten [Knum] [Saldo] [Text] ***HtmlTable aus ***Zeichensatz

Damit der Umlaut "ä" korrekt in HTML wiedergegeben wird, muss in HTML "&auml;" geschrieben werden. Mit Hilfe von "***Zeichensatz HTML" erledigt das TEXTBUCH automatisch. Mit "***Zeichensatz" ohne Parameter dahinter oder mit dem Öffnen einer neuen Ausgabedatei können Sie diese Funktion wieder abschalten.

Um das Erzeugen von HTML Tabellen, der sog. Tables, zu vereinfachen, werden spaltenweise Ausgaben mit "***HtmlTable ein" automatisch in eine HTML Tabelle umgewandelt. Entscheidend ist hierbei, dass bei der normalen Textausgabe als Trenner zwischen zwei Spalten mindestens zwei Leerzeichen stehen. Sorgen Sie also dafür, dass zwischen den Spalten genügend Abstand gehalten wird, andernfalls schmelzen bei großen Zahlen die Spalten zusammen. TEXTBUCH macht aus dem obigen Code folgenden HTML-Code:


Endbest&auml;nde der Kassenkonten:<br> <TR> <TD align="right">1001</TD> <TD align="right">309,97</TD> <TD align="left">Kasse bei Meier</TD> </TR> <TR> <TD align="right">1002</TD> <TD align="right">79,50</TD> <TD align="left">Kasse bei Huber</TD> </TR> <TR> <TD align="right">1003</TD> <TD align="right">370,31</TD> <TD align="left">Kasse bei Schmidt</TD> </TR>

Absatzmarker

In HTML oder XML werden häufig Absätze mit bestimmten Befehlen "eingerahmt", z.B.


<b>fettgedruckter Text</b>

Stattdessen kann geschrieben werden:


***Absatzmarker <b>;</b> fettgedruckter Text

Der Vorteil dieser Schreibweise liegt nun darin, dass für jeden folgenden Absatz am Anfang <b> und am Ende </b> eingefügt wird. Ein Absatz wird hierbei als eine Gruppe mehrerer Ausbabezeilen verstanden, die entweder durch Leerzeilen oder durch Stern-Kommandos voneinander getrennt sind.

In Kombination mit freien Variablen wird es noch bequemer. Dies wird im Skript ebanz.skt (XML-Datei für den eBundesanzeiger) genutzt:


***VAR normal = Absatzmarker <A>;</A> ***VAR Überschrift = Absatzmarker <Zwischentitel Groesse="normal" Schrift="fett">;</Zwischentitel>

***[Überschrift] I. Allgemeine Angaben und rechtliche Grundlagen

***[normal] Der Bilanz liegen die Vorschriften des Handelsgesetzbuches über die Rechnungslegung von Kapitalgesellschaften sowie die ergänzenden Vorschriften des Aktiengesetzes zugrunde.

Das reguläre Geschäftsjahr der Gesellschaft umfasste den Zeitraum [FZEIT] bis zum [SZEIT].

Die automatisierte Schreibweise ist auch insoweit vorteilhaft, als Sie sichergehen können, kein Anfang- oder Ende-Zeichen vergessen zu haben.

Um die Absatzmarker-Funktion wieder abzuschalten, wiederholen Sie den Skript-Befehl ohne Parameter:


***Absatzmarker

Unterdrückung von Return (Zeilenumbruch)

Der Textbuch-Editor zeigt und verarbeitet Zeilen nur bis zu 255 Zeichen pro Zeile. In seltenen Fällen, z. B. beim Datev-Export, kann es erforderlich sein, dass längere Zeilen verarbeitet werden müssen. Mit dem Stern-Kommando


***Return aus

wird bei der Datenausgabe bis zum nächsten Stern-Kommando kein Return-Zeichen (Zeilenvorschub) in die Ausgabedatei geschrieben. Mit "***Return ein" können Sie die Funktion explizit wieder aufheben.