Dialog.Input

string Dialog.Input ( string Title,
string Prompt,
string DefaultText = "",
number Icon = MB_ICONQUESTION )
Примеры

Описание

Предоставляет диалоговое окно с полем ввода для получения информации от пользователя.

Параметры

Title

(строка) Текст, что будет показан в заголовке диалогового окна.

Prompt

(строка) Текст, который будет показываться над полем редактирования.

DefaultText

(строка) Текст по умолчанию, показываемый в поле редактирования. По умолчанию показывается пустая строка (нет текста).

Icon

(число) Иконка для отображения в диалоговом окне:

КОНСТАНТА
CONSTANT
ЗНАЧЕНИЕ
VALUE
ОПИСАНИЕ
DESCRIPTION
MB_ICONNONE0Нет.
MB_ICONSTOP16Стоп.
MB_ICONQUESTION32Вопрос. (По умолчанию)
MB_ICONEXCLAMATION48Восклицание.
MB_ICONINFORMATION64Информация.

Возврат

ResultVariable

(строка) Текст, что был в поле редактирования при нажатой кнопке OK, или "CANCEL", если была нажата кнопка Отмена - Cancel. Если происходит ошибка, будет возвращена пустая строка "". Можно использовать Application.GetLastError для определения случился ли отказ в работе этого действия и почему.

При добавлении действия из редактора скрипта, можно использовать это поле для определения переменной, которая возвращает значение, сохраняющееся в ней.
Смотрите также: Связанные действия

Примеры

Пример 1

full_name = Dialog.Input("Welcome", "Please enter your full name:");
Предлагаем пользователю ввести свое полное имя и сохраняем его ответ в переменной по имени "full_name".

Пример 2

strAnswer = Dialog.Input("Question " .. nQuestion, strQuestion, "", MB_ICONQUESTION);
Запрашиваем у пользователя ответ на вопрос, который содержится в переменной strQuestion. Оператор конкатенации (..) используется для включения номера вопроса в заголовок диалогового окна. Ответ пользователя (который он может набирать в поле ввода диалогового окна) сохраняется в переменной strAnswer, когда он кликнет кнопку OK.

Совет: Приставки (префиксы) "n" и "str" используемые в именах переменных этого примера, это способ напоминания программистам, что такая переменная содержит числовое значение или строку.

Пример 3

name = "";
-- Loop until a valid full name is entered or the user cancels.
-- Цикл до тех пор, пока вводится допустимое полное имя или происходит отмена пользователем.
while (name == "") and (name ~= "CANCEL") do
    -- Prompt the user for their full name
    -- Запрашиваем полное имя пользователя
    name = Dialog.Input("Personal Information", "Please enter your full name:", "", MB_ICONQUESTION);

    -- If the user does not enter any text, display an error message. The loop will continue from the beginning
    -- Если пользователь не ввел любой текст, показываем сообщение об ошибке. Цикл будет возобновлен с начала
    if name == "" then
        result = Dialog.Message("Error", "Your information could not be processed as entered. Please try again.", MB_OK, MB_ICONEXCLAMATION, MB_DEFBUTTON1);

    -- If the user entered a valid name and didn't cancel, display a welcome message.
    -- Если пользователь ввел правильное имя и не отменил действие, показываем приветственное сообщение
    elseif name ~= "CANCEL" then
        result = Dialog.Message("Welcome", "Welcome " .. name .. "!", MB_OK, MB_ICONEXCLAMATION, MB_DEFBUTTON1);
    end
end
В этом примере используется цикл while для запроса у пользователя его полного имени с помощью действия Dialog.Input. Если пользователь не введет любой текст в качестве входных данных, появится сообщение об ошибке и снова будет показано диалоговое окно с полем ввода. Цикл закончится только если пользователь введет имя или нажмет кнопку отмена (cancel).
Смотрите также: Связанные действия