Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Правильная растановка символов [D7, WinXP]


Генри ©   (2005-02-26 16:17:00) 

Здравствуйте. Узнаю сколько свободного и занято места на диске.
ОТвет получаю в KB. например 18651432. как получить тоже самое, но в виде 18 651 432 ???
Спасибо! Привожу код

var
 FreeBytesAvailableToCaller: TLargeInteger;
 FreeSize: TLargeInteger;
 TotalSize: TLargeInteger;
begin
   GetDiskFreeSpaceEx('e:',
   FreeBytesAvailableToCaller,
   Totalsize,
   @FreeSize);
   TotalSize:=TotalSize div 1024;
   Edit1.Text:=(IntToStr(TotalSize));
   end;


Anatoly Podgoretsky   (2005-02-26 18:10:00) [1]

PZ   (26.02.05 17:37) [5]
А зачем так грубо?
Label1.Caption := FormatFloat('00 000 000.',18651432);

Проще надо жить
Label1.Caption := FormatFloat(',',18651432);


Antonn   (2005-02-26 17:51:00) [2]


> Добро пожаловать в 21 век.

А че ваще?.. Ну дернулась рука, написал... Это плохо?


raidan   (2005-02-26 17:43:00) [3]

А в наши времена, когда Паскали были только в ДОСе с сине-желтой (1, 14) палитрой экрана....
>Antonn ©   (26.02.05 16:33) [2]
Добро пожаловать в 21 век.


PZ   (2005-02-26 17:37:00) [4]

Label1.Caption := FormatFloat('00 000 000.',18651432);

Получим  18 651 432


Antonn   (2005-02-26 16:43:00) [5]

Anatoly Podgoretsky ©   (26.02.05 16:34) [3]
а не посмотревши:) через клиент сначала добавляем, рефрешим, читаем.

Antonn ©   (26.02.05 16:33) [2]
поправка 5 строки
if ((length(s) div 3)*3)<>length(s) then


Anatoly Podgoretsky   (2005-02-26 16:34:00) [6]

А предыдущий ответ не стоит использовать?


Antonn   (2005-02-26 16:33:00) [7]

режет строку по 3 символа:

function str2spacestr(s:string):string;
var i:integer;
begin
i:=length(s) div 3;
if (length(s) div 3)<>length(s) then
 result:=result+' '+ copy( s, 0, length(s)-(i*3) );
for i:=(length(s) div 3) downto 0 do
result:=result+' '+ copy( s, length(s)-(i*3)+1, 3 );
end;


DiamondShark   (2005-02-26 16:27:00) [8]

FormatFloat


Наверх

Титульная страница Поиск, карта сайта Написать письмо