Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.07.2017, 19:02   #1
XerSon
Форумчанин
 
Аватар для XerSon
 
Регистрация: 21.01.2008
Сообщений: 211
Вопрос Convert byte > 2 GByte

Приветствую,

Код:
function ConvertBytes(Bytes: Int64): string;
const
  Description: Array [0 .. 8] of string = ('Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB');
var
  i: Integer;
begin
  i := 0;

  while Bytes > Power(1024, i + 1) do
    Inc(i);

  Result := FormatFloat('###0.##', Bytes / Power(1024, i)) + #32 + Description[i];
end;
Юзаю так:

Код:
Edit.Text := ConvertBytes(StrToInt('2000000000')); // ok

Edit.Text := ConvertBytes(StrToInt('3000000000')); // Exception class EConvertError with message ''3000000000' is not a valid integer value'.
Как конвертировать количество байт больше 2 GByte? Использовать Cardinal или UInt64 ну и в довесок IntPower?

Последний раз редактировалось XerSon; 31.07.2017 в 19:04.
XerSon вне форума Ответить с цитированием
Старый 31.07.2017, 19:05   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

StrToInt64
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 31.07.2017, 19:11   #3
XerSon
Форумчанин
 
Аватар для XerSon
 
Регистрация: 21.01.2008
Сообщений: 211
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
StrToInt64
Спасибо, значит я был на правильном курсе, но не долетел %)
XerSon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
convert object ts-alan JavaScript, Ajax 6 27.08.2013 17:22
Convert to HEX kineziz Общие вопросы C/C++ 3 08.06.2013 19:13
Convert.ToInt32 alex_triton Помощь студентам 9 23.10.2011 22:02
convert(array of byte, real48) Ringess Общие вопросы Delphi 3 24.06.2009 13:03
Convert Voucik Общие вопросы .NET 2 14.04.2008 14:16