Formular-Editor

Mit dem Button [Formulare] oder [Alt]+# öffnet man die Formular-Eingabe. 
Es muß dazu aber eine zur Datenbank passende `Formulardatei` geben. Wenn Ihre Datenbank CAT heißt (Standard), dann muß die Formulardatei CAT.FRM heißen. Wenn sie nicht auf dem Datenverzeichnis liegt, sucht das Programm sie auf dem Programmverzeichnis.
Die .FRM-Datei einer Datenbank kann bis zu 250 Formulare umfassen. 

Wichtig zum Verständnis:
Formulare sind nur eine Hilfe. Jedes Formular zeigt ein paar ausgewählte Felder des aktuellen Datensatzes, bis zu 14 Stück. 
Es ist nicht  so, daß jedes Formular für einen anderen Datensatz oder -satztyp steht! Was man im Formular eingibt, kommt alles in den aktuellen Datensatz, also in den, der gerade bearbeitet wird. Dieser Datensatz selbst steht links im Listenfeld, da sieht man immer alle im Satz vorhandenen Datenfelder und kann jedes davon zum Korrigieren auswählen, dann Enter drücken. Das Korrigieren wird unten im `Schreibfeld` gemacht, oder eben im Formular. 

Will man einen neuen Datensatz anlegen: zuerst den Button [Neusatz] oder F9 drücken. Dann : 
a) aus der erscheinenden ViewListe (Datei input.vw, gestartet von oninput.flx) das richtige Formular wählen. Damit wird dann input.flx aktiviert und zeigt das zugehörige Formular. 
    oder 
b) Wenn keine ViewListe erscheint: mit dem [Form]-Button in die Formulare gehen und Eingaben in die passenden Formulare machen. Mit Alt+f zwischen den Formularen umschalten. 

Folgendermaßen sieht die Formulardatei aus: 
(Der Zeichencode in einer Formulardatei ist DOS-Zeichensatz, Bearbeitung also am besten mit einem DOS-Editor oder direkt im Anzeigefenster. Einen Zugang gibt es auch im Admin-Menü:  h adm  eingeben.)

Jedes Formular beginnt mit einem Namen in eckigen Klammern [...] 
Darauf folgen bis zu 14 Einträge für die Felder. Beispiel: 

[Buch: Teil 1] 
#20 "TITEL:"|4 
#40 "Verf.Name:"|1 
#74 "Ersch.Ort:"|6 
#75 "Verlag:"|6 
#76 "Jahr:"|6 
#77 "Umfang" 
#71 "Auflage:" 
#85 "Serie:"|5 
#87 "ISBN:"|9i 
#90 "Signatur:"|8a 
#30a"Sachgruppe:"|7a 
#37 "Sprache:" 

Das Formularfenster hat u.a. einen Button [Index]. Der macht folgendes: Die Angabe |5 am Ende einer Formularzeile bedeutet: Wenn [Index] gedrückt wird, während der Cursor in dem Feld für #85 ist, wird das Register 5 an der Stelle aufgeblättert, die sich aus dem Inhalt des Feldes ergibt. Beim Feld "Verf.Name" steht dagegen |1 - hat man dort gerade "Goet" geschrieben und drückt Alt+i, geht es zum Register 1 an die Position "goet..." 
Während man im Index blättert, gilt: 
Mit dem [Copy] Button (oder Alt+c) im Indexfenster kann man Registerzeilen unmittelbar in das Formularfeld kopieren. 

Alternative: Mit  |Vviewname  kann man statt eines Registers auch eine `ViewListe` anbinden. Dann wird die ausgewählte Zeile der ViewListe übernommen. Hat die Zeile vorn einen Teil, der mit dem Zeichen | abgetrennt ist, wird nur dieser Teil übernommen. Diese Methode bietet sich an, wenn man in einem Feld nur bestimmte Eingaben aus einer festgelegten, aber moeglicheweise sehr langen Liste zulassen will. 
Der Name des Formulars ist auch wichtig, wenn man ein bestimmtes Formular per `FLEX` aktivieren will. 
Mit dem FLEX-Befehl  form Zeits  kann man z.B. das Formular [Zeitschrift] erscheinen lassen. 

Unterfelder 
In die Formulardatei kann man auch das Eingeben von Unterfeldern einbauen. Hier sehen Sie, wie die Formularzeile aussehen muß, bei einem 2stelligen Schema wie  a.cfg: 

   Unterfeld $a an eine Kategorie #xx mit Mehrfachzeichen y anhängen (nicht ersetzen): 
   (d.h. es entstehen u.U. mehrfache Unterfelder - das kann erwünscht sein)

$a+#xxy"Unterfeld a:" 

   Unterfeld $a in der Kategorie #xxx ersetzen, wenn schon vorhanden, 
   wenn nicht vorhanden, anhängen: 

$a-#xxy"Unterfeld a:"    z.B.  $g-#74 "Ersch.Land"

   Achtung: xxy muß genau so lang sein wie die Kategoriebreite +1, bei 
   3stelligem Schema also 4 Zeichen. Wenn man schriebe 

$b-#xxx "Unterfeld b:"

   würde hinterher ein Leerzeichen hinter $b stehen. M.a.W.: Was vor dem 
   "..." steht, wird mit in das Unterfeld hineingenommen. Natürlich kann 
   man das auch gelegentlich ausnutzen. 

   Sonderfall

$$-#nnn"xxxxx:"

   Also zwei Dollarzeichen am Anfang. 
   Die Eingabe kommt dann an den Anfang von #nnn, ohne Teifeldkennung. 
   Diese Funktion wird gebraucht, wenn eine Kategorie am Anfang einen 
   Inhalt haben kann, der ohne Unterfeldkennung beginnt. (Bei MARC ist 
   das nicht der Fall, bei $A.CFG kommt es jedoch vor.) 

Eingabe-Vorgaben:
In die Formulardatei kann man diverse Vorgaben einbauen (wie in die Abfrageliste). 

<nnnTEXT     Kategorie  #nnnTEXT  automatisch einfügen, falls #nnn 
                leer (wird im Formular nicht sichtbar!) 

#nnnVOR"Kategorie nnn:" 
                Kategorie #nnn abfragen, "VOR" automatisch vorn anfügen 
		Wenn eine vorhandene #nnn aber vorn etwas anderes als VOR hat, 
		bleibt dies unverändert erhalten. 

#nnn"Kategorie nnn:"VOR
                Kategorie #nnn abfragen, "VOR" sichtbar und änderbar vorgeben 

#nnn"Kategorie nnn:". 
                (Punkt hinter ") Kategorie #nnn wird aus dem Hintergrund geholt 

Das Formularfenster kann man  beliebig verschieben. Während einer Sitzung bleibt die Position erhalten. 

Nebenbei bemerkt:
Genau wie normale Kategorien können auch #u-Variablen über ein Formular eingegeben werden, z.B. 

#uxy"Hilfsvariable:" 

?Formulardatei=X formedit.flx 
?Schreibfeld=x help write\sho rec\set dn\var "Hier ist das Schreibfeld, links sehen Sie die Daten des aktuellen Satzes"\sho iv 
?FLEX=h xform 
?ViewListe=h viewh