From 397893a719c64f4567ce2562363ad5beb398fac1 Mon Sep 17 00:00:00 2001 From: Oliver Lehmann Date: Fri, 30 Mar 1990 17:27:52 +0000 Subject: [PATCH] ING_DB --- WEGA/contrib/ingres/dbs/src/form/docs | 335 ++++++++++++++++++++++++++ 1 file changed, 335 insertions(+) create mode 100644 WEGA/contrib/ingres/dbs/src/form/docs diff --git a/WEGA/contrib/ingres/dbs/src/form/docs b/WEGA/contrib/ingres/dbs/src/form/docs new file mode 100644 index 0000000..d26e4fe --- /dev/null +++ b/WEGA/contrib/ingres/dbs/src/form/docs @@ -0,0 +1,335 @@ +ALLGEMEINES: + +Eine Maske (frame) ist eine Verkettung von Feldern (form). + Sie wird ueber einen Pointer identifiziert. + z.B.: char *frame; + +Es gibt Ausgabe-, Eingabe-, Wert- und Menuefelder. + Ein Feld kann als Wert- und Eingabefeld definiert werden, + wobei die Definition des Wertfeldes zuerst erfolgen muss ! + +Die Zeilennummerierung geht von 1 bis 24. + +Die Spaltennummerrierung geht von 1 bis 78. + +Die Zeile 1 ist grundsaetzlich fuer Fehler- bzw. Informationstexte + vorgesehen. + +Bindungen zwischen C-Variablen und Feldern erfolgen grund- + saetzlich ueber die Adressen der Variablen. + +Formatangaben erfolgen im Stil von scanf bei Eingabefeldern + und im Stil von printf bei Wertfeldern. Im Falle von Zeichen- + ketten kann der Wert `(char *) 0' fuer die 1 zu 1 Ubernahme + spezifiert werden. + + +FUNKTIONEN: + +------- char *MMalloc(frame, line, col, len, var) + char **frame; + int line; + int col; + int len; + char *var; + + MMalloc stellt ein Feld innerhalb der Maske (frame) bereit. + Der return-Wert ist ein vom Nutzer nicht interpretierbarer, + aber fuer andere Funktionen verwendbarer Wert. Das Feld + wird auf der Zeile line und der Spalte col mit der Laenge len + angelegt. Das Argument var stellt den Zeichenpuffer fuer das + Feld dar. Wird fuer var der Wert `(char *) 0' angegeben, + wird vom Bildschirmpaket automatisch ein Puffer berreitgestellt. + MMalloc muss aufgrund ihres Rueckgabewertes extern deklariert + werden. + z.B.: char *frame; + char *form; + extern char *MMalloc(); + frame = (char *) 0; + form = MMalloc(&frame, 1, 10, 10, (char *) 0); + +------- MMclr_error() + + Ein angezeigter Fehlertext kann mit MMclr_error() geloescht + werden. + +------- MMclr_line(line, col) + int line; + int col; + + MMclr_line loescht die Zeile line ab der Spalte col. + +------- MMclr_screen(line, col) + int line; + int col; + + MMclr_screen loescht den Bildschirm ab Zeile line und + Spalte col. + +------- MMclr_value(frame) + char *frame; + + MMclr_value loescht alle Werte in Wertfeldern (im Zeichenpuffer, + nicht auf dem Bildschirm). + +------- MMerror(error_text) + char *error_text; + + MMerror schreibt den Fehler- bzw. Informationstext error_text + auf den Bildschirm in Zeile 1. Eine nachfolgende Eingabe durch + den Nutzer loescht diesen Text automatisch. + +------- MMexit_form(clear) + int clear; + + MMexit_form beendet die Arbeit des Bildschirmpakets und stellt + das Terminal in den urspruenglichen Zustand zurueck. + Ist clear==0, wird der Bildschirminhalt ungeaendert stehen + gelassen, andernfalls geloescht. + +------- MMform(frame) + char *frame; + + MMform aktiviert die Maske frame, schreibt diese auf dem + Bildschirm aus und uebernimmt die gesamte weitere Steuerung. + +------- MMfree(frame) + char **frame; + + MMfree gibt eine Maske frame wieder frei. + z.B.: char *frame; + MMfree(&frame); + +------- MMinit_form(clear) + int clear; + + MMinit_form aktiviert die Arbeit des Bildschirmpakets und stellt + das Terminal in einen bestimmten Zustand. + Ist clear==0, wird der Bildschirminhalt ungeaendert stehen + gelassen, andernfalls geloescht. + +------- MMin_field(form, func, help, need) + char *form; + int (*func)(); + int (*help)(); + int need; + + MMin_field definiert ein durch MMalloc beschafftes Feld form als + Eingabefeld. + func stellt die Feldfunktion dar, die aufgerufen wird, wenn in + das Feld eine Eingabe erfolgte. Sie muss den Wert 1 + zurueckgeben, wenn ales in Ordnung ist, andenfalls 0. + help ist eine Hilfefunktion und need gibt an, ob es sich um ein + wahlfreies (need==0) oder ein obligatorisches (need==1) + Eingabefeld handelt. + z.B.: char *frame; + char *form; + extern char *MMalloc(); + extern int input(); + form = MMalloc(&frame, 1, 10, 10, (char *) 0); + MMin_field(form, input, (int (*)()) 0, 0); + +------- MMmen_field(form, func, help, menue_text) + char *form; + int (*func)(); + int (*help)(); + char *menue_text; + + MMmen_field definiert ein durch MMalloc beschafftes Feld form als + Menuefeld. + func stellt die Feldfunktion dar, die aufgerufen wird, wenn die + Menuefunktion ausgewaehlt wurde. help ist eine Hilfefunktion und + menue_text gibt den Menuetext an. + z.B.: char *frame; + char *form; + extern char *MMalloc(); + extern int menue(); + form = MMalloc(&frame, 1, 10, 7, (char *) 0); + MMmen_field(form, menue, (int (*)()) 0, " MENUE"); + +------- MMnext() + + Beschreibung zu komplex. + +------- MMout_field(form, output_text) + char *form; + char *output_text; + + MMout_field definiert ein durch MMalloc beschafftes Feld form als + Ausgabefeld. + output_text gibt den auszugebenden Text an. + z.B.: char *frame; + char *form; + extern char *MMalloc(); + form = MMalloc(&frame, 1, 10, 7, (char *) 0); + MMout_field(form, "AUSGABE"); + +------- char *MMpmove(src, dst, len, ch) + char *src; + char *dst; + int len; + int ch; + + siehe AApmove(). + +------- MMsmove(src, dst) + char *src; + char *dst; + + siehe AAsmove(). + +------- MMset_field(frame, var, no) + char *frame; + char *var; + int no; + + MMset_field verbindet die Funktion von MMset_value() mit + der Ausgabe des Wertes auf dem Bildschirm. + +------- MMset_value(frame, var, no) + char *frame; + char *var; + int no; + + Mset_value uebernimmt den Wert der C-Variablen var in die + Maske, ohne ihn auf dem Bildschirm anzuzeigen. var muss + durch eine Variablenfunktion MMvar.. gebunden sein. no gibt + die Nummer der Bindung an (normalerweise 0). + +------- MMshell(form, shell, quit, command) + char *form; + int shell; + int quit; + char *command; + + MMshell laedt ein neues Programm. + Ist shell==0 wird das Programm command direkt geladen, + andenfalls ueber eine Shell. Ist quit==0, wird nach Programm- + ende automatisch die Maske wieder aufgebaut, andernfalls + erfolgt eine Abfrage `ENDE ?', die erst quittiert werden muss. + Als aktives Feld wird form ausgewaehlt. + +------- MMval_field(form, func) + char *form; + int (*func)(); + + MMval_field definiert ein durch MMalloc beschafftes Feld form als + Wertfeld. + func stellt die Feldfunktion dar, die aufgerufen wird, wenn ein + Wert in das Wertfeld eingefuellt wurde. Sie muss den Wert 1 + zurueckgeben, wenn ales in Ordnung ist, andenfalls 0. + z.B.: char *frame; + char *form; + extern char *MMalloc(); + extern int value(); + form = MMalloc(&frame, 1, 10, 7, (char *) 0); + MMval_field(form, value); + +------- MMvalue(frame) + char *frame; + + MMvalue schreibt alle Wertfelder auf den Bildschirm. + +------- MMvarc(form, var, format) + char *form; + char *var; + char *format; + + MMvarc bindet die char[]-Variable var an das Feld form + mit dem Format format. + z.B.: char *frame; + char *form; + char varc[21]; + extern char *MMalloc(); + form = MMalloc(&frame, 1, 10, 10, (char *) 0); + MMin_field(form, (int (*)()) 0, (int (*)()) 0, 0); + MMvarc(form, varc, (char *) 0); + +------- MMvarf4(form, var, format) + char *form; + char *var; + char *format; + + MMvarf4 bindet die float-Variable var an das Feld form + mit dem Format format. + z.B.: char *frame; + char *form; + float varf4; + extern char *MMalloc(); + form = MMalloc(&frame, 1, 10, 10, (char *) 0); + MMval_field(form, (int (*)()) 0); + MMvarf4(form, &varf4, "%10.2f"); + +------- MMvarf8(form, var, format) + char *form; + char *var; + char *format; + + MMvarf8 bindet die double-Variable var an das Feld form + mit dem Format format. + z.B.: char *frame; + char *form; + double varf8; + extern char *MMalloc(); + form = MMalloc(&frame, 1, 10, 10, (char *) 0); + MMin_field(form, (int (*)()) 0, (int (*)()) 0, 0); + MMvarf8(form, &varf8, "%lf"); + +------- MMvari2(form, var, format) + char *form; + char *var; + char *format; + + MMvari2 bindet die short-Variable var an das Feld form + mit dem Format format. + z.B.: char *frame; + char *form; + short vari2; + extern char *MMalloc(); + form = MMalloc(&frame, 1, 10, 10, (char *) 0); + MMval_field(form, (int (*)()) 0); + MMvari2(form, &vari2, "%010d"); + +------- MMvari4(form, var, format) + char *form; + char *var; + char *format; + + MMvari4 bindet die long-Variable var an das Feld form + mit dem Format format. + z.B.: char *frame; + char *form; + long vari4; + extern char *MMalloc(); + form = MMalloc(&frame, 1, 10, 10, (char *) 0); + MMin_field(form, (int (*)()) 0, (int (*)()) 0, 0); + MMvari4(form, &vari4, "%ld"); + + +TERMINALTABELLEN: + +In dem Verzeichnis /usr/lib/form werden die Terminaltabellen unter +dem Namen der Terminals (shell-Variable TERM) abgelegt. +Jede Zeile beginnt mit einer Kennung gefolgt von einem Tabulator +und dem Code. Der Code wird zeichenweise durch Leerzeichen +getrennt. Ein Zeichen kann durch eine oktale Notation (\33) +angegeben werden. +Folgende Kennungen sind vereinbart: + C = (CONTINUE) NEXT-RECORDS-KEY + D = (DELETE) DELETE-ONE-CHARACTER-KEY + F = (FIELD) BEGIN-OF-FIELD-KEY + H = (HELP) HELP-KEY + I = (INSERT) INSERT-ONE-CHAR-KEY + L = (LEFT) CURSOR-LEFT-KEY + M = (MENUE) MENUE-KEY + N = (NEXT) NEXT-FIELD-KEY + P = (PREV) PREVIOUS-FIELD-KEY + Q = (QUIT) QUIT-KEY + R = (RIGHT) CURSOR-RIGHT-KEY + cd = CLEAR-SCREEN + ce = CLEAR-LINE + cm = MOVE-CURSOR-TO-POSITION + so = INVERS-ON + se = INVERS-OFF +In der Zeile cm folgt nach demo Code noch ein Tabulator und eine +Zahl, die die Zeilenadjustierung angibt.