Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> printf("%03d", 25) в Delphi? ' 25' -> '025' 
:(
    Опции темы
Saygak
  Дата 17.7.2008, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 2.5.2007

Репутация: нет
Всего: 1



Здравствуйте уважаемые программисты. Я частенько перевожу номер дня в строку (имена файлов у меня f:\PATH\K05\D025\st05025.dat и т.д). В с++ я просто делал нечто похожее
Код

sprintf(FileName, "f:\\PATH\\K%02d\\D%03d\\st%02d%03d.dat", year, day, year, day);

а Format так делать не хочет (%03d - значит что целое число нужно выровнять на три позиции если слева есть пробелы заменить их нулём, т.е. " 25" -> "025"). Так вот собственно вопрос вот в чем: есть ли стандартные способы замены выравнивающих символов " " на "0" в Delphi (ну аналог TFormatSettigs или DecimalSeparator для DateTime???)
Свои реализации типа:
Код

function DayToStr(const Value: Integer): String;
begin
  Result := Format('%3d", [Value]);
  if Result[1] = ' ' then Result[1]:='0';
  if Result[2] = ' ' then Result[2]:='0';
end;

просьба не предлагать.
Заранее спасибо.

Это сообщение отредактировал(а) Saygak - 17.7.2008, 14:20
PM MAIL ICQ   Вверх
kemiisto
Дата 17.7.2008, 17:27 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 2
Всего: 160



 smile 

Цитата

Format specifiers have the following form:
 
"%" [index ":"] ["-"] [width] ["." prec] type
... 
An optional precision specifier, ["." prec]
...
The following table summarizes the possible values for type:     
d Decimal. The argument must be an integer value. The value is converted to a string of decimal 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 less digits, the resulting string is left-padded with zeros.


Код

Writeln(Format('f:\PATH\K%2.2d\D%3.3d\st%2.2d%3.3d.dat', [8, 17, 8, 17]));




--------------------
PM MAIL WWW GTalk Jabber   Вверх
Saygak
Дата 18.7.2008, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 2.5.2007

Репутация: нет
Всего: 1



Спасибо большое kemiisto, а то так дураком бы и помер (Выразил бы респект, да не могу - мало постов)
PM MAIL ICQ   Вверх
kemiisto
  Дата 20.7.2008, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 2
Всего: 160



Saygak, рад стараться!  smile 


--------------------
PM MAIL WWW GTalk Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0426 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.