String.GetFormattedSize
Описание
Возвращает форматированную строку, где заданное количество байтов конвертируется в байты, килобайты, мегабайты или гигабайты и, возможно, вставляет запятые.
ПараметрыSizeInBytes
(число) Число исходных байтов представленных для конвертирования.
Format
(число) Возвращаемый формат. Определены следующие константы:
ShowCommas
(логический) Вставлять ли запятые в результат (то есть, "63636" становится "63,636").
ВозвратResultVariable
(строка) Отформатированная строка заданного количества байт. Если происходит ошибка, возвращается пустая строка "".
Можно использовать действие Application.GetLastError для определения случился ли отказ в работе этого действия и почему.
При добавлении действия из редактора скрипта, можно использовать это поле для определения переменной, которая возвращает значение, сохраняющееся в ней.
Смотрите также: Связанные действия
ПримерыПример 1sFormatted = 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).
Смотрите также: Связанные действия
|