Ввод значения
Эта категория включает в себя операторы, отвечающие за ввод значения:
Кроме перечисленных операторов, за ввод также отвечают диалоговые формы операторов показа сообщения (ASK
) и открытия формы (DIALOG
) в интерактивном представлении.
Отмена и результат ввода
В операторах ввода значения операция ввода может быть отменена (для каждого оператора эта ситуация определяется по своему). Если это происходит, то в специальное свойство System.requestCanceled
записывается значение TRUE
(NULL
- в обратном случае).
Для всех операторов ввода значения, в платформе существует возможность указать действие (будем называть его основным), которое будет выполнено только, если операция ввода завершится успешно (то есть не будет отменена). Этому действию в качестве параметров передается результат ввода (если он есть). Для всех операторов ввода значения также можно задать альтернативное действие, которое будет выполнено в случае, если операция была отменена.
Начальные значения и автоматическое изменение
Ввод значения часто подразумевает наличие некоторого начального (предыдущего) значение, с которого начинается ввод (то есть текущему значению присваивается начальное) и которое пользователь должен / может впоследствии изменить. Как и большинство остальных значений, начальное значение задается как некоторое свойство.
Также во многих случаях (особенно в обработке событий изменения свойства) бывает необходимо не просто ввести значение, а еще и записать введенное значение в некоторое свойство (как правило, для которого и вызывается обработка события изменения, это нужно чтобы обеспечить WYSIWYG). При этом в большинстве случаев изменяемое свойство совпадает со свойством начального значения. Чтобы сделать реализацию такого сценария более удобной, в операторах ввода значения есть возможность задать специальную опцию (CHANGE
), которая автоматически к основному действию добавит изменение свойства на результат ввода, при этом в качестве изменяемого свойства будет использоваться свойство начального значения (впрочем, при необходимости, изменяемое свойство разработчик может задать явно). Стоит отметить, что описанная возможность является не более чем синтаксическим сахаром, однако она позволяет сделать код существенно более лаконичным и читабельным.
В текущей реализации платформы начальные значения и автоматическое изменение поддерживаются только для операторов ввода примитива (INPUT
) и диалогового открытия формы (DIALOG
).