<< Inhaltsverzeichnis Suchen >>

b) Schalter für Bildschirm-Eingabe/Ausgabe

<SCHALTER>

Bedeutung

AUTODISPLAY

ENABLE:

Wird in einem Macro ein Datensatz einer Indexdatei gelesen, so werden alle Felder der aktuellen Maske automatisch neu angezeigt, wenn das Programm zur Feldeingabe zurückkehrt und nach dem Lesen der Indexdatei die Anweisung NODISPLAY nicht ausgeführt wurde.

 

DISABLE:

Die Felder werden nach dem Lesen einer Indexdatei nicht neu angezeigt.

AUTOWRAP

ENABLE:

Unter WINDOWS werden Texte, die mit der Anweisung PRINT am Bildschirm ausgegeben werden, automatisch umbrochen, wenn der Text nicht in die Zeile paßt.

 

DISABLE:

Unter WINDOWS wird bei der Anweisung PRINT nur der Teil des Textes angezeigt, der in der Zeile Platz hat.

AUTOHELP

ENABLE:

Bei jedem Maskenfeld wird beim Ansprung automatisch der Hilfetext des Feldes in der Meldungszeile angezeigt.

 

DISABLE:

Der Hilfetext wird nicht automatisch, sondern nur durch Drücken von <F2> angezeigt.

BELL

ENABLE:

Alarmton ist eingeschaltet.

 

DISABLE:

Alarmton ist ausgeschaltet.

BUTTON_ACTIVATE

Mit diesem Schalter wird gesteuert, ob beim Anklicken eines Pushbuttons, einer Checkbox oder eines Radio-Buttons das angeklickte Feld das aktuelle Feld werden soll oder nicht.

 

ENABLE:

Das angeklickte Feld wird das aktuelle Feld.

 

DISABLE:

Macro-vorher und Macro-nachher des angeklickten Feldes werden ausgeführt, das bisherige aktuelle Feld bleibt aber weiterhin das aktuelle Feld.

CHAINMES

ENABLE:

Beim Aufruf eines Folgeprogramms mit CHAIN oder RUN wird die Meldung Programm wird geladen ausgegeben.

 

DISABLE:

Die Meldung wird unterdrückt.

CHARACTER

ENABLE:

Die Zeichen mit einem ASCII-Wert < 32 haben im EBUS-Programm eine besondere Bedeutung. Bei einer PRINT-Anweisung werden nicht die Standard-ASCII-Zeichen, sondern die EBUS-Zeichen am Bildschirm angezeigt

 

DISABLE:

Bei der Anweisung PRINT werden die Standard-ASCII-Zeichen am Bildschirm angezeigt.

CHECKFIELDS

ENABLE:

Wird mit der Maus ein Eingabefeld angeklickt, so wird das  Feld so angesprungen, wie dies mit den Tasten <¯> und <­> (je nachdem ob ein nachfolgendes oder vorhergehendes Feld angeklickt wurde) erfolgen würde. D.h. alle dazwischen liegenden Felder werden angesprungen und die Macros-vorher und -nachher (nur wenn ein nachfolgendes Feld angeklickt wurde) werden ausgeführt.

 

DISABLE:

Die dazwischen liegenden Felder werden nicht angesprungen. Der Macro-nachher des aktuellen Feldes wird nicht ausgeführt, es wird sofort das angeklickte Feld angesprungen und der zugehörige Macro-vorher ausgeführt.

CLEARSCREEN

ENABLE:

Dieser Schalter hat keine Wirkung unter WINDOWS.

Bei Programmbeginn und Programmende wird der Bildschirm gelöscht.

 

DISABLE:

Wird im INIT-Macro vor Index-Open die Anweisung DISABLE CLEARSCREEN ausgeführt, so wird der Bildschirm beim Öffnen der Indexdateien nicht gelöscht, sondern erst bei der Ausgabe der ersten Maske.

Am Programmende, beim Rücksprung in das Betriebssystem, wird der Bildschirm ebenfalls nicht gelöscht.

CR

ENABLE:

Drücken von <RETURN> in Position 1 eines Eingabefeldes löscht den Feldinhalt.

 

DISABLE:

Drücken von <RETURN> in Position 1 des Eingabefeldes übernimmt den alten Wert des Feldes als neue Eingabe. In jeder anderen Position bewirkt die Eingabe von <RETURN> die Übernahme der Zeichen links vom Cursor.

 

 

 

Achtung: Nach der Anweisung DISABLE RETURN ist dieser Schalter ohne Wirkung.

 

 

FIELDMARK

ENABLE:

Jedes neu angesprungene Maskenfeld, wie unter WINDOWS üblich, markiert dargestellt und der Cursor an das Ende des Feldes gesetzt. Wird im Macro vorher eines Maskenfeldes mit der Anweisung SETCOL der Cursor gesetzt, so hat in diesem Maskenfeld ENABLE FIELDMARK keine Wirkung.

 

DISABLE:

Ein neu angesprungenes Maskenfeld wird nicht markiert angezeigt.

FIELD_MESSAGES

ENABLE:

Bei der Arbeit in Maskenfeldern können vom Programm Meldungen ausgegeben werden.

 

DISABLE:

Folgende Meldungen werden bei der Arbeit in Maskenfeldern unterdrückt:

 

 

‘Nur numerische Zeichen zulässig’
‘Feldende’
‘Unzulässige Eingabe’
‘Vorzeichen nur am Feldanfang zulässig’
‘Vorzeichen unzulässig’
‘Funktionstaste ist gesperrt’
‘Feld ist nicht änderbar’
‘Primär-Key’
‘Sekundär-Key-...’
‘Blättern hier nicht möglich’
‘Keine Stammdatenverwaltung’
‘Kein Rollbereich’

GR_MENUE_CLS

ENABLE:

Wird der Macro, in dem über EBUS_GR_MENUE$ die Menuepunkte eines SAA-Menues berarbeitet werden, ordnungsgemäß beendet, so wird bei der Rückkehr in das SAA-Menue der Bildschirm gelöscht.

 

DISABLE:

Der Bildschirm wird nicht gelöscht.

GR_MENUE_ESC



 

ENABLE:

Dieser Schalter hat keine Wirkung unter WINDOWS.

Er legt fest, ob GR_STARTMENUE im Hauptmenue mit <ESC> beendet werden kann

Programmintern wird ein ENDMENUE erzeugt, wenn auf der obersten Menuestufe (Hauptmenue) <ESC> gedrückt wird. Dadurch wird die Funktion GR_STARTMENUE beendet.

 

DISABLE:

Das Drücken der <ESC>-Taste im Hauptmenue von GR_STARTMENUE führt nicht zur Beendigung des Menues.

 

 

Achtung: Dieser Schalter hat nur eine Bedeutung bei DOS/UNIX und nicht bei WINDOWS. Unter WINDOWS kann GR_STARTMENUE nur mit ENDMENUE oder ENDPROG beendet werden. ENDPROG beendet dabei das gesamte Programm.

 

 

GR_MENUE_F10

F10 hat unter WINDOWS eine besondere Bedeutung. Es wird das Systemmenue aktiviert. Dies gilt auch unter DOS und UNIX. Soll die F10-Taste mit einem ON F10 MACRO belegt werden, so ist dies nur bei DISABLE GR_MENUE_F10 möglich.

 

ENABLE:

Beim Drücken der Funktionstaste F10 bzw. des Funktionstasten-Buttons wird nicht in das Systemmenue gesprungen.

 

DISABLE:

Beim Drücken der Funktionstaste F10 bzw. des entsprechenden Icons wird das Systemmenue angesprungen.

Achtung: Dieser Schalter gilt sowohl für WINDOWS als auch für DOS/UNIX.

 

 

GR_MENUE_WAIT

ENABLE:

Die Funktion GR_STARTMENUE wird erst dann beendet, wenn die Anweisung ENDMENUE ausgeführt wird. Damit wird das SAA-Menue auch beendet.

 

DISABLE:

Die Funktion GR_STARTMENUE startet das SAA-Menue gestartet und kehrt sofort mit dem Ergebniswert zurück. Das Menue bleibt aber trotzdem solange aktiv, bis die Anweisung ENDMENUE ausgeführt wird.

