`Vorangehender Teil`   /   `Fortsetzung` 

10.2	Die Exportsprache

Vorbemerkungen zu diesem Abschnitt

Es folgt jetzt, nach der Einführung in das Konzept, die systematische Erläuterung aller Elemente der allegro-Exportsprache. Die Reihenfolge dieser Elemente in einer Parameterdatei ist beliebig (bis auf die Liste der Kategorien), aber es ist wegen der Übersichtlichkeit günstig, sich an die hier gezeigte Einteilung zu halten bzw. die der Prototypen oder anderer Beispieldateien zu übernehmen.

Es gibt in einer Parameterdatei 

 •	5 Gruppen von `Basis - Parametern` (entsprechend den in 10.0.1 beschriebenen Ebenen), die man auch als Rand- oder Nebenbedingungen bezeichnen könnte (-Ø 10.2.1 - 10.2.5) . Ihre Setzung gilt für die gesamte Laufzeit, aber mit dem Steuerbefehl #b kann man einzelne Werte auch während der Abarbeitung zwischen zwei Datenfeldern verändern (siehe dazu -Ø10.2.6.4)

 •	Eine Liste von Konstanten, die sog. `Zwischenteile` (-Ø10.2.0). Das sind Zeichenketten, die aus Text-,  Interpunktions- und Steuerzeichen bestehen können. Jedes hat eine Nummer, und diese Nummern benutzt man in der Kategorieliste, um die zugehörigen Zwischenteile als "Versatzstücke" (oder "Vor- und Nachspann", meistens Interpunktionszeichen) zwischen die Kategorietexte zu plazieren

 •	als Kernstück die `Kategorieliste`, in der die Ausgabe jedes einzelnen Datenfeldes mit speziellen Befehlen, den `Anweisungen`, beschrieben wird (-Ø 10.2.6). Jede solche Anweisungszeile kann eine Anzahl von sog. `Manipulationsbefehlen` enthalten, die den Kategorietext vorbearbeiten. In der Kategorieliste können außerdem Bedingungsprüfungen, Wertzuweisungen, Berechnungen, Sprünge und Unterprogramme vorkommen.

Konventionen für Bezeichnungen

In der nun folgenden Beschreibung der Exportsprache gelten diese Bezeichnungen: 

	n	eine ganze Zahl >= 0 
	k	eine ganze Zahl zwischen 0 und 255 (ein "Byte-Wert") 
	z	eine ganze Zahl zwischen 0 und 99 (Nummer eines Zwischenteils) 
	x , y	einzelne druckbare Zeichen (Ziffern, Buchstaben, Sonderzeichen) 
	CS	eine `Steuerzeichenkette` ("character string") (Definition in 10.2.0) 
	#xxf	und #yyf	sind Kategorienummern; je nach Konfiguration hat sie 2, 3 oder 4 Ziffern, ein Folgezeichen f tritt nur bei mehrfach besetzten Kategorien auf, z.B. #31s
	X	eine Zeichenfolge "abc" in Anführungszeichen oder Apostrophen. Die Schreibweisen "abc" und 'abc' sind völlig gleichwertig, man kann es abwechselnd so oder so machen. Wenn allerdings darinnen ein Anführungszeichen vorkommt, muß man Apostrophe nehmen und umgekehrt. Ausgegeben wird nur, was zwischen den Anführungen steht. 
		Nicht-eingebbare Zeichen kann man mit \nnn kodieren, z.B. \31 für ² und \31\48 für ²0

Für jeden Basis-Parameter ist ein <Normalwert> (engl. "default") angegeben. Dieser wird vom Programm automatisch angenommen, wenn der betreffende Parameter in der Datei nicht vorkommt. Das Zeichen '*' bei einem Normalwert bedeutet, daß dieser Parameter keine Wirkung auf den Zeilenumbruch, nur auf die Druckausgabe hat.

Achten Sie auf Groß- und  Kleinschreibung: für alle Befehle ist die im folgenden gezeigte Schreibung verbindlich.

