String.AbbreviateFilePath

string String.AbbreviateFilePath ( string FilePath,
number Characters )
Примеры

Описание

Возвращает сокращенный путь к файлу учитывая заданное максимальное количество символов. Если путь к файлу превышает максимальное число символов, названия папок будут удалены из пути с правой стороны, пока его длина не станет меньше указанного количества символов. Это удаление будет заменено на "...".

Примечание: Имя файла не может быть сокращено, поэтому если путь, включая и имя файла, превышает максимальное число символов, сокращение будет как можно более близким к этому числу.
Например: String.AbbreviateFilePath("C:\\Program Files\\AutoPlay Media Studio X\\Readme.htm",37);
Возврат: C:\Program Files\...\Readme.htm
Поскольку этот путь наименьший путь, который не превышает в длину заданные 37 символов.

Параметры

FilePath

(строка) Путь файла что нужно сократить.

Characters

(число) Максимальное количество символов, используемых в сокращенном пути.

Возврат

ResultVariable

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

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

Примеры

Пример 1

internal_path = "c:\\windows\\system32\\drivers\\ta_da\\foldername\\driver.vxd";
display_path = String.AbbreviateFilePath(internal_path, 30);
Конвертируем длинный внутренне используемый путь в более приемлемый формат для показа пользователю (c:\windows\...\driver.vxd)

Пример 2

-- callback function for File.Delete action
-- возвращающаяся функция для действия File.Delete
function DeleteCallBack(source, deleted, total)
    -- set the message and status text
    -- задаем сообщение и текст состояния
    StatusDlg.SetMessage("Delete: " .. String.AbbreviateFilePath(source, 10));
    StatusDlg.SetStatusText("File " .. deleted .. " of " .. total .. ".");

    -- show the cancel button
    -- показываем кнопку Отмена
    StatusDlg.ShowCancelButton(true, "Cancel");

    -- check if the cancel button was pressed
    bCancel = StatusDlg.IsCancelled();

    -- if the cancel button was pressed, return false, else return true.
    -- если кнопка Отмена была нажата, возвращаем значение ложь (false), иначе возвращаем значение истина (true).
    if bCancel then
        return false;
    else
        return true;
    end
end

-- show the status dialog
-- показываем диалоговое окно состояния
StatusDlg.Show();

-- delete all files in folder c:\temp, using the DeleteCallBack function
-- удаляем все файлы в папке c:\temp, используя функцию DeleteCallBack
File.Delete("c:\\temp\\*.*", true, true, true, DeleteCallBack);

-- Hide the status dialog
-- Скрываем диалоговое окно состояния
StatusDlg.Hide();
Удаляем все файлы и папки из c:\temp, и используем возвращающуюся функцию для показа состояния пользователю.
Смотрите также: Связанные действия