Achtung: Dieser Schalter gilt sowohl für WINDOWS als auch für DOS/UNIX. Er hat keine Wirkung bei GR_STARTPOPUPMENUE.

 

 

LONGJMP

ENABLE:

Wird bei einem SAA-Menue mit der Maus oder mit F10 ein neuer Menuepunkt ausgewählt ohne den gerade bearbeiteten Menuepunkt mit ESC zu verlassen, so wird intern der Stack durch einen longjmp zurückgesetzt. Durch den longjmp wird die Verarbeitung des aktuellen Menuepunktes beendet und der neue Menuepunkt wird gestartet.

 

DISABLE:

Ist der Schalter DISABLE LONGJMP gesetzt, wird intern kein longjmp ausgeführt, d.h. der aktuelle Menuepunkt bleibt aktiv und wird nicht beendet. Nach der Beendigung des neuen Menuepunktes wird an der aktuellen Stelle im vorherigen Menuepunkt fortgefahren.

 

 

Achtung: DISABLE LONGJMP sollte mit Vorsicht verwendet werden. Wenn z.B. gerade Fenster aktiv sind und ein neuer Menuepunkt gestartet wird, der eine Vollmaske aufruft, so werden beim Ansprung der Vollmaske alle offenen Fenster geschlossen. Wird der Menuepunkt beendet, so wird zum vorherigen Menuepunkt zurückgekehrt. Dort wird auf die jetzt nicht mehr vorhandenen Fenster zugegriffen. Dies führt zwangsläufig zu Programmfehlern.

 

 

 

Die Programmierung muß selbst dafür sorgen, daß bei DISABLE LONGJMP der Stacküberlauf vermieden wird, der unweigerlich bei zu vielen Menueaufrufen auftritt. Beispielsweise könnte die Anzahl der Menueaufrufe durch einen Zähler begrenzt werden, der jeweils am Anfang des Menue-Macros um 1 erhöht und am Ende des Menue-Macros um 1 erniedrigt wird. Wird ein bestimmter Schwellenwert erreicht, so wird die Ausführung weiterer Menueaufrufe nicht zugelassen. Eine andere Möglichkeit besteht darin, wieder auf ENABLE LONGJMP zurückzuschalten. Dadurch werden automatisch alle offenen Windows geschlossen und der Stack wird auf den Stand beim Start von GR_STARTMENUE zurückgesetzt.

 


Beispiel:

 

DISABLE LONGJMP
JMP_SCHALTER%=0