Basis-Parameter  
Alle Basis-Parameter haben zweibuchstabige Namen. Der erste Buchstabe des Namens bezieht sich auf die Ebene, zu der der Parameter gehört (-Ø 10.0.1). Es gibt dazu jeweils eine englische Entsprechung, die man gleichwertig benutzen kann (d.h. statt z.B.  ae  kann man auch  re  schreiben): 

a	`Aufnahme-Parameter`				(record-related parameters)	(-Ø 10.2.1) 

s	`Seiten- oder Formularparameter`		(form-related parameters)	(-Ø 10.2.2) 

z	`Zeilen-Parameter`				(line-related parameters)	(-Ø 10.2.3) 

d	`Drucker- u. Codierungsparameter`	(printer-related parameters)	(-Ø 10.2.4) 

k	`allgemeine Kategorie-Parameter`						(-Ø 10.2.5) 

#	`Exportbefehle` stehen in Zeilen, die mit '#' oder '!' beginnen;	(-Ø 10.2.6) 
!	diese Befehle bilden die Kategorieliste = Liste der auszugebenden Kategorien mit Angaben für die Behandlung jeder einzelnen Kategorie
	Die Kategorieliste ist sozusagen das eigentliche Programm; nur diese Zeilen beschreiben wirklich Ausgabevorgänge oder stellen Anweisungen dar, die auf Daten angewendet werden.

Kommentare
 •	Jede Zeile, die mit einem Leerzeichen oder Tabulatorzeichen beginnt, wird vom Programm als Kommentar angesehen und übergangen. In die erste Zeile sollte man eine Kurzcharakteristik der Datei schreiben, weil diese Zeile in der Auswahlliste (-Ø 0.5) als Hilfe abrufbar ist. 
 •	In jeder Parameterzeile können nach den eigentlichen Parametern auch noch Kommentare stehen, abgetrennt durch mindestens zwei Leerzeichen oder Tabulatorzeichen (letzteres wird nicht empfohlen). Leerzeichen innerhalb von Anführungszeichen haben nicht diese Wirkung, d.h. dort sind mehrere erlaubt.

Parameter nachladen
	Wenn gewisse Parameter in mehreren Dateien immer gleich sind (vor allem die Codiertabellen, Zwischenteile oder Stopwörter), kann man diese zu einer eigenen Datei zusammenfassen, deren Namenstyp .cPT (standardmäßig also .APT) sein muß.
	Ist z.B. PRINTER.APT eine solche Datei, dann wird diese mit dem Befehl 
tPRINTER
	den man in eine andere Parameterdatei schreibt, nachgeladen, d.h. zu der betreffenden Datei hinzugenommen. 
	Genauer: Es können mehrere t-Befehle an beliebigen Stellen innerhalb einer Parameterdatei vorkommen, um mehrere Standardteile in eine Datei einzubeziehen, so als stünde deren Text an derselben Stelle.

Die Datei PRINTER.cPT hat eine Sonderbedeutung: man kann sie als Druckertreiber bezeichnen. Mitgeliefert werden die Tabellen  P-EPSON.APT, P-NECP2.APT, P-DESKJET.APT und P-LEER.APT. Wenn man im CockPit über den Menüpunkt "Optionen / Drucker" eine dieser Dateien auswählt, wird sie auf den Namen PRINTER.APT umkopiert. Sie enthalten Zwischenteile mit den Nummern 79-99, die zur Druckersteuerung gedacht sind. Wenn man diese Zwischenteile konsequent verwendet, kann man Parameterdateien schreiben, die weitgehend druckerunabhängig sind. Anpassungen an andere Drucker sind nicht schwierig, denn die genannten Tabellen sind kommentiert. 
Hinweis: Prototyp P-0.APT enthält eine Tabelle aller Zeichen des OSTWEST-Zeichensatzes. Diese Datei kann man als Vorlage für einen neuen Druckertreiber nehmen.

Wie wird eine Parameterdatei abgearbeitet?

