Folder.DeleteTree

Folder.DeleteTree ( string FolderName,
function CallbackFunction = nil )
Примеры

Описание

Удаление папки и всего её содержимого (файлов и вложенных папок) из системы пользователя.

Параметры

FolderName

(строка) Путь к папке.

CallbackFunction

(функция) Имя функции, которая будет вызываться всякий раз, когда выполняется процесс удаления. (Эту возвращающуюся функцию можно использовать для отображения хода выполнения операции удаления, своим собственным способом.)

Примечание: Если в CallbackFunction установлено значение nil, тогда информация о протекании процесса будет отправлена во встроенное диалоговое окно состояния, предполагая что оно в настоящий момент видимое. (Можно показать или скрыть диалоговое окно состояния действиями StatusDlg.Show или StatusDlg.Hide соответственно.)

Возвращающаяся функция должна иметь возможность принять следующие параметры:

Source

(строка) Путь к источнику удаляемого файла.

Deleted

(число) Число файлов, удаленных на данный момент.

Total

(число) Общее количество файлов, которые будут удалены. Возвращающая функция должна возвращать логическое значение (истина (true) или ложь (false)), показывающее следует ли продолжать операцию удаления:

ЗНАЧЕНИЕ
VALUE
ОПИСАНИЕ
DESCRIPTION
trueПродолжить операцию удаления.
falseОстановить операцию удаления, как только это станет возможным.

Возврат

Ничего. Можно использовать Application.GetLastError для определения случился ли отказ в работе этого действия и почему.
Смотрите также: Связанные действия

Примеры

Пример 1

Folder.DeleteTree("C:\\TargetFolder", nil);
Удаляем папку по имени "TargetFolder" со всем её содержимым.

Пример 2

-- Display a browse dialog so they can select a folder they want deleted.
-- Показываем диалоговое окно просмотра, чтобы пользователь мог выбрать папку, которую нужно удалить.
target_folder = Dialog.FolderBrowse("Locate Folder", _DesktopFolder);

if (target_folder ~= "CANCEL") and (target_folder ~= "") then
    -- Ask the user to confirm the deletion of the folder and its contents.
    -- Запрашиваем у пользователя подтверждения удаления папки и её содержимого.
    result = Dialog.Message("IMPORTANT", "Are you sure you wish to delete the folder located at " .. target_folder .. "?\r\n\r\nClicking 'Yes' will remove the folder and all of its contents.", MB_YESNO, MB_ICONQUESTION, MB_DEFBUTTON1);

    if (result == IDYES) then
        -- Show the status dialog.
        -- Показываем диалоговое окно состояния.
        StatusDlg.Show();

        -- Delete the target folder and all of its contents.
        -- Удаляем целевую папку и все её содержимое.
        Folder.DeleteTree(target_folder);

        -- Hide the status dialog.
        -- Скрываем диалоговое окно состояния.
        StatusDlg.Hide();
    end
end
Показываем окно просмотра, позволяющее пользователю выбрать папку, которую нужно удалить. Как только выбор сделан, пользователю предоставляется диалоговое окно подтверждения с объяснением значения действия. Если он кликает по кнопке "Да (Yes)", целевая папка и все её содержимое удаляется.
Смотрите также: Связанные действия