String.GetFormattedSize

string String.GetFormattedSize ( number SizeInBytes,
number Format = FMTSIZE_AUTOMATIC,
boolean ShowCommas = true )
Примеры

Описание

Возвращает форматированную строку, где заданное количество байтов конвертируется в байты, килобайты, мегабайты или гигабайты и, возможно, вставляет запятые.

Параметры

SizeInBytes

(число) Число исходных байтов представленных для конвертирования.

Format

(число) Возвращаемый формат. Определены следующие константы:

КОНСТАНТА
CONSTANT
ЗНАЧЕНИЕ
VALUE
ОПИСАНИЕ
DESCRIPTION
FMTSIZE_AUTOMATIC1Автоматический выбор лучшего формата на основе размера.
FMTSIZE_BYTES2Формат значения в байтах.
FMTSIZE_KB3Формат значения в килобайтах.
FMTSIZE_MB4Формат значения в мегабайтах.
FMTSIZE_GB5Формат значения в гигабайтах.

ShowCommas

(логический) Вставлять ли запятые в результат (то есть, "63636" становится "63,636").

Возврат

ResultVariable

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

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

Примеры

Пример 1

sFormatted = String.GetFormattedSize(nBytes, FMTSIZE_AUTOMATIC, true);
Конвертируем значение в переменной nBytes из количества байт в форматированную строку. Устанавливаем автоматический выбор лучшего формата, основанного на размере и сохраняем в переменной sFormatted.

Пример 2

-- Callback function for HTTP.Download
-- Возвращающаяся функция для HTTP.Download
function DownloadCallback(nDownloaded, nTotal, TransferRate, SecondLeft, SecondsLeftFormat, Message)
    -- Convert total and downloaded bytes into formatted strings
    -- Конвертируем полное и загруженное число байт в форматированные строки
    sDownloaded = String.GetFormattedSize(nDownloaded, FMTSIZE_AUTOMATIC, true);
    sTotal = String.GetFormattedSize(nTotal, FMTSIZE_AUTOMATIC, true);

    -- Set statusdlg title and message
    -- Устанавливаем заголовок и сообщение окна состояния
    StatusDlg.SetTitle("Downloading . . . ");

    -- Output time left, formatted.
    -- Формируем вывод оставшегося времени.
    StatusDlg.SetMessage("Currently downloading file . . . Time Left: " .. SecondsLeftFormat);

    -- Output formatted sizes to user through statusdlg status text
    -- Выводим отформатированные размеры пользователю через текст диалогового окна состояния
    StatusDlg.SetStatusText("Downloaded: " .. sDownloaded .. " / " .. sTotal);

    -- Set meter range (max range = 65534)
    -- Задаем диапазон индикатора (max диапазон = 65534)
    StatusDlg.SetMeterRange(0, 65534);

    -- Set meter position (fraction downloaded * max meter range)
    -- Задаем положение индикатора (доля загруженного * max диапазон)
    StatusDlg.SetMeterPos((nDownloaded / nTotal) * 65534);
end

-- Show the StatusDlg
-- Показываем окно состояния StatusDlg
StatusDlg.Show(0, false);

-- Download a file from the internet to the user's computer
-- Uses DownloadCallback() as the callback function
-- Загружаем файл из Интернета на компьютер пользователя
-- Используем DownloadCallback() как возвращающуюся функцию
HTTP.Download("http://www.yourdomain.com/downloads/update.exe", _TempFolder .. "\\update.exe", MODE_BINARY, 20, 80, nil, nil, DownloadCallback);

-- Hide the StatusDlg
-- Скрываем окно состояния
StatusDlg.Hide();
Загружаем файл из Интернета на компьютер пользователя. Возвращающаяся функция "DownloadCallback" управляет диалоговым окном состояния (Status Dialog).
Смотрите также: Связанные действия