![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
10 000 000 -> 10 Mb
T2 © (2003-06-05 13:03:00)
Каким образо перевести байты (размер файла например) в Windows представление (byte,Mb,Gb). Использую встроенную функцию Windows, но после 4 Gb формат переводится не верно. Где ошибка?
{S} Function __SGuStrFormatByteSize(_dw:DWord;_pszBuf:PChar;_cchBuf:UINT):PChar;StdCall;External "shlwapi.dll" Name "StrFormatByteSizeA";
Ведь диски уже больше 4 Gb выпускают?
Skier (2003-06-05 13:15:00) [41]
>T2 © (05.06.03 13:03)
Насколько я помню производители винчестеров считают кило, мега
(и т. д.) байты по своему, т.е.
-1 Кбайт = 1000 байт
(в отличии от стандартного 1 Кбайт = 1024 байт )
-1 Мбайт = 1000 Кбайт
(в отличии от стандартного 1 Мбайт = 1024 Кбайт )
Так что __SGuStrFormatByteSize видимо работает правильно.
Palladin (2003-06-05 13:13:00) [42]
вот это да...
меня вопрос поразил до костного мозга, не ужели такие еще есть...
[lamer]Barmaglot (2003-06-05 13:10:00) [43]
Количество байт делишь на 1024 получаешь килобайты, делишь ещё на 1024 получаешь мегабаты и т.д. Зачем встроенные функции?