Menue-Macro:
IF JMP_SCHALTER%=0
THEN
               IF ZAEHLER%=10
               THEN    ERRORMES=“Maximale Menuetiefe erreicht“
                              QUIT     /* Menuepunkt wird nicht ausgeführt
               ELSE     ZAEHLER%=ZAEHLER%+1
               ENDIF
ENDIF

CASE EBUS_GR_MENUE$
               OF ...
               ...
ENDCASE

ENDE:
IF JMP_SCHALTER%=0
THEN
               ZAEHLER%=ZAEHLER%-1
ENDIF

 

MESSAGES_IN_MAIN

 

ENABLE:

Dieser Schalter hat keine Bedeutung unter WINDOWS.

Ist ein Window aktiv, so werden nur die Meldungen der Maskenfeldverarbeitung im aktuellen Window angezeigt, alle anderen Meldungen (MESSAGE=, ERRORMES=, Systemfehlermeldungen) werden in der Meldungszeile des Hauptbildschirms angezeigt.

 

DISABLE:

Alle Meldungen werden, sofern ein Window aktiv ist, in der letzten Zeile dieses Windows ausgegeben.

MOUSE

 

ENABLE:

Dieser Schalter hat keine Bedeutung unter WINDOWS.

Das Programm kann mit der Maus gesteuert werden, der Maus-Cursor ist am Bildschirm sichtbar.

 

DISABLE:

Es ist kein Maus-Cursor sichtbar, die Steuerung des Programms erfolgt nur mit den Cursor- und Funktionstasten.

NOBLINK

Mit Hilfe dieses Schalters können mit der PRINT-Anweisung auch blinkende Texte auf den Bildschirm ausgegeben werden.

 

 

Achtung: Der Schalter wird unter WINDOWS erst bei der nächsten Anweisung COLOR wirksam, da das Blinken-Attribut intern immer zusammen mit dem COLOR-Attribut gesetzt wird. Deshalb sollte unter WINDOWS vor der Anweisung PRINT immer die Anweisung COLOR ausgeführt werden, andernfalls wird der Schalter NOBLINK nicht wirksam.

 

 

 

ENABLE:

In den nachfolgenden PRINT-Anweisungen wird das Blinken-Attribut nicht gesetzt.


Beispiel:

 

ENABLE NOBLINK                        /* Blinken aus
COLOR NORMAL
PRINT „HALLO“                              /* Hallo erscheint nicht blinkend

 

 

DISABLE:

In den nachfolgenden PRINT-Anweisungen wird das Blinken-Attribut gesetzt.

 

 


Beispiel:

 

DISABLE NOBLINK                       /* Blinken ein
COLOR NORMAL                          /* COLOR- und Blinken-Attribut setzen
PRINT „HALLO“                              /* Hallo erscheint blinkend

 

NOCLEAR 

ENABLE:

Der alte Maskenfeldinhalt bleibt erhalten und wird durch die neue Eingabe überschrieben.

 

DISABLE:

Der alte Inhalt des Maskenfeldes wird mit der Eingabe des 1. Zeichens gelöscht.

NOEDITORKEYS

ENABLE:

ON F<i> MACROs  haben im Fullscreeneditor keine Gültigkeit.

 

DISABLE:

Mit DISABLE  NOEDITORKEYS werden alle ON F<i> MACROs  (i=1,...24) auch im Fullscreeneditor ausführbar. D.h. wenn eine Funktionstaste mit ON F<i> MACRO aktiviert wurde, wird auch im Fullscreeneditor der zugehörige Macro ausgeführt. Es ist zu beachten, daß dies auch über Unterprogrammgrenzen hinweg gilt.

 



Beispiel:

 

/* Im Hauptprogramm:
ON F7 MACRO XY
DISABLE NOEDITORKEYS
...

/* In einem Unterprogramm:
CALL FULLSCRN(...)

/* Wird jetzt im Fullscreeneditor F7 gedrückt, so wird der Macro XY aus dem
/* Hauptprogramm ausgeführt !
/* Wird im Unterprogramm jedoch vor CALL FULLSCRN(...) die Anweisung
/* DISABLE NOEDITORKEYS ausgeführt, so werden damit die ON ...-Macros
/* aus dem Unterprogramm für den Fullscreeneditor aktiviert. Mit Hilfe der Variablen
/* EBUS_TRANSFER und EBUS_DATA$ können nach Beendigung des Macros die
/* nachfolgenden Funktionen des Fullscreen-Editors aufgerufen werden.
/* EBUS_TRANSFER wird vor dem Aufruf des Macros jeweils auf Null gesetzt.

/*   EBUS_TRANSFER=1:             Einlesen Text aus einer sequentiellen Datei, deren Name
/*                                                        in EBUS_DATA$ steht. Dies entspricht der Taste F18 bzw.
/*                                                        bzw. CTRL/Y im Editor.
/*   EBUS_TRANSFER=2:             Schreiben des aktuellen Textes in die sequentielle Datei,
/*                                                        deren Name in EBUS_DATA$ steht Dies entspricht der
/*                                                        Taste F17 bzw. CTRL/W im Editor. Wenn gerade Zeilen
/*                                                        markiert sind, so werden nur diese Zeilen geschrieben,
/*                                                        andernfalls alle.

/*   EBUS_TRANSFER=3:             Vor der aktuellen Zeile wird eine Zeile mit dem Inhalt von
/*                                                        EBUS_DATA$ eingefügt.
/*   EBUS_TRANSFER=4:             Die aktuelle Zeile wird gelöscht.
/*   EBUS_TRANSFER=5:             An der aktuellen Cursorposition wird  der Inhalt von
/*                                                        EBUS_DATA$ eingefügt. Es werden jedoch nur soviele
/*                                                        Zeichen aus EBUS_DATA$ eingefügt, bis die Zeile voll ist.
/*   EBUS_TRANSFER=99:           Der Editor wird ohne Schreiben beendet.
/*                                                        Dies entspricht der Taste <ESC> im Editor.
/*   EBUS_TRANSFER=100:         Der Editor wird mit Schreiben beendet.
/*                                                        Dies entspricht der Taste <F12> im  Editor.


 


Beispiel:

 

/* Im Editor soll mit der Taste F10 die Datei BRIEFKOP.DAT
/* vor der aktuellen Zeile eingefügt werden.

DISABLE NOEDITORKEYS
ON F10 MACRO EINLESEN
CALL FULLSCRN(...)
¼

/* Macro EINLESEN:
EBUS_TRANSFER=1
EBUS_DATA$=“BRIEFKOP.DAT“

 

 

NOPOINT

Wirkt nur auf numerische Maskenfelder. Dieser Schalter hat nur eine Wirkung bei DISABLE NUM_FIELD_RIGHT. Bei ENABLE NUM_FIELD_RIGHT gilt implizit DISABLE NOPOINT.

 

ENABLE:

Bei der Eingabe ist kein Dezimalpunkt zulässig. ENABLE NOPOINT hat keine Wirkung bei ENABLE NUM_FIELD_RIGHT.

 

DISABLE:

Die Eingabe des Dezimalpunktes (<,> oder <.>) ist möglich.

NUMRETURN

Dieser Schalter hat nur eine Wirkung, wenn der Schalter RETURN auf DISABLE geschaltet ist. In diesem Fall bewirkt DISABLE NUMRETURN, daß in numerischen und Datums-Feldern die RETURN-Taste nicht wie die Taste <¯> arbeitet, sondern die ursprüngliche Wirkung von RETURN behält. Sobald aber im Eingabefeld einmal die Taste <®> betätigt wurde, arbeitet die RETURN-Taste wieder wie <¯>.

 

Übersicht der verschiedenen Kombinationsmöglichkeiten der Schalter RETURN und NUMRETURN:

 

RETURN

NUMRETURN

 

 

ENABLE

ENABLE

RETURN wirkt nicht wie <¯>.

 

ENABLE

DISABLE

RETURN wirkt nicht wie <¯>.

 

DISABLE

ENABLE

RETURN wirkt in allen Feldern wie <¯>.

 

DISABLE

DISABLE

RETURN wirkt nur in alphanumerischen Feldern wie <¯>.

NUM_FIELD_RIGHT

ENABLE:

Bei numerischen Eingabefeldern wird beim Ansprung des Feldes der Cursor an das Ende des Feldes gesetzt. Bei Eingabe einer Ziffer werden die bereits vorhandenen Ziffern nach links verschoben. Es gilt implizit DISABLE NOPOINT, d.h. in numerischen Eingabefeldern kann der Dezimalpunkt eingegeben werden.

 

DISABLE:

Der Cursor wird beim Ansprung eines numerischen Feldes an den Anfang des Feldes gesetzt.

OPENCLOSE_MESSAGE

ENABLE:

Im EBUS-Programm wird das Öffnen und Schließen der Indexdateien am Programmanfang bzw. Programmende in der Meldungszeile angezeigt. Dies ist vor allem bei Programmen im Netzwerk-Betrieb vorteilhaft, da dort das Öffnen und Schließen von Dateien längere Zeit dauern kann.

 

DISABLE:

Das Öffnen und Schließen der Indexdateien am Programmanfang bzw. Programmende erfolgt ohne Meldung.

RESTORESCREEN

 

ENABLE:

Dieser Schalter hat keine Wirkung unter WINDOWS.

Durch die Anweisung WCLOSE wird das aktuelle Window geschlossen, der Windowzähler um 1 erniedrigt und der Bildschirm wiederhergestellt.

 

DISABLE:

Der ursprüngliche Bildschirm wird bei der Anweisung WCLOSE nicht wieder hergestellt, der Window-inhalt bleibt am Bildschirm erhalten. Intern wird jedoch weiterhin die Windowtiefe um 1 zurückgesetzt. Es ist nicht möglich, später z.B. mit WRETURN in das Window zurückzukehren.

RETURN

ENABLE:

Der Schalter CR bestimmt die Wirkung der <RETURN>-Taste bei Eingaben.

 

DISABLE:

<RETURN>  hat dieselbe Wirkung wie die Taste <¯>. Der Schalter CR ist ohne Wirkung.

ROTATE

ENABLE:

Wird das letzte Maskenfeld verlassen, ohne daß im Macro-nachher mit GOTO #... zu einem anderen Maskenfeld gesprungen wird, so wird zum 1. Feld der aktuellen Maske gesprungen.

 

 

ENABLE ROTATE ist hilfreich bei Masken, auf denen das letzte Feld ein Button ist. Wird der Button mit <¯> verlassen, so wird der zugehörige Macro-nachher nicht ausgeführt. ENABLE ROTATE verhindert, daß dabei zur nächsten Maske gesprungen wird.

 

DISABLE:

Nach dem letzten Feld einer Maske wird zur nächsten Maske gesprungen.

 

 

Achtung: Bis zur Version 3.0 des EBUS-GENERATOR-C war implizit DISABLE ROTATE voreingestellt. Die neue Voreinstellung ist jetzt ENABLE ROTATE. Wenn in alten Programmen am Ende einer Maske automatisch zur nächsten Maske gesprungen werden soll, so muß im Init-Macro DISABLE ROTATE eingefügt werden.

 

 

SCREENOFF_ICLOSE

 

ENABLE:

Dieser Schalter hat keine Wirkung unter WINDOWS.

Wurde durch EBUS_SCREENOFF=... der Bildschirmschoner aktiviert und ist gleichzeitig kein ON SCREENOFF MACRO aktiv, so werden die Indexdateien geschlossen. Die Indexdateien werden automatisch wieder geöffnet, wenn durch einen Tastendruck der Bildschirm wiederhergestellt wird.

 

DISABLE:

Die Indexdateien werden nicht geschlossen, wenn der Bildschirmschoner aktiv ist.

SELECT_DOUBLECLICK

ENABLE:

Wird im SELECT/SHOW/SELECTA mit der Maus eine Zeile angeklickt, so wird nur der Inversbalken auf die ausgewählte Zeile gesetzt. Erst bei einem weiteren Mausclick wird die Zeile ausgewählt.

 

DISABLE:

Eine Zeile im SELECT/SHOW/SELECTA wird mit einem einfachen Mausklick ausgewählt.

SHADOW

 

ENABLE:

Dieser Schalter hat keine Wirkung unter WINDOWS.

Bei jedem Window wird ein (bei Farbe durchscheinender) Schatten erzeugt. Die Farbe des Schattens wird durch die Variable SHADOWCOLOR bestimmt.

 

DISABLE:

Windows werden ohne Schatten dargestellt.

STV

ENABLE:

Beim Ansprung jeder Stammdatenmaske muß folgende Frage beantwortet werden:

 

 

1=ERFASSEN 2=ÄNDERN 3=LÖSCHEN 4=ANZEIGEN

 

DISABLE:

Die Frage muß nicht beantwortet werden, wenn ein gültiger Modus (1,2,3,4) bereits einmal gesetzt wurde (z.B. durch EBUS_STV= oder durch einen vorherigen Aufruf einer beliebigen Stammdaten-Maske). Wenn der Modus noch nicht gesetzt ist, muß auch bei DISABLE STV das erste Mal obige Frage beantwortet werden.


Beispiel:

 

DISABLE STV
EBUS_STV = 4
GOTO #10           /* Es wird gleich in den Modus ‘Anzeigen’ verzweigt.

 

 

Achtung: DISABLE STV kann auch in Kombination mit CTRL/P dazu verwendet werden, nur einen Modus zuzulassen:

DISABLE STV
EBUS_STV = 4
DISABLE CTRL/P            /* Der Anwender kann den Modus
                                             /* Anzeigen nicht ändern.

 

 

ZERODATE

ENABLE:

Datumsfelder mit dem Wert Null werden als 00.00.00 bzw. 00.00.0000 angezeigt.

 

DISABLE:

In Datumsfeldern mit dem Wert Null werden keine Nullen und Punkte, sondern nur Leerzeichen angezeigt.