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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.08.2015, 06:57   #11
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А такое вкрутил в свой ЯВУ:
Код:
function TAlisaFormat.AsDiskSpace: Variant;
var space:Extended; cntr:Integer; frm,suff:string; ts:Char;
begin
 suff:='';
 space:=EvalParam(1);
 if space=0 then begin
  Result:=0; exit;
 end;
 frm:='%f';
 if space>1000000000000 then begin cntr:=1000000000000; suff:=' Tb'; end else
 if space>1000000000 then begin cntr:=1000000000; suff:=' Gb'; end else
 if space>1000000 then begin cntr:=1000000; suff:=' Mb'; end else
 if space>1000 then begin cntr:=1000; suff:=' Kb'; end else
 begin cntr:=1; frm:='%.0f'; suff:=' b'; end;

 Result:=format(frm,[space/cntr])+suff;

 if ExistParam('+bytesize') then begin
  ts:=FormatSettings.ThousandSeparator;
  FormatSettings.ThousandSeparator:=' ';
  Result:=Result+' ('+format('%.0n',[space])+' bytes)';
  FormatSettings.ThousandSeparator:=ts;
 end;

end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.08.2015, 09:32   #12
JUDAS
фонатик DELPHI
Форумчанин
 
Аватар для JUDAS
 
Регистрация: 14.01.2008
Сообщений: 714
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
FS.Size div 1000000 - мегабайты
FS.Size div 1000000000 - гигабайты
BDA, знаешь чем отличается начинающий программист от конченого программиста?
Начинающий, думает что в одном килобайте тысяча байт, конченый думает что в одном килограмме 1024 грамм

----------
Автор, лови универсальную. Сделал на будущее, буквы ставятся до иоттабайтов (10 24 байт)
Код:
function ValueToStr(value : int64):string;
var index : integer;
    val   : integer;
begin
  index  := 1; result := '';
  while value>0 do
  begin
    val :=  value mod 1024;
    if (val<>0) and (index<8) then
      result := IntToStr(val)+'KMGTPEZY'[index]+'b '+ result;
    value := value div 1024;
    inc(index);
  end;
end;
95% сбоев и ошибок приложений, находится в полу метрах от монитора
JUDAS вне форума Ответить с цитированием
Старый 02.08.2015, 13:12   #13
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
А такое вкрутил в свой ЯВУ
а мож нинада так, а?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 02.08.2015, 13:39   #14
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
а мож нинада так, а?
А че? Из-за неправильных констант?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.08.2015, 14:14   #15
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
А че? Из-за неправильных констант?
Да ладно-ладно! Оставь, как есть...
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 02.08.2015, 14:41   #16
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Шутник )))
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.08.2015, 14:55   #17
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,770
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
а мож нинада так, а?
Это классический вариант экономии памяти или скорости. Теоретически вариант Виталия должен быть быстрее, поскольку делает только сравнения и одно деление в конце.

Но на самом деле это фигня, поскольку все называют т. н. мебибайты мегабайтами, и только маркетологи носителей считают с выгодой для кармана. А на 1024 делится простым сдвигом, это даже Delphi оптимизировать умеет.

Так что лучше всего быть программистом, а не маркетологом.
Vapaamies на форуме Ответить с цитированием
Старый 02.08.2015, 15:38   #18
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

2 Vapaamies:
согласенЪ
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 02.08.2015, 15:42   #19
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Критикуйте критикуйте. А меня мой вельбот дырявый и так устраивает )))
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.08.2015, 18:55   #20
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,770
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А меня мой вельбот дырявый и так устраивает )))
У тебя Линукс, который заодно с маркетологами и "бибикает".
Vapaamies на форуме Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Размер выходного exe-файла Delphi XE min@y™ Общие вопросы Delphi 21 01.05.2015 10:37
Размер файла paravoz1k Общие вопросы Delphi 2 13.02.2011 21:52
Как в Delphi определить размер файла? Nomad Помощь студентам 7 10.08.2010 08:33
Размер файла flug Общие вопросы Delphi 2 29.10.2009 13:43
Размер файла NetSpace Свободное общение 2 15.06.2009 13:36