Dialog.MaskedInput

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

Описание

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

Параметры

Title

(строка) Текст, отображаемый в заголовке диалогового окна.

Prompt

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

Mask

(строка) Маска ввода (input mask), используемая для управления вводом в поле редактирования.

DefaultText

(строка) Текст по умолчанию для отображения в поле ввода. По умолчанию это пустая строка (нет текста).

Icon

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

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

PlaceHolder

(строка) Текст используемый в качестве заполнителя в маске ввода. Он может использоваться в качестве образца для заполнения пользователем поля маски ввода. Например, если используется маска ввода телефонного номера, можно включить, в качестве заполнителя, образец цифры, скажем, 9. Во время работы он будет отображаться как (999) 999-9999, пока пользователь не заменит их на свои собственные. В качестве параметра по умолчанию используется пробел.

Возврат

ResultVariable

(таблица) Таблица, содержащая текст введенный пользователем, индексированная следующими ключами:

КЛЮЧ
KEY
ТИП
TYPE
ОПИСАНИЕ
DESCRIPTION
DisplayedстрокаОтображаемый текст (включая буквенные символы из маски ввода).
DataстрокаВведенные данные (без включения буквенных символов из маски ввода).

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

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

Примеры

Пример 1

postal_code = Dialog.MaskedInput("", "What is your Postal Code?", ">#> #>#", "", MB_ICONQUESTION, " ");
Запрашиваем у пользователя его почтовый индекс, убеждаемся что он введен в правильном формате (три прописных буквы, три цифры и пробел, вот так: A9A 9A9), и сохраняем результат в таблице, названной postal_code. Исходные данные могут быть доступны по ссылке postal_code.Data, а строка как она была показана может быть доступна по ссылке postal_code.Displayed.

Пример 2

-- Set the flag variable.
-- Устанавливаем флаг переменной.
pass = false;

while (not pass) do
    -- Prompt the user for their telephone number.
    -- Запрашиваем у пользователя его телефонный номер.
    phone = Dialog.MaskedInput("Personal Information", "Please enter your telephone number:", "(###) ###-####", "##########", MB_ICONQUESTION, "#");

    -- If there wasn't an error and the user didn't cancel, try to validate the number.
    -- Если не было ошибки и пользователь не отменял действие, попробуем проверить номер.
    if (phone ~= nil) then
        -- Search for the placeholder character "#".
        -- Поиск символа замещения "#".
        search_result = String.Find(phone.Data, "#", 1, false);

        -- If the placeholder character wasn't found...
        -- Если символ замещения не найден...
        if (search_result == -1) then
            -- Display the telephone number in a dialog.
            -- Показываем телефонный номер в диалоговом окне.
            Dialog.Message("Information", "The telephone number " .. phone.Displayed .. " will be entered in our records.", MB_OK, MB_ICONINFORMATION);

            -- Set the flag to exit the loop.
            -- Устанавливаем флаг выхода из цикла.
            pass = true;
        else
            -- Tell the user that the phone number entered was not complete.
            -- Сообщаем пользователю что ввод телефонного номера был не закончен.
            Dialog.Message("Notice", "The telephone number entered was not complete. Please re-enter the number.", MB_OK, MB_ICONINFORMATION);
        end
    else
        -- There was an error or the user cancelled. Exit the loop.
        -- Была ошибка или отмена действия пользователем. Выход из цикла.
        pass = true;
    end
end
Запрашиваем у пользователя ввод его телефонного номера при помощи действия Dialog.MaskedInput. Для помощи пользователю при вводе информации используется маска телефонного номера. В качестве символа замещения и текста по умолчанию используется символ "#". Подтверждение правильности выполняется при вводе данных пользователем, проверкой наличия символа "#", сигнализирующего о незавершенности номера. Если он найден, пользователю предлагается повторно ввести информацию. Цикл будет закончен, только в случае ввода пользователем правильного телефонного номера или отмены действия. Если пользователь ввел правильный номер, показывается диалоговое окно с отображением этого номера.
Смотрите также: Связанные действия