Dialog.FolderBrowse

string Dialog.FolderBrowse ( string Prompt,
string DefaultFolder )
Примеры

Описание

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

Параметры

Prompt

(строка) Текст сообщения в диалоговом окне.

DefaultFolder

(строка) Папка просмотра по умолчанию.

Совет: Для выбора папки можно кликнуть по кнопке открыть (browse).

Возврат

ResultVariable

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

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

Примеры

Пример 1

folder_path = Dialog.FolderBrowse("Select Folder", _SourceFolder .. "\\AutoPlay");
Предлагаем пользователю выбрать одиночную папку в папке "AutoPlay" на CD-ROM и сохраняем путь к выбранной папке в переменной по имени "folder_path".

Примечание: _SourceFolder это встроенная переменная, содержащая путь к папке, где размещен файл autorun.exe.

Пример 2

-- Display a folder browse dialog
-- Показываем диалоговое окно просмотра папки
storage_path = Dialog.FolderBrowse("Store Files In", _ProgramFilesFolder);

-- If CANCEL was not chosen, then let's get the folder path
-- Если не была кликнута CANCEL, давайте получим путь к папке
if (storage_path ~= "CANCEL") then
    Dialog.Message("You chose the following folder", storage_path);
end
Запрашиваем у пользователя путь к хранящимся файлам, позволяя ему просматривать папку, начиная с папки Program Files. Полученный путь сохраняем в переменной storage_path. Во втором блоке кода проверяем, не нажал ли пользователь кнопку отмена - cancel. Если он не нажимал, показываем окно сообщения отображающее выбранную папку.

Примечание: _ProgramFilesFolder это встроенная переменная, которая содержит путь к папке пользователя Program Files.

Пример 3

-- Allow the user to select a directory to unzip the files.
-- Разрешаем пользователю выбрать папку для распаковки файлов.
target_folder = Dialog.FolderBrowse("Select a Folder", "C:\\");

-- Check to see if the user cancelled or an error occurred.
-- Смотрим, не отменил ли пользователь действие и не произошла ли ошибка.
if (target_folder ~= "CANCEL") and (target_folder ~= "") then
    -- Gets a list of the contents of a zip file.
    -- Получаем список содержимого zip файла.
    zip_contents = Zip.GetContents("AutoPlay\\Docs\\Info.zip", true);

    -- Get the error code of the last action.
    -- Получаем код ошибки для последнего действия.
    error = Application.GetLastError();

    -- If an error occurred, display the error code message.
    -- Если случается ошибка, показываем сообщение с кодом ошибки.
    if (error ~= 0) then
        Dialog.Message("Error", _tblErrorMessages[error], MB_OK, MB_ICONEXCLAMATION);
    else
        -- Take the table and turn it into a string with newlines for displaying.
        -- Берем таблицу и превращаем её в строку, показывая каждый элемент с новой строки.
        zip_contents_display = Table.Concat(zip_contents, "\r\n", 1, TABLE_ALL);

        -- Ask the user if they are sure they would like to unzip the contents.
        -- Спрашиваем пользователя, уверен ли он, что хочет распаковать содержимое.
        result = Dialog.Message("Information", "The following files will be unzipped:\r\nClick the Cancel button to abort the process.\r\n\r\n" .. zip_contents_display, MB_OKCANCEL)

        -- If the user clicked Ok, unzip the files.
        -- Если пользователь кликнет Ok, распаковываем файлы.
        if (result == IDOK) then
            -- Show the status dialog.
            -- Показываем диалоговое окно состояния.
            StatusDlg.Show();
            -- Extract the contents of the Zip file.
            -- Извлекаем содержимое из Zip файла.
            Zip.Extract("AutoPlay\\Docs\\Info.zip", {"*.*"}, target_folder, true, true, "", ZIP_OVERWRITE_NEVER, nil);

            -- Check the error code for the last action.
            -- Проверяем код ошибки для последнего действия.
            error = Application.GetLastError();

            -- Hide the status dialog.
            -- Скрываем диалоговое окно состояния.
            StatusDlg.Hide();

            -- If an error occurred, display the error code message.
            -- Если происходит ошибка, показываем сообщение с кодом ошибки.
            if (error ~= 0) then
                Dialog.Message("Errror", tblErrorMessages[error], MB_OK, MB_ICONEXCLAMATION);
            else
                Dialog.Message("Success", "The unzipping was successful.", MB_OK, MB_ICONINFORMATION);
            end
        end
    end
end
В этом примере сначала пользователю предлагается выбрать папку, при помощи действия Dialog.FolderBrowse. Эта папка будет использована для распаковки файлов. Затем пользователю предоставляется диалоговое окно содержащее имена файлов, которые будут распакованы и разрешается прервать процесс. Если пользователь кликает Ok, файлы будут распакованы в выбранную папку. По окончании процесса будет дано уведомление об успешном или нет завершении процедуры.
Смотрите также: Связанные действия