18xx/PC - 18XX.EXE
18xx/PC V2.22g - Dirk Clemens - 2004-05-07
Seite 1
Homepage Start Neuigkeiten Download Hauptseiten Überblick 18xx Spiele kleine 1x8 18xx/PC Geschichte Links Index Programme Überblick 18xx.exe 18config.exe 18export.exe 18string.exe 18check.exe 18list.exe Varianten 18xx 1825 1826 1828 1829 1830 1835 1837 1839 1841 1842 1844 1847 1849 1851 1853 1856 1862 1869 1870 1895 1898 2038
Dieser Teil der Dokumentation wurde noch nicht überarbeitet und an das HTML Format angepaßt. Er liegt daher nur als reiner ASCII Text vor.
Das Programm '18STRING.EXE' übersetzt eine Textdatei mit Zeichenketten- definitionen in eine Zeichenkettendatei, die von '18XX.EXE' bnötigt wird. Aufruf: 18STRING [Definitions-Datei] [Zeichenketten-Datei] [+Sprachdefinition] [#Symboldefinitionen]... Alle Parameter sind optional (deswegen die eckigen Klammern). Die Sprach- definition und die Symboldefinitionen können an beliebiger Stelle stehen, da sie durch '+' und '#' eingeleitet und erkannt werden. Die beiden Dateinamen müssen in der angegebenen Reihenfolge eingegeben werden. Ein einzelner Punkt ist jeweils ein neutraler Platzhalter für die Dateinamen. #Symbole... Durch eine oder mehrere solcher Anweisungen werden Symbole definiert. Die Symbole werden mit dem Wert '0' definiert. Durch eine Zahl hinter einem ':' oder einem '=' (z.B. #Symbol:3) kann ein anderer Wert zugewiesen werden. Eine genaue Beschreibung der möglichen Symbole befindet sich weiter unten in dieser Datei. +Sprachdefinition Durch diese Option wird eine Sprachauswahl vorgenommen, genauso wie innerhalb Definitionsdatei mit dem Kommando '#LANGUAGE'/'#SPRACHE'. Ein genaue Beschreibung befindet sich in der Datei '18XX.STR'. Definitions-Datei Der Dateiname der Konfigurationsdatei. Voreingestellt ist die Datei '18XX.STR' im gleichen Ordner, in dem sich '18STRING.EXE' befindet. Zeichenketten-Datei Der Dateiname der zu erzeugenen Datei. Voreingestellt ist der Name der Definitionsdatei mit der Endung '.18S'. Der allgemeine Aufbau von Definitionsdateien ist in 'STREAM.DOC' beschrieben. Durch das Kommando '18STRING' ohne weitere Parameter oder durch '18STRING +d' erhält man eine deutschsprachige Version der Datei '18XX.18S'. Eine englisch- sprachige Version erhält man durch das Kommando '18STRING +e'. Die beiden Dateien 'GERMAN.18S' und 'ENGLISH.18S' sind durch die folgenden Kommandos erzeugt worden: 18STRING.EXE . GERMAN +d 18STRING.EXE . ENGLISH +e +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++||++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++||+++++ || Aufbau der Zeichenkettendateien || ++++||++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++||+++++ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Im folgenden wird der allgemeine Aufbau von Zeichenkettendateien und der spezielle Aufbau der Standard-Zeichenkettendatei '18XX.STR' beschrieben. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +---------------------------------------+ | Struktur der Zeichenkettendateien | +---------------------------------------+ Durch diese Datei werden Zeichenketten für textuelle Ausgaben des Programms '18xx.EXE' festgelegt. Hierdurch kann das Programm den verschiedenen Sprachen angepaßt werden. Teile der Datei können auch -- bedingt durch Symbole -- ausgelassen werden. Symbole sind Zeichenketten, die aus Buchstaben, Ziffern, und den Sonderzeichen '$', '_', '-' und '+' bestehen, wobei Großschreibung keine Rolle spielt. In Abhängigkeit dieser Symbole können verschiedene Teile ignoriert werden. Dazu dienen verschiedene Anweisungen, die alle mit einem '#' beginnen. Diese Anweisungen und mehr sind in der Datei 'STREAM.DOC' beschrieben. Hinzu kommt das folgende Kommando: '#SPRACHE' oder '#LANGUAGE ' Es werden nur Zeilen für die Textzuweisung beachtet, deren Schlüssel mindestens ein Zeichen aus 'Sprachen' enthält. Die anderen Zeilen werden kommentarlos ignoriert. Ist z.B. Sprachen als 'de' oder 'ed' definiert, dann werden sowohl Definitionen mit 'e' als auch mit 'd' verwendet. Der Text der zuletzt zugewiesen wird, wird dann verwendet. Anfangs ist 'Sprachen' normalerweise undefiniert. Sie kann aber auch durch die '+'-Option beim Programmaufruf vordefiniert werden. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +--------------------------+ | Einige Syntax-Regeln | +--------------------------+ Eine einzelne Zeile inklusive Kommentare darf nicht länger als 1000 Zeichen sein, mehrere Fortsetzungszeilen zusammen dürfen aber beliebig lang sein. Ein '!' leitet einen Kommentar bis zum Zeilenende ein. Eine '{' leitet einen Kommentar bis zum Zeilenende oder bis zur nächsten '}' ein. Kommentare werden durch ein Leerzeichen ersetzt. Durch '#IF 0' und '#ENDIF' lassen sich auch ganze Blöcke auskommentieren. Steuerzeichen (ASCII-Kode<32, z.B. TAB, ESC, CR, LF, FF, ... ) werden durch Leerzeichen ersetzt. Mehrfache Leerzeichen werden außerhalb von Zeichenketten (siehe unten) durch ein Leerzeichen ersetzt. Leerzeichen oder Tabulatoren am Zeilenanfang oder Zeilenende und auch ganze Leerzeilen werden ignoriert. Zeilen, die mit einem Graphikzeichen beginnen, werden ebendso ignoriert. Ein '\' als letztes Zeichen einer Zeile nach der Entfernung von Kommentaren leitet eine Fortsetzungszeile ein. Eine Basiszeile wird zusammen mit einer oder mehreren Fortsetzungszeilen wie eine Zeile betrachtet. Zeilen, die mit '#' beginnen, sind Steuerzeilen ('#IF', '#DEFINE', ...) oder definieren die Sprache ('#SRACHE', '#LANGUAGE'). Der Aufbau von Zeichenketten, Zahlen und numerischen Ausdrücken wird in der Datei 'STREAM.DOC' beschrieben. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +----------------------+ | Weitere Hilfen | +----------------------+ Wie schon erwähnt, werden durch diese Datei Zeichenketten für textuelle Ausgaben des Programms '18xx.EXE' festgelegt. Dazu enthält diese Datei Zeilen mit drei Zeichenketten in der Form: 'Schlüssel Index = Text' Die Zeile wird nur dann beachtet, wenn irgendein Zeichen aus 'Schlüssel' auch in der Sprachauswahl (siehe oben) definiert ist. Ist dieses der Fall, dann wird dem durch 'Index' spezifizierten Parameter der Text, der dem Gleichheitszeichen folgt, zugewiesen. Alle Parameter sollten durch diese Datei definiert werden. Bei mehrfacher Definition ist die jeweils letzte Definition gültig. ------------------------------------------------------------------------------- Einige Zeichenketten enthalten Parameter. Die Zeichenketten sind gemäß der Programmiersprache C aufgebaut. Parameter werden durch einen Texteinschub beschrieben, der mit einem '%' beginnt und mit einem Steuerbuchstaben endet. Soll das '%'-Zeichen selber dargestellt werden, so muß '%%' angegeben werden. Es existieren vier Arten von Parametern: I INTEGER 16-Bit Ganzzahl, Wertebereich: -32.768 .. +32.767 oder: 0 .. 65.535 L LONG 32-Bit Ganzzahl, W-b.: -2.147.483.648 .. +2.147.483.647 oder: 0 .. 4.294.967.296 F FLOAT Fließkommazahl S STRING Zeichenkette Bei den Integer-Zahlen sind die folgenden Steuerbuchstaben erlaubt: 'd' oder 'i' vorzeichenbehaftete dezimale Darstellung 'u' vorzeichenlose dezimale Darstellung 'o' vorzeichenlose oktale Darstellung 'b' vorzeichenlose binäre Darstellung 'x' oder 'X' vorzeichenlose hexadezimale Darstellung 'm' vorzeichenbehaftete dezimale Darstellung als Geldwert. Normalerweise werden nur 'd' und 'm' verwendet. Long-Zahlen haben den gleichen Aufbau wie Integer-Zahlen, nur unmittelbar vor dem Steuerbuchstaben befindet sich der Buchstabe 'l' (kleines 'L'). Fließkommazahlen werden für 18XX nicht benötigt und haben als Steuerbuchstaben 'e', 'E', 'f', 'g' oder 'G'. Zeichenketten haben als Steuerbuchstaben das Zeichen 's'. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Die einzelnen Ausgaberoutinen verwenden die hier angegebenen Zeichenketten und Stellen jeweils 0-n Parameter der Klassen INTEGER, LONG, FLOAT und STRING zur Verfügung. Normalerweise wird bei der ersten Verwendung einer Klasse der erste Parameter der Klasse verwendet und bei den nächsten Verwendung der nächste Parameter. Diese geschieht auch zyklisch. Möchte man aber einen bestimmten Parameter ansprechen, so muß hinter dem '%'-Zeichen eine Zahl gefolgt von einem ':' folgen. Die Zahl gibt dabei den Index des Parameters der jeweiligen Klasse an. Indizes laufen von '1' an aufwärts. Die zur Verfügung stehenden Parameter werden in der Form 'xn=Beschreibung' (z.B. I3=Papiere) angegeben. Die Bedeutung der Texte geht im allgemeinen aus den vorgegebenen Texte hervor. Beispiele: (mit konkreten Zahlen und Zeichenketten) Vorgaben: - I1=1, I2=2, I3=3, L1=11, L2=22, S1="Hallo" - Die Gelddefinition lautet: "Geld: #$" ('#' wird durch den Zahlenwert ersetzt) "Zahlen= %d %d %d %d %d%% Ende" --> "Zahlen= 1 2 3 1 2% Ende" Die Zahlen werden zyklisch dargestellt und die normalen Texte kopiert. Durch das '%%' wird ein '%' in den Ausgabetext eingefügt. "%d %3:d %2:d %d %d" --> "1 3 2 3 1" Durch das '2:' und '3:' wird ein spezieller Parameter ausgewählt. Die weiteren Zahlen werden wieder zyklisch dargestellt. "%d %ld %d %ld %d %ld %d %ld" --> "1 11 2 22 3 11 1 22" "%3:d %ld %s %d %ld %s" --> "3 11 Hallo 1 22 Hallo" Jede der vier Klassen wird unabhängig von den anderen betrachtet. "%m, (%lm)" --> "Geld: 1$, (Geld: 11$)" Und so werden Geldangaben erzeugt. "%d %f %d" --> "1 2" Eine Fließkommazahl steht bei diesem Beispiel nicht zur Verfügung und die Angabe '%f' wird daher ignoriert. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +----------------------------------------+ | In dieser Datei verwendete Symbole | +----------------------------------------+ Die Symbole 'SPRACHE' und 'LANGUAGE' sind genau dann vordefiniert, wenn beim Aufruf von '18xx-STR.EXE' die Option '+' verwendet worden ist. Durch diese Option können Sprachen voreingestellt werden. Durch die Kommandozeile können mittels '#' weitere Symbole definiert werden, wie z.B. '#NICHT-PRIVAT' oder '#NON-PRIVAT'. ------------------------------------------------------------------------------- Die Datei 'PRIVAT.STR' wird, falls vorhanden, vor der Parameterdefinition in dieser Datei aufgerufen. Dabei ist das Symbol 'BEFORE' definiert. Wird innerhalb von 'PRIVAT.STR' das Symbol 'PRIVAT' definiert, dann wird diese Datei ein zweites mal nach der Parameterdefinition in dieser Datei aufgerufen. Dabei ist das Symbol 'AFTER' definiert. Somit kann zwischen den beiden Aufrufen unterschieden werden. Ist eines der Symbole 'NICHT-PRIVAT' oder 'NON-PRIVAT' definiert, dann wird das jeweils andere der beiden auch definiert und die Datei 'PRIVAT.STR' wird auf keinen Fall aufgerufen.
Seite 1 Diese Seite wurde mit MakeDoc V3.22a erzeugt.
18xx/PC V2.22g - © Dirk Clemens - 2004-05-07
dc@18xx.de