![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Форматирование строк. [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]]);
что получилось ?