Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 525
от 07.07.2006, 19:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 362, Экспертов: 59
В номере:Вопросов: 1, Ответов: 3


Вопрос № 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;

PS: Один килобайт равен 1024 байта, 1 мегабайт равен 1024 килобайта.

Удачи!
---------
Ответы на все вопросы - на сайте 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
Комментарий оценки:
Круто все работает как надо
большое С П И С И Б О ! ! !


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.34 от 01.06.2006
Яндекс Rambler's Top100

В избранное