`Vorangehender Teil`   /   `Fortsetzung` 

A.2	Abfrageliste

Für a99 wird empfohlen, statt dessen mit Formularen zu arbeiten. Dafür kann man eine Dokumentation "online" abrufen, wenn man im Schreibfeld "h form" eingibt. Mit 2 x Alt+y kann aber auch die Abfrageliste eingeschaltet werden! 

Diese Liste wird durchlaufen, wenn ein neuer Datensatz erfaßt werden soll (-Ø 3.2 und 1.5.4 Befehl 'I'). Sie kann aus mehreren Abschnitten (Abfragefolgen) für unterschiedliche Satztypen bestehen. 
Mit einem Typ-Befehl am Anfang der Liste steuert man die Benutzung der einzelnen Abschnitte: (nehmen Sie das Beispiel $A.CFG hinzu (-Ø A.4), dort kommt alles vor; auch $U.CFG ist als Beispiel gut geeignet.) 
 
Typ" 1 = ....   2 = ....  3 = .... x = Irrtum" 	Ä
	Typ-Abfrage. In der anschließenden Liste muß es dann Sprungmarken -1, -2   usw. für die verschiedenen Satztypen geben. (z.B. 1 = einbändige Monographie) 
	Diese Typabfrage dient nur dazu, einen bestimmten Teil der Abfrageliste anzuspringen. Gespeichert wird der Typ hierdurch nicht! Wenn man ein Typkennzeichen speichern will, kann man dies auf andere Art machen: siehe dazu unten : "Vergleichs-Sprung". 
	Ein Abschnitt für einen bestimmten Satztyp endet, wenn eine mit -x beginnende Zeile kommt. 
	Eine Abfrageliste kann mehrere Typabfragen verstreut enthalten. 
Achtung: eine Typzeile darf nicht umgebrochen sein (d.h. kein Zeilensprung), auch wenn sie sehr lang ist. Sie kann, fortlaufend geschrieben, bis zu 255 Zeichen lang sein. 
Mehrfach-Leerzeichen sind nur innerhalb der Anführungszeichen erlaubt, sonst entfällt der Rest der Zeile. 
Abfragezeilen haben folgende Formen:   (man beachte: kein '#' vorweg, nur die Nummer) 

xxf"Text"+M		Abfrage mit Sprungbefehl  (Ausführung nur, wenn etwas eingegeben wird) 
xxf"Text"abc<	Abfrage mit Vorgabe ('<' bewirkt: abc wird hier ohne <Enter> sofort übernommen) 
xxf"Text".		Abfrage mit Übernahme aus dem vorigen Datensatz 
	Dabei ist: xxf = Kategorienummer mit Folgezeichen (evtl. f = Leerzeichen). Wenn f das Zeichen '~' oder 'ú' ist, wird die nächste unbelegte Mehrfachkategorie von #xx genommen, falls #xx schon belegt ist. 
	"Text" = Hinweistext ("Prompt"), der bei der Abfrage von #xxf erscheinen soll, beliebige Länge. 
		•	Wenn "Text" mit ! beginnt, kommt man ohne Eingabe nicht aus der Zeile heraus, 
		•	wenn "Text" mit ? beginnt, wird man bei Leereingabe gefragt, ob man hier nichts eingeben will. (So programmiert man Pflicht- bzw. Hinweiskategorien.) Der Text zwischen den Anführungszeichen kann übrigens auch Mehrfach-Leerzeichen enthalten. Er darf aber nicht leer sein, sonst muß "" weggelassen werden. 
		Hinter "Text" steht entweder nichts oder:
	+M	= Sprungbefehl (M muß ein ASCII-Zeichen sein, kein Wort!)  oder:
	abc	= Zeichenkette, die als Vorgabe für die Kategorie xxf auf den Bildschirm geschrieben wird; 
		Wenn hinter abc ein '<' steht, wird die Vorgabe ohne <Enter> sofort übernommen; ohne '<' steht der Cursor hinter der Vorgabe abc , so daß man diese ergänzen oder ändern kann. 
		Wenn statt abc nur ein Punkt steht oder man einen Punkt eingibt, wird #xxf aus der vorigen Aufnahme übernommen. Man nutzt das so: Bevor man mit I in die Erfassung geht, holt man eine Aufnahme in die Anzeige, die möglichst viel Übernehmbares enthält. 
		Zwischen xxf und "Text " können ebenfalls noch Zeichen stehen. Die sind dann dem Bearbeiter zum Zeitpunkt der Abfrage nicht zugänglich und werden fest in die Kategorie übernommen. 
	Die Zeile mit +M bewirkt: wenn bei dieser Abfragezeile etwas eingegeben wird, dann geht es bei der 

