<< | Inhaltsverzeichnis | Suchen | >> |
Funktion
Syntax: |
FIELDMOVE |
|
|||||
Bedeutung: |
Beim Aufruf der Funktion FIELDMOVE schaltet das laufende EBUS-Programm in einen Modus, in dem der Anwender die Position und Reihenfolge der Maskenfelder und Texte ändern kann. Die Änderungen bleiben während des Programmlaufs wirksam. Die geänderte Maske wird in der Datei <PROGRAMM-NAME>.M<MASKEN-NUMMER> abgespeichert. Bei einem späteren Programmlauf kann die geänderte Maske durch die Funktion FIELDLOAD geladen werden. |
|
|||||
|
FIELDMOVE liefert 3 mögliche Werte: |
|
|||||
|
1: |
Die Maske wurde geändert und die Änderungen wurden nach Betätigen von <END> ordnungsgemäß abgespeichert. |
|
||||
|
0: |
Die Maske wurde nicht geändert, da die Bearbeitung mit <ESC> abgebrochen wurde, oder die Maske keine Maskenfelder besitzt. |
|
||||
|
-1: |
Es trat ein Fehler auf, die Systemfehlernummer wird in der Variablen OK geliefert. |
|
||||
|
Nach Beenden der Funktion FIELDMOVE schaltet das Programm wieder in den normalen Modus zurück. |
|
|||||
|
Einsatzmöglichkeiten von FIELDMOVE |
|
|||||
|
Oft kommt es vor, daß Masken eines Programms für jeden Anwender individuell geändert werden müssen. Sei es, daß Felder auf dem Bildschirm an einer anderen Stelle plaziert werden müssen, oder daß die Feldreihenfolge geändert werden muß, oder daß einzelne Felder nicht benötigt werden. In der Praxis würde dies dazu führen, daß für jeden Anwender eine eigene Version erstellt und gepflegt werden müßte. Dies würde bei vielen Anwendern bei Programmerweiterungen und Änderungen zu einem erheblichen Verwaltungsaufwand führen. Mit Hilfe der Funktion FIELDMOVE können Masken ohne Programmieraufwand geändert werden. |
|
|||||
|
Mit FIELDMOVE kann zur Laufzeit des EBUS-Programms die aktuelle Maske anwenderspezifisch geändert werden. Die geänderte Maske wird in der Datei <PROGRAMMNAME>.M<MASKEN-NUMMER> abgespeichert. Während des Programmlaufs bleibt die geänderte Maske wirksam. In späteren Programmläufen kann die geänderte Maske mit FIELDLOAD geladen werden. |
|
|||||
|
Um die Änderung einer Maske nur einem autorisierten Anwender zu ermöglichen, kann folgendes Verfahren angewendet werden: |
|
|||||
|
Init-Macro: |
|
|||||
|
ON F2 MACRO NEUE.MASKE |
|
|||||
|
Macro NEUE.MASKE: |
|
|||||
|
/* Passwort eingeben. |
|
|||||
|
Ablauf der Funktion FIELDMOVE |
|
|||||
|
Bei FIELDMOVE existieren 3 Modi: |
|
|||||
|
a)
Verschieben Maskenfelder |
|
|||||
|
Der aktuelle Modus wird stets in der Meldungszeile angezeigt. |
|
|||||
|
In jedem Modus können mit <F1> die gerade gültigen Funktionstasten am Bildschirm angezeigt werden. |
|
|||||
|
Nach
dem Aufruf von FIELDMOVE ist als erstes der Untermodus Verschieben Maskenfelder eingeschaltet. |
|
|||||
|
a) Verschieben Maskenfelder |
|
|||||
|
Das aktuelle Maskenfeld wird invers angezeigt, jedes Feld kann beliebig verschoben werden. |
|
|||||
|
Folgende Funktionstasten stehen zur Verfügung: |
|
|||||
|
Taste |
Bedeutung |
|||||
|
Beenden, Modus wechseln |
|
|||||
|
<CTRL/E> oder <END> |
Die Änderungen werden abgespeichert und die Funktion FIELDMOVE wird verlassen. |
|
||||
|
<ESC> |
Die Änderungen werden nicht abgespeichert. Die Funktion FIELDMOVE wird verlassen. |
|
||||
|
<F7> oder <CTRL/P> |
Wechseln zum Modus b) Ändern Reihenfolge. |
|
||||
|
<F6>oder <CTRL/L> |
Die Maskendatei PROGRAMM-NAME>. M<MASKEN-NUMMER>wird gelöscht. |
|
||||
|
Positionieren |
|
|||||
|
<RETURN> |
Sprung zum nächsten Maskenfeld |
|||||
|
<F5> oder <CTRL/D> |
Sprung zum vorherigen Maskenfeld |
|||||
|
Verschieben |
|
|||||
|
<> |
Verschieben Feld eine Zeile nach oben |
|||||
|
<¯> |
Verschieben Feld eine Zeile nach unten |
|||||
|
<®> |
Verschieben Feld eine Spalte nach rechts |
|||||
|
<¬> |
Verschieben Feld eine Spalte nach links |
|||||
|
<F3> oder <CTRL/+> |
Verschieben Feld 10 Spalten nach rechts |
|||||
|
<F4> oder <CTRL/-> |
Verschieben Feld 10 Spalten nach links |
|||||
|
|
|
|||||
|
b) Ändern Reihenfolge |
|
|||||
|
Folgende Funktionstasten stehen zur Verfügung: |
|
|||||
|
Taste |
Bedeutung |
|||||
|
Beenden, Modus wechseln |
|
|||||
|
<CTRL/E> oder <END> |
Die Änderungen werden abgespeichert und die Funktion FIELDMOVE wird verlassen. |
|
||||
|
<ESC> |
Die Änderungen werden nicht abgespeichert. Es wird in den Modus a) Verschieben Maskenfelder zurückgewechselt. |
|
||||
|
<F7> oder <CTRL/P> |
Wechseln zum Modus c) Verschieben / Ändern Texte |
|
||||
|
Positionieren |
|
|||||
|
<RETURN> |
Sprung zum nächsten Maskenfeld |
|||||
|
<F5> oder <CTRL/D> |
Sprung zum vorherigen Maskenfeld |
|||||
|
In jedem Feld kann eine Reihenfolgenummer eingegeben werden. Zulässig sind nur Zahlen von 0 bis zur Anzahl der Maskenfelder. |
|
|||||
|
Die Reihenfolgenummer 0 bedeutet: Feld nicht auf der Maske darstellen. Durch Streichen von Maskenfeldern vermindert sich entsprechend die höchst mögliche Reihenfolgenummer. |
|
|||||
|
Die Reihenfolgenummern müssen beginnend bei 1 eine fortlaufende Folge von Zahlen darstellen. |
|
|||||
|
Die Eingabe einer Zahl wird mit <RETURN> beendet, die Zahl wird dann sofort auf Zulässigkeit geprüft. |
|
|||||
|
Nach Eingabe der 1. Ziffer können nur noch weitere Ziffern eingegeben werden, oder die aktuelle Eingabe kann mit <ESC> abgebrochen werden; bis dahin stehen die anderen Funktionstasten nicht zur Verfügung. |
|
|||||
|
|
|
|||||
|
Achtung: Eine geänderte Reihenfolge muß sofort mit <END> abgespeichert werden. Die anderen Änderungen werden dabei mit abgespeichert. Ist die geänderte Reihenfolge unzulässig, erfolgt eine Fehlermeldung und die Änderungen werden nicht abgespeichert. |
|
|||||
|
Bei der Änderung der Feldreihenfolge ist folgendes zu beachten: |
|
|||||
|
Die Anweisung DISPLAY bezieht sich auf dasselbe Feld wie vor der Änderung. Ist das Feld nicht mehr auf der Maske (Reihenfolgenummer=0), so ist die Anweisung DISPLAY wirkungslos. |
|
|||||
|
Beispiel: |
alte Reihenfolge: DISPLAY #.4 |
|
||||
|
Die
Anweisungen |
|
|||||
|
springen auch in der neuen Reihenfolge das spezifizierte Feld richtig an. Ist das spezifizierte Feld gelöscht, wird zum 1. Feld in der neuen Reihenfolge gesprungen. |
|
|||||
|
Alle anderen Anweisungen GOTO #...
(z.B. GOTO #.1, GOTO #5, GOTO #.+2) arbeiten genauso wie in der alten
Feldreihenfolge. Z.B. springt GOTO #.-1 zum vorherigen Feld bezogen auf die
alte Feldreihenfolge. Ist das Feld gelöscht, so wird zum 1. Feld der Maske in
der neuen Reihenfolge gesprungen. Dadurch arbeiten alle Sprünge auf bestimmte
Maskenfelder auch nach der Änderung der Feldreihenfolge korrekt (Ausnahme:
gelöschte Felder). |
|
|||||
|
c) Verschieben/Ändern Texte |
|
|||||
|
Der aktuelle Text wird invers angezeigt. |
|
|||||
|
Folgende Funktionstasten stehen zur Verfügung: |
|
|||||
|
Taste |
Bedeutung |
|||||
|
Beenden, Modus wechseln |
|
|||||
|
<CTRL/E> oder <END> |
Die Änderungen werden abgespeichert und die Funktion FIELDMOVE wird verlassen. |
|
||||
|
<ESC> |
Die Änderungen werden nicht abgespeichert. Es wird in den Modus a) Verschieben Maskenfelder zurückgewechselt. |
|
||||
|
<F7> oder <CTRL/P> |
Wechseln zum Modus a) Verschieben Maskenfelder |
|
||||
|
<F8> oder <CTRL/R> |
Ändern Texte Es gelten folgende Steuertasten bei Ändern Texte: |
|
||||
|
|
<RETURN> |
geänderten Text übernehmen und mit Verschieben/ÄndernTexte fortfahren |
|
|||
|
|
<ESC> |
geänderten Text nicht übernehmen und mit Verschieben/Ändern Texte fortfahren |
|
|||
|
|
<¬> |
Cursor ein Zeichen nach links |
|
|||
|
|
<®> |
Cursor ein Zeichen nach rechts |
|
|||
|
|
<Backspace> |
Cursor ein Zeichen nach links |
|
|||
|
Positionieren |
|
|||||
|
<RETURN> |
Sprung zum nächsten Maskenfeld |
|||||
|
<F5> oder <CTRL/D> |
Sprung zum vorherigen Maskenfeld |
|||||
|
Verschieben |
|
|||||
|
<> |
Verschieben Text eine Zeile nach oben |
|||||
|
<¯> |
Verschieben Text eine Zeile nach unten |
|||||
|
<®> |
Verschieben Text eine Spalte nach rechts |
|||||
|
<¬> |
Verschieben Text eine Spalte nach links |
|||||
|
<F3> oder <CTRL/+> |
Verschieben Text 10 Spalten nach rechts |
|||||
|
<F4> oder <CTRL/-> |
Verschieben Text 10 Spalten nach links |
|||||
Beispiel: |
CASE FIELDMOVE |
|
|||||
siehe auch: |
|
||||||