Eine Parameterdatei wird immer als Ganzes eingelesen und bleibt dann geladen - bis zum Ende des Programmlaufs oder bis man mit F2 oder Sh+F4 eine andere anfordert (-Ø 1.5). Dabei werden die Basisparameter und Zwischenteile registriert. Für jeden konkreten Exportvorgang wird dann die Kategorieliste durchgearbeitet (-Ø 10.2.6, dort wird in allen Details erläutert, wie das abläuft). Mittels des Kopfbefehls ak (-Ø 10.2.1) können je Aufnahme mehrere Durchläufe mit jeweils unterschiedlichen Startpunkten (= Sprungmarken) in der Kategorieliste veranlaßt werden.
Die Abarbeitung konkreter Parameterdateien oder einzelner Teile davon wird an vielen Stellen auf unterschiedliche Art ausgelöst. Automatisch passiert es, wenn über den Index eine Aufnahme angefordert wurde: um sie anzuzeigen, wird die (vorher geladene) Anzeigeparameterdatei durchgearbeitet. Drückt man F7, wird die (ebenfalls geladene) Indexparameterdatei abgearbeitet und die zur Aufnahme gehörigen Registereinträge dann angezeigt. Drückt man F4, wird die (ebenfalls geladene) Exportparameterdatei abgearbeitet und der Datensatz auf diese Weise ausgegeben. Die Programme SRCH, IMPORT und INDEX benutzen die jeweils für ihre Aufgaben angeforderten Parameterdateien vollautomatisch, um ihre Produktion durchzuführen. Im Detail jedoch spielen sich immer die gleichen Dinge ab, nur mit unterschiedlichen Randbedingungen.

10.2.0  Zwischenteile

Ein Zwischenteil ist eine Zeichenkette, die bei der Druckaufbereitung zwischen einzelne Kategorien eingefügt werden soll, z.B. die Zeichenkette " . - " als Interpunktion zwischen bestimmten Teilen der bibligraphischen Beschreibung. Es können 128 solche Zwischenteile (Nummern 0 bis 127) vom Programmbenutzer definiert werden (Windows-Programm a99: 400), und jedes davon kann als Präfix vor bzw. als Postfix hinter jeder auszugebenden Kategorie eingesetzt werden (-Ø 10.2.6) 
Man könnte auch von Textbausteinen oder Textkonstanten sprechen, da es sich um beliebige Zeichenketten handelt, die an jeder Stelle in einen Ausgabetext eingefügt werden können und mehrfach verwendbar sind. 

	So definiert man ein Zwischenteil: 

z=CS

	z	ist eine Zahl zwischen 1 und 128 (0 ist reserviert für die leere Zeichenkette und darf nicht umdefiniert werden). 
		Für die Windows-Programme sowie avanti und acon ist die Grenze 400.
	CS	ist eine `Steuerzeichenkette` (siehe unten) 