-M	Sprungmarke -M weiter, sonst mit der nächsten Zeile der Abfrageliste. 
	Die Sprungmarke -M muß auf eigener Zeile stehen, ohne Leerzeichen dazwischen. 
	Wenn alle Zeilen abgelaufen sind oder eine Sprungmarke -x kommt, gelangt man in den normalen  Eingabe-/Befehls-/Bearbeitungszustand des Editors (Kap.3). 

+M	unbedingter Sprung : Wenn die Abfrageprozedur an diesen Punkt kommt, wird die Sprungmarke -M gesucht und es geht mit der darauf folgenden Zeile weiter. Die Sprungmarke darf oberhalb des Sprungbefehls stehen. Das bedeutet: wenn eine Sprungmarke doppelt vorkommt, wird immer die erste angesprungen, die zweite ist unerreichbar. 

="xyz"+M
	Vergleichs-Sprung : wenn bei der unmittelbar vorangehenden Abfrage  xyz  eingegeben wurde, geht es mit der auf die Sprungmarke -M folgenden Zeile weiter. 
	Beispiel:
	97 "Typ: "		Kat. #97 soll die Typenbezeichnung aufnehmen
	="a1"+i		a1  wurde eingegeben : Sprung nach  -i 
	="a2"+j		a2  wurde eingegeben : Sprung nach  -j 
	="b"+k			b   wurde eingegeben : Sprung nach  -k 
	=""+m			es wurde nichts eingegeben : Sprung nach  -m 
	+n 			in allen anderen Fällen : Sprung nach  -n

	Wenn also die Abfrage "#97 Typ: " mit "a1" beantwortet wurde, geht es bei Sprungmarke -i weiter, etc. 
	Hinter '=' ist jeweils der zu erwartende Eingabetext vollständig in "..." anzugeben. 
	Wenn man eine Typabfrage so gestaltet, wird also der Satztyp auch gespeichert (in diesem Fall in #97). 

=Fnr	Dateinummer für Speicherung
	Mit diesem Befehl kann man steuern, daß bestimmte Satztypen in bestimmte Dateien (.cLD-Dateien) zu speichern sind. Die nr kann von 1 bis 255 reichen. Am besten setzt man solche Befehle direkt hinter die Sprungmarke des betreffenden Satztyps (Beispiele siehe A.CFG, abgedruckt in A.4). 

Vergleichen Sie besonders zu den Standard-Abfragen die beiden mitgelieferten Dateien $A.CFG und $U.CFG sowie die Ausführungen in Kap.3. Beim Ausprobieren werden die Zusammenhänge schnell deutlich. 

Identnummern-Vergabe verhindern
Wenn ein bestimmter Satztyp keine Identnummern bekommen soll, baue man in den zugehörigen Abfrage-Abschnitt diese Zeile ein: 
#nn "nr.: "|9#xxx?3<
(wobei #nn die Kategorie für Identnummern ist, die mit Befehl cg festgelegt wurde (-Ø A.1.3), also normalerweise #00 oder #000.  #xxx ist keine erlaubte Kategorie, deshalb entsteht dann keine Nummer.) 

Schleifen in der Abfrageliste
Mit Einführung der Teilfeldtechnik entstand der Wunsch, wiederholbare Felder in einer Schleife abfragen zu können, für jedes einzelne Feld jedoch zwei oder mehr Teilfelder. Diese Möglichkeit wurde eingebaut. Da es auf viele Einzelheiten sehr genau ankommt, stellen wir drei Muster vor, wie solche Schleifen zu konstruieren sind. 
Wichtige Voraussetzung: Vor der Schleife muß mindestens ein Feld abgefragt werden, das in der Reihenfolge vor dem abzufragenden Mehrfachfeld steht. Aus internen Gründen funktioniert die Schleife nicht, wenn im Arbeitsspeicher noch keine Kategorie ist, die der abzufragenden vorausgeht. Also: als erstes eine Kategorie abfragen, die in der Ordnung weiter vorne steht, dann klappt es. 
Die zur Schleife gehörigen Zeilen müssen mit derselben Kategorienummer (evtl. plus Indikator) anfangen, die erste braucht nicht mit einem '?', die weiteren müssen mit zwei solchen Zeichen anfangen, denn daran erkennt das Programm, daß der eingegebene Text an die schon eingegebene Kategorie anzuhängen ist; das zweite '?' wird entfernt. 
Wenn ein Fehlerhinweis erscheint, diesen mit <Enter> wegdrücken, dann geht die Schleife weiter. 

Beispiel 1: Format ohne Indikator (t2, k4 : Konfiguration A.CFG) 

-A 
85 " Serie ; Band " 		erstes Teilfeld abfragen (das erste geht auch ohne Teilfeldkennung!)
=""+D				wenn nichts eingegeben wurde: Schleife verlassen
    ¯ wenn hier ein ² steht, wird der Inhalt als Teilfeld an die Kategorie angehängt!
85 ²² "  Körperschaft : "	2. Teilfeld     (Leerzeichen als Teilfeldkennung!) 
85 ²²i"          ISSN : "	3. Teilfeld     Teilfeld ?i wird auch noch angehängt
+A					zurück zum Schleifenanfang
-D					Fortsetzung hier, wenn Schleife durch Leereingabe beendet wurde. 

Beispiel 2: Ein Indikator  (t3, k6 : $D.CFG = MAB-Format) 
(Dieses Beispiel ist nur fingiert, denn MAB kennt keine Teilfelder, außerdem ist die #100 nicht wiederholbar.) 

-A 
100  ²a"  Nachname: "		Indikator ist ' ' (2 Leerzeichen hinter der 100 !)
="?a"+D				Es wurde nichts eingegeben (Kategorie besteht nur aus "?a")
      ¯ wenn hier ein ? steht, wird der Inhalt als Teilfeld an die Kategorie angehängt. Hier also ?b.
100  ²²b"  Vorname: " 
100  ²²c"    Datum: " 
+A 
-D 

Beispiel 3: Zwei Indikatoren  (t3, k7 : $U.CFG = MARC-Format, #600 = Personenschlagwort) 

-A 
600 10²a"  Personal name: "		Die Ziffern  '10'  sind als Indikatoren vorgegeben
="²a"+D					Es wurde nichts eingegeben (hinter ²a steht nichts) 
       ¯ In diesem Fall ist hier die Position für das zweite ?
600 10²²d"          Dates: " 
600 10²²x"    Subdivision: " 
+A 
-D 

In der CFG-Zeile für die betreffende Kategorie (#40, #100, #700) muß natürlich sichergestellt sein, daß die Kategorie überhaupt mehrfach besetzbar ist (d.h. wenn eine Angabe ?Mxxx vorhanden ist, darf xxx nicht leer sein). Automatisch erhalten dann die eingegebenen Felder die zulässigen Wiederholungszeichen. 
Übrigens: in einem Prompttext darf auch das Zeichen '_' (Unterstrich) vorkommen. 

A.3	Farben (DOS-System)

Wer einen Farbbildschirm hat, benutzt erfahrungsgemäß nur noch ungern "Schwarz-Weiß-Programme" - wie beim Fernsehen. Für die konventionellen DOS-Programmen gibt es eine eigene Methode der Farbeinstellung, für UNIX und für Windows gilt das Folgende nicht (d.h. die Befehle wirken nicht). 
Es wurden 6 verschiedene Farbkombinationen ausgewählt für die Unterscheidung von 6 Anzeigetypen auf dem Bildschirm. Einstellbar sind diese Kombinationen über den Konfigurationsbefehl w . Hier eine tabellarische Übersicht: 

Befehl	Farbkombination			Verwendung für 
	 
wd160	hellblau auf schwarz 		Eingabe und Anzeige der eigentlichen Daten (Anzeigebildschirm) 
wm020	grün auf schwarz, normal		informatorische Mitteilungen des Programms 
we110	rot auf schwarz, hell		Fehlermeldungen (errors), meist ganz unten auf dem Bildschirm 
					außerdem für die Suchbegriffe im "Erweiterten Register" (Shift+F8) 
ws130	gelb auf schwarz, hell		Menütexte für Selektion durch den Benutzer (z.B. Fußzeilen der Anzeige) 
wb174	weiß auf blau			Index-Anzeige ("Browse"-Liste) 
wh007	schwarz auf weiß   		Hilfetexte 

Mit den Befehlen  wd  und  wb  kann man bis zu drei Farbkombinationen angeben, wenn man beim Aufruf von PRESTO oder APAC zwei oder drei Datenbanken zugleich aufruft, indem man die Option -d zwei- oder dreimal angibt (-Ø 12.1). Damit erreicht man, daß beim Umschalten mit <Alt>+a jede Datenbank in einer anderen Farbe erscheint. Dies hat sich in der Praxis sehr gut bewährt, kann also empfohlen werden. 
Hinter dieser Farbwahl stehen relativ simple Überlegungen: 
Die angenehmste Kombination, bei der Text am besten lesbar ist, muß für die Anzeige der gefundenen und eingegebenen Daten benutzt werden, weil darauf das Auge die meiste Zeit verweilt. Hier erschien hellblaue Schrift auf schwarzem Grund (subjektiv) am günstigsten. Urteilen Sie selbst. 
Rot für Fehler liegt nahe. Grün signalisiert: "alles O.K., dies ist nur eine Information", 
Gelb dagegen: "Achtung, jetzt muß reagiert werden". 
Und daß schließlich Hilfetexte Schwarz auf Weiß kommen, wie auf dem Papier des Handbuchs, versteht sich von selbst. 
Der Hintergrund ist bei allen Kombinationen außer Fehlermeldungen und Hilfe schwarz. Das Bild wird unruhiger, wenn man auch die Hintergrundfarben noch variiert - es sei denn, man arbeitet konsequent mit Fenstertechnik und  leistet sich dann auch noch Umrahmungen etc. Solches ist im allegro-System bislang nur in einigen Zusatzprogrammen für besondere Aufgaben und im CockPit realisiert, denn derartige Techniken sind schwer mit der ganzen Variabilität von allegro in Einklang zu bringen, wenn zudem das Programm nicht alle Grenzen sprengen soll. Ab Version 12.2 kann es bei DOS ohnehin auch bei Rechnern mit 640K schon Probleme geben, wenn größere Geräte- oder Netzwerktreiber u.a. eingebunden sind. Deshalb wurde die Möglichkeit geschaffen, den Arbeitsspeicher zu konfigurieren (siehe Befehl 'm' in A.2). 
Die oben aufgeführten Kombinationen werden vom Programm eingestellt, wenn man nichts anderes in A.CFG verlangt, d.h. diese Befehle dürfen dann wegbleiben. Wer seine eigenen Wünsche einprogrammieren will, füge die entsprechenden Zeilen in seine c.CFG ein, wobei die Ziffern folgendes bedeuten: 

1. Ziffer:   0 für Normaldarstellung, 1 für Hervorhebung (highlight) 
  2. Ziffer:   Zeichenfarbe 0 – 7 (Vordergrundfarbe) 
    3. Ziffer:   Hintergrundfarbe 0 - 7. 
                 für die Farben gelten folgende Zifferncodes 
                 0 : schwarz 
                 1 : rot 
                 2 : grün 
                 3 : braun/gelb 
                 4 : (dunkel-)blau 
                 5 : violett (magenta) 
                 6 : hellblau (cyan) 
                 7 : grau/weiß 

Sie können den Befehl w auch online im Editor eingeben. Das ermöglicht ein ausführliches Experimentieren bei sofortiger Kontrolle der Ergebnisse und erleichtert wesentlich die Auswahl für den persönlichen Geschmack. Geben Sie probeweise #wd123 <Enter> im Editor, dann F5, um die Anzeige zu erneuern. 
Die Hilfsprogramme ASORT und QRIX arbeiten übrigens ohne Farbe. 
Hier finden Sie sinnvolle Kombinationen für 
SW-Bildschirme:		Weiß-Schwarz: 		Grün-Monitore: 
wd007			wd070			wd020    oder  wd007 
wm107			wm170			wm120          wm007 
we107			we170			we120          we007 
ws107			ws170			ws020          ws007 
wb007			wb170			wb120          wb007 
wh007			wh070			wh020          wh007 
Damit erhalten Sie auch auf Farbbildschirmen die entsprechende Darstellung. 
Ausgesprochene Freaks können natürlich ihre Titelaufnahmen auch kolorieren (Köpfe gelb, Fußnoten violett...). Dazu muß man "nur" die sog. ANSI-Escape-Sequenzen (Befehle der Form ESC[1;3x;4ym , x und y ist eine der obigen Ziffern für Zeichenfarbe bzw. Hintergrundfarbe, -Ø 10.2.0.) in die Zwischenteile einer Parameterdatei einbauen. Die mitgelieferte Parameterdatei COLOR.APR, die zum Testen erstellt wurde, zeigt diese Methode. (Eine farbige Druckausgabe allerdings kann noch nicht angeboten werden, wäre jedoch ähnlich zu machen.) 
Wenn es auf Schwarz-Weiß-Monitoren Probleme gibt, so daß z.B. die Anzeige ganz oder teilweise ausfällt, kann man die MS-DOS-Befehle  mode bw80  oder mode co80  versuchen. Außerdem kann man CockPit mit  cp -M starten, denn CockPit benutzt nicht die .CFG für seine Farbeinstellungen, sondern reagiert nur auf die Option –M (für Monochrom). 

`Vorangehender Teil`   /   `Fortsetzung` 

?Vorangehender Teil=h aca-1 
?Fortsetzung=h aca-3