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

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

Форматирование строк. [D2, D7, XP]


Alek Aaz ©   (2006-11-29 03:41:00) 

Подскажите пожалуйста, как будет выглядеть функция format
в данном случае
-------------
Var
 IP = array[0..3] of byte;
begin
 result := format('%h.%h.%h.%h',[IP[0],IP[1],IP[2],IP[3]]);
-------------
Выдает вот так ->   95.1.1.c4
А надо чтобы выдавала так -> 95.01.01.c4 т.е. что бы добивала нули
По Helpу ничего понять не могу :(


Alek Aaz   (2006-11-30 08:00:00) [1]

Это то я сообразил, а вот порядок... Хотя вроде пробовал и с точкой после % ... ладно...


MBo   (2006-11-30 07:18:00) [2]

>Вроде 8 раз прочитал, а до этого не допетрил
Ну да, сразу можно и не сообразить, что насчет precision specifier - речь о точке идет


Alek Aaz   (2006-11-30 06:59:00) [3]

2 Kostafey ©   (29.11.06 09:33) [1]
> что получилось ?
Фигня получилась :-)

> MBo ©   (29.11.06 09:43) [2]
>  Caption := Format('%.2x.%.2x',[b1,b2])
Ну да, все ОК. Спасибо!

> В хелпе написано:
> The value is converted to a string of hexadecimal digits.
>  If the format string contains a precision specifier, it
> indicates that the resulting string must contain at least
> the specified number of digits; if the value has fewer digits,
>  the resulting string is left-padded with zeros.
Эх... говорила мне мама - учи английский :-) Вроде 8 раз прочитал, а до этого не допетрил...
Спасибо.


MBo   (2006-11-29 09:43:00) [4]

В хелпе написано:

The value is converted to a string of hexadecimal digits. If the format string contains a precision specifier, it indicates that the resulting string must contain at least the specified number of digits; if the value has fewer digits, the resulting string is left-padded with zeros.

var
 b1,b2: Byte;
begin
 b1 := $C1;
 b2 := $A;
 Caption := Format('%.2x.%.2x',[b1,b2])


Kostafey   (2006-11-29 09:33:00) [5]

А если попробовать
result := format('%h.0%h.0%h.%h',[IP[0],IP[1],IP[2],IP[3]]);

что получилось ?


Наверх

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