Die Zwischenteil-Definitionen können in der Parameterdatei in beliebiger Reihenfolge und an beliebiger Stelle stehen, auch am Ende: jede Parameterzeile, die mit einer Zahl beginnt, wird als Definition eines Zwischenteils angesehen. Empfohlen wird, alle Zwischenteile zusammenhängend und in aufsteigender Folge zu schreiben.
Wenn eine Parameterdatei eingelesen wird, so liest das Programm sie zunächst bis zum Ende durch und registriert alle Zwischenteile. Daraus folgt: Wenn man eine Nummer in der Parameterdatei mehrfach definiert, gilt nur die letzte Angabe. 
Achtung: Die Zwischenteile sind Konstanten, es ist nicht möglich, Zwischenteile während des Programmlaufs zu ändern, indem man etwa Definitionszeilen zwischen die Exportbefehle schreibt. 
Für variable Textelemente sind die Nutzervariablen da.
Jedoch kann man vom Editor aus die Werte der Zwischenteile anzeigen lassen und auch zum Testen interaktiv ändern (Befehl #p, -Ø 10.3.1). 
	
Sie finden im folgenden einige Beispiele, weitere natürlich in den mitgelieferten Parameterdateien.

Steuerzeichenketten (Character Strings)

Dies ist ein Konzept zur Darstellung von gemischten Zeichenketten, das für Zwischenteile und Basis-Parameter (-Ø 10.2.1-5) gleichermaßen anwendbar ist.
Für das Symbol CS kann in den oben und nachfolgend beschriebenen Parametern jeweils eine Zeichenkette eingesetzt werden, die formal so aussieht:
    z1 z2 z3 ... zn
Für jedes dieser beliebig vielen zi, getrennt durch jeweils genau ein Leerzeichen, kann eines der drei folgenden Elemente stehen: 

  a)	eine Zahl zwischen 0 und 255   (also ein Byte-Wert, dezimal angegeben) 
  b)	eine Kette druckbarer Zeichen, zwischen Anführungsstriche bzw. Apostrophe eingeschlossen. Darin kann ein Apostroph bzw. Anführungszeichen vorkommen, also z.B. "abc'def'ghi", oder auch umgekehrt:  'abc"def"ghi', aber nicht "abc'def"ghi'. Das gilt überall da, wo druckbare Zeichenketten anzugeben sind, also auch bei den Manipulationsbefehlen (-Ø 10.2.6.3). 

	Direkt hinter a) bzw. b) kann ein Wiederholungsfaktor mit '*' angeschlossen werden, z.B. ist "`--"*20  dasselbe wie 40 Bindestriche. Das erste Zeichen hinter " wird nicht vervielfältigt.

  c)	ein Strukturbefehl mit den Steuerzeichen  & %% # $ h s t C N K  (siehe nächste Seite) außerhalb von Anführungszeichen.

Eine Steuerzeichenkette wird wie folgt abgearbeitet:  

 •	eine Zahl wird als ein Byte an die Ausgabe übergeben
	(mehrfach, wenn ein Wiederholungsfaktor angeschlossen ist) 
	Wichtig: bei der Zeilenlängenberechnung für den Umbruch zählen diese Bytes nicht mit.
	Die Zahlencodes werden normalerweisen nicht auf den Bildschirm ausgegeben, sondern nur auf Datei oder Drucker. Mit dx=1 erreicht man, daß sie auch für die Bildschirmausgabe benutzt werden. Das ist notwendig, wenn man ANSI-Steuersequenzen für Bildschirmattribute einbauen will (Beispiele in COLOR.APR, -Ø 10.2.4). 

	Sonderfälle:		Die Zahl 0 wird auch als Code 0 ausgegeben (d.h. sie ist kein Sonderfall) 
					Die Zahl 13 in einem Zwischenteil bewirkt einen Zeilenumbruch (wie 'C'). Unter DOS wird die Kombination 13 10 ausgegeben, unter UNIX nur 10. 

 •	die Zeichen zwischen Anführungszeichen werden in den laufenden Text eingebaut (mit Umbruchbehandlung, wenn zl>0), ggfls. mehrfach hintereinander, falls ein Wiederholungsfaktor folgt. 
	Sonderfall: (C-Programmierer, aufgepasst!)  die leere Zeichenkette ""  bedeutet: Ausgabe entfällt, d.h. es wird kein einziges Zeichen ausgegeben, auch kein Code 0. Der Code 0, siehe oben, ist ein Zeichen wie andere auch (ein Byte mit dem Wert 0). Sinnvoll ist die leere Zeichenkette bei bestimmten Basisparametern wie z.B. as oder ke (-Ø 10.2.1...).   Zwischenteil 0 hat automatisch diesen Wert, d.h. man braucht nicht  0="" zu schreiben. 

 •	Strukturbefehle werden ihrer Bedeutung entsprechend ausgeführt (siehe unten).
	Wenn z.B. der Befehl %%86 kommt, wird für den nachfolgenden Text bis zum Ende der Aufnahme oder einem weiteren %%-Befehl mit einer Zeilenlänge von 86 Zeichen gearbeitet.

