Вопрос № 47892: Уважаемые эксперты, помогите пожалуста !!!
У меня загруженный файл показан байтах
Надо :
Байты перевести в Кбайты и Mбайты тип данных Cardinal
(FileSIze(байт)Cardinal) -> Перевод(Кбайт) -> String
(FileSIze(байт)Cardinal) -&...
Вопрос № 47.892
Уважаемые эксперты, помогите пожалуста !!!
У меня загруженный файл показан байтах
Надо :
Байты перевести в Кбайты и Mбайты тип данных Cardinal
(FileSIze(байт)Cardinal) -> Перевод(Кбайт) -> String
(FileSIze(байт)Cardinal) -> Перевод(Мбайт) -> String
Потом переведенное отразить лейбле но без округления
Заранее благодарен.
Отправлен: 02.07.2006, 01:45
Вопрос задал: Venom56r (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Устинов Сергей Евгеньевич
Здравствуйте, Venom56r!
Вот так:
Var S_kByte,S_MByte:string;
C:cardinal
begin
... // c:=filesize(...);
S_kByte:=floattostr(s/1024);
S_MByte:=floattostr(s/1048576);
...
Label1.Caption:=S_kByte;
Label2.Caption:=S_MByte;
Удачи!
--------- Ответы на все вопросы - на сайте www.ya.ru ☺
Ответ отправил: Устинов Сергей Евгеньевич (статус: Студент)
Ответ отправлен: 02.07.2006, 02:08 Оценка за ответ: 4 Комментарий оценки: Спасибо работает только теперь другая проблема столько много знаков после запятой !!!
Отвечает: Сухомлин Кирилл Владимирович
Здравствуйте, Venom56r!
Мне кажется, что в ответе эксперта Устинова Сергея Евгеньевича есть неточности.
Наверное, имелось ввиду:
S_kByte:=floattostr(C/1024);
S_MByte:=floattostr(C/1048576);
(C вместо s)
Во-вторых, даже при этом, скорей всего произойдет следующее: C разделиться на число и реузльтат будет сохранен в переменную _целого_ типа, т.е. все значки после запятой пропадут!
Если его код будет себя вести именно так, предлагаю воспольоваться моим:
Приложение:
Ответ отправил: Сухомлин Кирилл Владимирович (статус: Студент)
Ответ отправлен: 02.07.2006, 02:16 Оценка за ответ: 4 Комментарий оценки: Спасибо работает только теперь другая проблема столько много знаков послезапятой !!!
Отвечает: Решетник Д
Здравствуйте, Venom56r!
Насколько я знаю, есть функция для установки формата дробных чисел....
Но можно сделать и вот так:
var c: cardinal;
s: string;
k: integer;
c := filesize();
s := floattstr(c / 1024 / 1024);
k := pos(',' {или '.'}, s);
if (length(s) - k) > 2 then caption := copy(s , 1, k+2)
else caption := s;
Что-то вроде такого.....
--------- Жизнь коротка, чтобы писать на ассемблере
Ответ отправил: Решетник Д (статус: 10-ый класс)
Ответ отправлен: 02.07.2006, 10:19 Оценка за ответ: 5 Комментарий оценки: Круто все работает как надо большое С П И С И Б О ! ! !