Форум: "Начинающим";
Текущий архив: 2006.10.01;
Скачать: [xml.tar.bz2];
ВнизКак перевести байты в килобайты и мегобайты Найти похожие ветки
← →
Opilki_Inside © (2006-09-11 13:00) [0]Всем привет. Знаю что просто... Но может кто-то делал...
Есть размер файла в байтах что-то типа 12348738 нужно привести это к человеческом виду типа 12,3 Мб
← →
Сергей М. © (2006-09-11 13:03) [1]Встречный вопрос: есть время в секундах, "что-то типа 5400", нужно привести это к "человеческому" виду "типа 1,5 часа" - твои действия ?
← →
Desdechado © (2006-09-11 13:10) [2]делить на 1024 до посинения
← →
PSPF2003 © (2006-09-11 13:17) [3]Логическое мышление - полный ноль.
← →
Opilki_Inside © (2006-09-11 13:32) [4]Да я прекрасно понимаю как это делается, просто может кто-то уже написал, чего же повторяться-то... Я вообще подозреваю может есть WinAPI функция которая это делает...
← →
Плохиш © (2006-09-11 13:34) [5]
> просто может кто-то уже написал, чего же повторяться-то
Я плякал....
> Я вообще подозреваю может есть WinAPI функция которая это
> делает
Я рыдал.......
← →
PSPF2003 © (2006-09-11 13:37) [6]
> Плохиш ©
Сер, ваш платочек :)
← →
Ega23 © (2006-09-11 13:39) [7]В одном килобайте - 1024 байт.
Ну и т.д.
← →
PSPF2003 © (2006-09-11 13:42) [8]
> Ega23 ©
Блин сколько же их в гигабайте?
← →
Ketmar © (2006-09-11 13:42) [9]орешек?
← →
Ega23 © (2006-09-11 13:45) [10]
> Блин сколько же их в гигабайте?
1 гигабайт = 1099511627776 миллибайт :о)
← →
PSPF2003 © (2006-09-11 13:47) [11]
> Ega23 ©
А в терабайте? :)
← →
SergP. (2006-09-11 13:48) [12]> Opilki_Inside © (11.09.06 13:00)
> Всем привет. Знаю что просто... Но может кто-то делал...
> Есть размер файла в байтах что-то типа 12348738 нужно привести
> это к человеческом виду типа 12,3 Мб
Если к человеческому виду, то получится 11,8 Мб
а 12,3 Мб - это видимо приведение к ламерскому виду...
← →
Рамиль © (2006-09-11 13:48) [13]
> Да я прекрасно понимаю как это делается, просто может кто-
> то уже написал, чего же повторяться-то... Я вообще подозреваю
> может есть WinAPI функция которая это делает...
Так и быть, писал исключительно для себя, отрываю от сердцаfunction ByteToMb(const Value: int64): extended;
begin
Result := Value / 1048576
end;
← →
Opilki_Inside © (2006-09-11 14:48) [14]Мда... злые вы все...
Я имел ввиду функцию на вход которой передаешь количество байтов целого типа а на выходе - строка, она сама подписывает Мб, Кб и т.п... причем нужно учитывать региональные устновки и прочее...
← →
Kolan © (2006-09-11 14:51) [15]
> количество байтов целого типа
А шо бывают дробного?
По теме:
Такую ф-цию нетрудно написать, только нужно определится что есть человеческий вид. 1024 Кб - это человеческий? А 1Мб? ...
← →
PSPF2003 © (2006-09-11 14:53) [16]
> Я имел ввиду функцию на вход которой передаешь количество
> байтов целого типа а на выходе - строка, она сама подписывает
> Мб
А самому написать?
← →
Palladin © (2006-09-11 14:57) [17]
> А самому написать?
дык а это не крик о помощи, а вопрос ленивого :)
← →
JB (2006-09-11 14:59) [18]
> причем нужно учитывать региональные устновки и прочее
А что где-то 1 Мб=1025 б
← →
Palladin © (2006-09-11 15:00) [19]нет, гдето Mb, а где то Мб :)
← →
JB (2006-09-11 15:06) [20]
> нет, гдето Mb, а где то Мб :)
Ну ни фига себе, а если для китайцев прогу писать? :)
← →
Opilki_Inside © (2006-09-11 15:13) [21]
> Ну ни фига себе, а если для китайцев прогу писать? :)
Для этого и предназначены региональные установки и эти данные нужно из них считывать!
Поэтому я и подумал что навярняка есть API функция на уровне системы...
Если тут еще остались здравомыслящие люди (а не из детского сада), то вот функция о которой я говорил:function BytesToStr(const i64Size: Int64): string;
const
i64GB = 1024 * 1024 * 1024;
i64MB = 1024 * 1024;
i64KB = 1024;
begin
if i64Size div i64GB > 0 then
Result := Format("%.2f Гб", [i64Size / i64GB])
else if i64Size div i64MB > 0 then
Result := Format("%.2f Мб", [i64Size / i64MB])
else if i64Size div i64KB > 0 then
Result := Format("%.2f Кб", [i64Size / i64KB])
else
Result := IntToStr(i64Size) + " Байт(а)";
end;
Хотя надо признать с региональными установками она не связана
← →
StriderMan © (2006-09-11 15:24) [22]хочешь региональные настройки - юзай
IntToStr
← →
Opilki_Inside © (2006-09-11 15:26) [23]
> хочешь региональные настройки - юзай IntToStr
Это-то причем здесь?
← →
Сергей М. © (2006-09-11 15:30) [24]
> Opilki_Inside © (11.09.06 15:13) [21]
> Если тут еще остались здравомыслящие люди (а не из детского
> сада)
Только не лопни от гордости, если таки причисляешь себя к первым)
← →
Наиль © (2006-09-11 15:31) [25]
> Это-то причем здесь?
А потому что Запятая.
← →
Opilki_Inside © (2006-09-11 15:38) [26]
> А потому что Запятая.
По-хорошему запятая... ну про региональные настройки я наверное загнул... Можно конечно и без них, хотя с ними было бы лучше :)
← →
SergP. (2006-09-11 16:13) [27]
function PrivedenieKChelovecheskomuVidu(bytes:currency):string;
const
st:array[0..4] of string=(" байт", " келабайт", " мигобайт", " гегубайт", " тиробайт");
var
i:integer;
begin
i:=0;
while bytes>1024 do
begin
bytes:=bytes / 1024;
inc(i);
end;
result:=CurrToStrF(bytes,ffFixed,1)+st[i];
end;
← →
Barloggg (2006-09-11 16:14) [28]
> > Блин сколько же их в гигабайте?
>
> 1 гигабайт = 1099511627776 миллибайт :о)
>
врете батенька.
в 1 гигабайте 1073741824000 миллибайт.
← →
SergP. (2006-09-11 16:16) [29]> врете батенька.
> в 1 гигабайте 1073741824000 миллибайт.
Хм... Кстати, а интерестно, сколько в 1 байте миллибайт?
1000 или 1024?
← →
Наиль © (2006-09-11 16:18) [30]
> Хм... Кстати, а интерестно, сколько в 1 байте миллибайт?
8
← →
IceBeerg © (2006-09-11 16:18) [31]SergP. (11.09.06 16:13) [27]
" гегубайт"
ибубайт!
← →
mpv (2006-09-12 14:01) [32]забыли про коммерческие мегабайты :)
← →
Fay © (2006-09-12 14:56) [33]2 mpv (12.09.06 14:01) [32]
> коммерческие мегабайты
Есть мнение, что 2^20 байт не мегабайте, а в мибибайте (придумали такую байду).
← →
IceBeerg © (2006-09-12 18:53) [34]пудобайт и тоннобайт
← →
TUser © (2006-09-12 21:36) [35]Переводи в йобибиты :)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.10.01;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.014 c