Der ASCII-Code 0 hat in allegro-Grunddateien die Funktion "Feldende" (-Ø 0.2.2). Wenn man also Grunddateien erzeugt, wird dieser Code gebraucht. Das kommt in den Dateien des Typs I vor, z.B. I-1.APR. 
Das Wichtige am Konzept der Steuerzeichenkette ist, daß sie Steuerzeichen und druckbare Zeichen in beliebiger Mischung enthalten kann. Das ermöglicht eine flexible Druckersteuerung, Farbumschaltungen in der Bildschirmanzeige (Beispiele siehe unten), eine freie Positionierung im Druckbild, Änderung von Umbruchparametern mitten im Text und zudem die Einschaltung jeder gewünschten Interpunktion und anderer Elemente in den Text. Nur die druckbaren Zeichen innerhalb "..." werden beim Zeilenumbruch berücksichtigt. 

Strukturbefehle :  &  %%  #  $  h  s  t  C  N  K  J

Diese dienen u.a. zur Änderung von Grundparametern während der Ausgabe. Jeder Bestandteil zi einer Steuerzeichenkette kann ein solcher Strukturbefehl sein.
Einschränkung: Die Befehle  & %% # $ s  können nur in Zwischenteilen, nicht in Basisparametern vorkommen. Oder anders ausgedrückt: in Basisparametern dürfen nur die Buchstabenbefehle vorkommen.
Beispiele für die einzelnen Befehle: (beachten Sie: keine Leerzeichen zwischen Befehlszeichen und den zugehörigen Zahlenwerten) 
Achtung: die ersten 4 sind nicht anwendbar, wenn  zl=0  gesetzt ist
&18	Tabulatorsprung auf Position 18 der laufenden Zeile; Achtung: wenn die aktuelle Zeile zum Zeitpunkt dieses Befehls schon länger ist, wird der Teil ab Position 18 überschrieben. Zeilenanfang: &1 . 
%%100	Umstellung der Zeilenlänge (Parameter zl) auf 100 Zeichen (max.120). Dabei zählt die Einrückung mit:
#10	Änderung der Einrückung (zi) auf 10 Zeichen ab der nächsten Zeile; wirksam nach dem nächsten Zeilenvorschub. Wenn die Einrückung größer ist als die aktuelle Zeilenlänge (z.B. #250), wird sie auf die aktuelle Cursorposition eingestellt. Dadurch kann die Einrückung variabel gestaltet werden.
	Einrückung abschalten: #0. 
$4,30	Positionierung auf Zeile 4, Zeichen 30 ($ allein : HOME-Position = $0,0) d.h. es wird anschließend auf dieser Stelle weitergedruckt, wobei die aktuelle Einrückung berücksichtigt, d.h. zu 30 addiert wird. Damit hat man Möglichkeiten zur Gestaltung von Formularen. Die zweite Zahl kann fehlen, wenn die Anfangsposition der Zeile anzusteuern ist, also z.B. $4 statt $4,0 .
	Der Strukturbefehl $ ist auch für folgenden Fall geeignet: man will mehrere kurze Angaben (Signatur, Notationen etc.) am linken Rand der Karte unterbringen und den eigentlichen Text mit einer gewissen Einrückung daneben. Dann definiert man z.B. ein Zwischenteil  35=%%10 #0  und setzt dieses als Präfix vor die betr. Kategorie (z.B. #90). Vor die nächste Kategorie, die dann wieder auf der oberen Zeile, aber eingerückt erscheinen soll, setzt man z.B. das Präfix  36=%%56 #15 $.  Dieses bewirkt, daß die Zeilenlänge auf 56 eingestellt wird und die Einrückung auf 15, und der nachfolgende Text beginnt dann in der ersten Zeile und läßt die links schon stehenden Angaben unberührt, da die Einrückung ein Überschreiben verhindert. Nebenwirkung: Wenn man $ benutzt, wird die Einrückung auf 1 gesetzt, falls sie auf 0 steht.
