Forms - старый и почтенный язык программирования, и он не поддерживает полное отражение в стиле Java.Однако он имеет дополнение функций GET и SET, которые позволяют нам опрашивать и манипулировать метаданными формы.
Таким образом, мы можем пройти по элементам блока и получить их метки, используя GET_ITEM_PROPERTY, как это (пример адаптирован из документации):
DECLARE
cur_itm VARCHAR2(80);
cur_block VARCHAR2(80) := :System.Cursor_Block;
cur_label VARCHAR2(120);
BEGIN
cur_itm := Get_Block_Property( cur_block, FIRST_ITEM );
WHILE ( cur_itm IS NOT NULL ) LOOP
cur_itm := cur_block||’.’||cur_itm;
cur_label := Get_Item_Property( cur_itm, LABEL);
-- do whatever you want with the label here
cur_itm := Get_Item_Property( cur_itm, NEXTITEM );
END LOOP;
END;
Вы можете изменить ЭТИКЕТКУ текущего элементаиспользование SET_ITEM_PROPERTY.
Примечание: LABEL - это свойство, которое применяется только к определенным элементам (кнопкам, флажкам и т. д.), поэтому вы можете включить тест для типа элемента и, возможно, вместо этого захватить PROMPT_TEXT, если это уместно.
Существует множество способов изменить внешний вид и поведение формы на лету.Справочник по построителю форм охватывает все встроенные модули, поэтому нет смысла резюмировать его здесь. Узнайте больше .