FIELD (последнее завершенное поле)
FIELD()
Функция FIELD возвращает номер поля, к которому было обращение последний раз. Компилятор присваивает положительные номера полям экрана, использующим USE-переменные в том порядке, в котором они описаны в SCREEN-структуре. Отрицательные номера присваиваются всем элементам типа MENU и ITEM в PULLDOWN-структуре. В текстах программ номера полей, обычно, заменяются на EQUATE-метки полей или EQUATE-метки элементов меню.
Возвращаемый тип данных: LONG
(А.С.П - Что говорит о возможном количестве полей на экране...)
Пример:
Screen SCREEN
ROW(4,13) ENTRY(@N4),USE(Fieldl)
ROW(5,13) ENTRY(@N4),USE(Field2)
ROW(6,13) ENTRY(@N4),USE(Field3)
ROW(7,13) ENTRY(@N4),USE(Field4)
.
CODE
LOOP
ACCEPT
CASE FIELD() !Управление редактированием
! полей
OF ?Field1 !Поле номер 1
IF Field1 = 0 ! если пусто,
BEEP ! звуковой сигнал
SELECT(?) ! и повторить ввод
.
OF ?Field2 !Поле номер 2
IF Field2 > 4 ! если СУММА больше 4
Scr:Message = 'Сумма должна быть меньше 4'
ERASE(?) ! очистить поле
SELECT(?) ! и вновь редактировать его
ELSE ! значение допустимо?
CLEAR(Scr:Message) ! очистить строку сообщений
.
OF ?Field4 !Поле номер 4
BREAK ! закончить цикл обработки
. . !Конец операторов CASE и LOOP