h0	Hierarchie-Code 
	Eine Hauptaufnahme (Stufe #00) hat den Hierarchie-Code 1, auf Stufe #01   ist es der Wert 2, usw. Dieser Code wird an der aktuellen Schreibposition ausgegeben, sobald der Strukturbefehl h kommt. Folgt dem h eine Zahl ungleich 0, so wird der Hierarchiecode auf diese Zahl aufaddiert. Z.B. würde h47 bewirken, daß statt des Byte-Wertes 1 der Wert 48 ausgegeben wird, und das ist der ASCII-Wert der Ziffer '0'.
	(Benötigt wird dieser Strukturbefehl hauptsächlich für Exporte in andere Formate, aber auch für das Grundformat: siehe dazu I-1.APR und S-*.APR)
t29	Verschachtelung : Zwischenteil Nummer 29 wird in das aktuelle Zwischenteil eingebaut. Das ist z.B. nützlich, wenn man z.B. Steuersequenzen für Drucker oder Bildschirm (Schriftart- bzw. Farbumstellung) in mehreren Zwischenteilen benötigt. Man legt diese Sequenzen dann auf bestimmte Nummern und verwendet sie an beliebiger Stelle mit Hilfe dieses Strukturbefehls.
s4	Basisparameter ks (-Ø 10.5.2) ändern. Von diesem Punkt ab werden die Kategorietexte ab dem 4-ten Zeichen ausgegeben, bis ein neuer s-Befehl kommt oder der nächste Satz bearbeitet wird (dann wird der Parameter ks auf den Ausgangswert zurückgesetzt). 

Sondercodes:

C	Zeilenvorschub ("Carriage Return", in Zwischenteilen gleichwertig mit dem Code 13). 
	Sobald dieser Code auftritt, wird eine neue Zeile begonnen. Anstelle des 'C' wird der Wert des Parameters ze ausgegeben (Zeilenende-Steuerzeichen -Ø 10.2.3). 

N	Neue Seite : Sobald dieser Code auftritt, wird eine neue Seite begonnen, was eine komplizierte Aktion ist: es wird zuerst der Fußabschnitt ausgeführt, dann der Parameter sv ausgegeben, dann der Kopfabschnitt ausgeführt, und dann der Export fortgesetzt (-Ø 10.2.6.5.3). Ab Version 12.2 wirkt dieser Befehl bei Kartendruck als Startbefehl für eine Fortsetzungskarte. 
	Ansonsten ist der Seitenumbruch ein völlig automatisch ablaufender Vorgang, den man durch die Parameter z1, z2, zm, sz und den selbstdefinierten Fußabschnitt beeinflussen kann. Der Code N braucht nur dann benutzt zu werden, wenn an einer bestimmten Stelle ein Seitenumbruch erzwungen werden soll.

K	Nummer der Fortsetzungskarte. Sinnvoll ist dieser Befehl praktisch nur in dem Grundparameter fa (-Ø 10.2.2, Beispiel siehe dort), um an bestimmter Stelle eine Kartennummer anzubringen. 

J	Register-Präfix : Der Wert i, der im letzten ak-Befehl  ak=nn+Mi  gesetzt wurde, wird in der Form  |i hier eingesetzt. (i = 1,2,...,9,:,;)

Anmerkungen

 •	Zeilenlänge, Einrückung und Textbeginn werden automatisch auf die Werte zl, zi bzw. ks (-Ø 10.2.3/5) zurückgesetzt, jedesmal nachdem ein Satz fertig ausgegeben ist. Man muß also nicht mit einem eigenen Befehl in einem abschließenden Zwischenteil dafür sorgen, daß dies geschieht. 

 •	Sollte der Drucker durch eins der Zwischenteile in seiner Einstellung beeinflußt worden sein, so wird er nicht automatisch in den Normalmodus zurückgesetzt. Wenn man z.B. als letztes Datenelement ein Abstract (#98 oder #99) drucken und  dafür  den  Drucker auf Schmalschrift umstellen läßt, muß diese Einstellung (am besten durch das auf  #98  folgende Postfix) wieder rückgängig gemacht werden. Man kann auch in dem Parameter as, der vor der eigentlichen Druckausgabe dem Drucker übermittelt wird, die Normaleinstellung vornehmen, dann kann nichts schiefgehen.

 •	Die Reihenfolge der Strukturbefehle kann wichtig sein: z.B. könnte #50 %%76 nicht ausgeführt werden, wenn vorher die Zeilenlänge auf 45 steht; es müßte umgekehrt %%76 #50 heißen, sonst wirkt #50 nicht.

Beispiele für Zwischenteil-Definitionen und Steuerzeichenketten:
2=" / "		Leerzeichen, Schrägstrich, Leerzeichen
13=C "   "		Zeilenvorschub, dann drei Leerzeichen 
			(d.h. z1=C, z2="   " )  
67=C "ISBN "	Zeilenvorschub, dann "ISBN " 
18=0			Der ASCII-Code 00 (ein einzelnes Byte mit dem Wert 0) wird ausgegeben. Das ist zu unterscheiden von der "leeren Zeichenkette", die aus überhaupt keinem Zeichen besteht:
17=s0			Wenn dieses Zwischenteil benutzt wird: ab der nächsten Kategorie wird der gesamte Text, einschließlich '#' und Kategorienummer, ausgegeben. Manchmal wird für gewisse Kategorien auch deren Nummer gebraucht, dann ist das sehr nützlich.
88=27 52		<Escape> '4' (bewirkt Umschaltung auf Kursiv bei Epson-kompatiblen Druckern) 
			Vorsicht: 27 "4" würde auch gehen, aber die '4' würde in die Zeilenlängen-Berechnung einbezogen.

9=27 52 '"Anmerkung:" ' 27 53 27 103 
10=27 77
			Damit würde die Befehlszeile  #81 p9 P10  auf einem EPSON-Drucker dieses produzieren: 
			"Anmerkung:" Text der Kategorie #81 in Schmalschrift (wegen 27 103), die nachfolgende Kategorie würde wieder in Normalschrift erscheinen wegen 10=27 77 = Elite-Schrift.
			Weil man eine Menge ändern müßte, wenn man solche Dinge auf andere Drucker übertragen will, gibt es standardisierte Zwischenteile in den Dateien P-*.APT, den sog. Druckertreibern. Wenn man einen davon auf PRINTER.APT umkopiert und ihn dann mit dem Befehl tPRINTER in die Parameterdatei einbindet, kann man schreiben 
9=t88 '"Anmerkung:" ' t87 t81
			und erreicht mit #81 p9 p82 dasselbe, aber druckerunabhängig. Benutzt sind hierbei die Zwischenteile 88 (Kursiv ein), 87 (Kursiv aus), 83 (Schmalschrift) und 82 (Normalschrift) definiert mit den Codes für den jeweiligen Drucker. Siehe auch Anmerkung unten.
43="-.-"*5		erzeugt die Folge "-.-.-.-.-.-"
31=&10 "("		Sprung auf Position 10 und dort Ausgabe des Zeichens '('  
71=27 91 49 59 51 49 59 52 55 109 
			"ANSI"-Befehl für Farbumschaltung: rot (1) auf weiß (7) (= Esc[1;31;47m ) 
77=27 91 49 59 51 55 59 52 52 109 
			... weiß(7) auf blau(4)  (Esc [1;37;44m , siehe D-1.APR für die anderen Farbcodes)
			Achtung: wenn man 77=27 "[1;37;44m" schreibt, bewirkt das dieselbe Farbeinstellung, aber die Zeichen in ".." werden beim Umbruch mitgerechnet, es passen weniger Zeichen in die Zeile. 
			Zu den Farbcodes Siehe auch -Ø Anh. A.3 (Grundeinstellung der Farben in der CFG) 

26=$1,60 t71 " <Signatur:> " t77 
			Positioniere auf Zeile 1, Zeichen 60, gib in rot auf weiß den Text " <Signatur:> " aus und schalte auf weiß auf blau zurück.
			(Man sieht hier, daß gerade die Farbumschaltungen ein gutes Beispiel für solche Zwischenteile sind, die man mit dem t-Befehl in andere Zwischenteile einbauen kann.)
ae="99 ENDE" 0 13 10
			schreibt ans Aufnahme-Ende beim Export die Kategorie "99 ENDE" und setzt korrekt den Code 0 sowie 13 und 10 dahinter, wie es bei einer Ausgabe im .ALG-Format sein muß.
22=". " #250 C
			Es wird ein Punkt mit Leerzeichen dahinter gemacht. Dann wird die Einrückung auf die Position auf die aktuelle Position, also das Zeichen hinter dem Leerzeichen gestellt und in die nächste Zeile gegangen. Dort beginnt der nachfolgende Text auf der gerade vorher eingestellten Position. Der Rest der Aufnahme wird mit dieser Einrückung ausgegeben, wenn nicht ein weiterer #-Befehl folgt. Vor Beginn der nächsten Aufnahme wird der Wert wieder auf zi gestellt.

Druckertreiber: Die Nummern 79 - 99 sind in den mitgelieferten Parameterdateien für die Einstellung von Druckattributen vorgesehen, z.B. 99 = Fettschrift ein, 98 = Fettschrift aus usw. Es handelt sich um die Dateien P-EPSON.APT, P-NECP2.APT usw., die sog. "Druckertreiber". Über CockPit μo d wählt man davon einen aus, der dann auf PRINTER.APT umkopiert wird. Mit dem Befehl tPRINTER bindet man dies ein in die .APR-Datei, wo die Nummern benutzt werden sollen. Es genügt dann, in der Kategorieliste z.B. etwas wie #xx p99 P98  zu schreiben, damit #xx fett gedruckt wird. So gestaltet man Parameterdateien druckerunabhängig.
Die Dateien P-*.APT sind unabhängig von der Konfiguration, d.h. man kann sie ohne weiteres z.B. auf .MPT umkopieren und hat damit die entsprechenden Druckertreiber für M.CFG.
Die Nummern 71 - 78 werden meistens für Bildschirmfarben benutzt (siehe D-1.APR). In Druckparametern würden diese stören, auch bei Ausgabedaten für Windows oder UNIX.
Dieses Konzept der Codierung von Schriftattributen erstreckt sich auch auf die Ausgabe von Daten für andere Oberflächen. Es gibt die Pseudo-Druckertreiber  ad-htm.apt  für HTML-Codierung (Einsatz an WWW-Schnittstellen) und  ad-rtf.apt  für Windows-RTF-Ausgabe (Einsatz in a99/alcarta). Dabei gelten dieselben Nummern wie für die Druckausgabe, z.B. steht dann in ad-htm.apt für das Ein- und Ausschalten der Fettschrift: 99="<b>" und 98="</b>", in  ad-rtf.apt  steht 99="{\b " und 98="}". Der Vorteil: Hat man Parameter mit diesen einfachen Konventionen entwickelt, kann man sie leicht für andere Umgebungen umschreiben - es muß kaum mehr getan werden als eine andere .APT einzusetzen. 

`Vorangehender Teil`   /   `Fortsetzung` 

?Vorangehender Teil=h ac10-1 
?Fortsetzung=h ac10-3 
?Zwischenteile=h ac10-2=10.2.0  Zwischenteile 
?Kategorieliste=h ac10-5=Kernprogramm 
?Manipulationsbefehlen=h ac10-6 
?Anweisungen=h ac10-5=10.2.6.1   Anweisungen 
?Basis - Parametern=h ac10-2=Basis-Parameter 
?Aufnahme-Parameter=h ac10-3 
?Zeilen-Parameter=h ac10-4 
?Drucker- u. Codierungsparameter=h ac10-4=10.2.4 
?Seiten- oder Formularparameter=h ac10-3=Formular- 
?allgemeine Kategorie-Parameter=h ac10-5 
?Exportbefehle=h ac10-5=Kernprogramm 
?Steuerzeichenkette=h ac10-2=Steuerzeichenketten