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

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

Renamer картинок [D7, WinXP]


[Ice] ©   (2007-05-06 13:22:00) 

Здравствуйте, уважаемые мастера Delphi! Я пишу программу для ресайза картинок. Суть ее в том, что она изменяет размер большой группы файлов и сжимает их. Так же я задумал, что их можно будет переименовать и пронумеровать в несколько разрядов, т.е. так:
image###.jpg, где ### - номер вида от 001 до 999. И тут начались загвоздки. Вот собственно и вопрос:
Как пронумеровать файлы в несколько разрядов? Очень надеюсь на вашу помощь, ув. мастера!


Belorus   (2007-05-06 22:03:00) [1]

Хехе. Во люди пошли ... Банально добавить нули в зависимости от разряда - сложнее чем изменить размер и пережать картинку ...


[Ice]   (2007-05-06 20:37:00) [2]

Vovan # 2, тоже огромнейшее спасибо!!!


Vovan # 2   (2007-05-06 17:30:00) [3]

Используй ф-ию Format.


for i := 1 to 999 do
 FileName := 'image' +  Format('%.3d', [i]));  // 3 - кол-во цифр


[Ice]   (2007-05-06 13:41:00) [4]

Rial, спасибо большое! Ты мне очень помог!


Rial   (2007-05-06 13:40:00) [5]

function MyFunc(Const I, L : Integer) : String;
Var
   Tmp : Integer;  
   J : Integer;
begin
Str(I, Result);
Tmp:=Length(Result);
If(Tmp < L) then begin
 SetLength(Result, L);
 For J:=0 to Tmp - 1 do
  Result[L - J]:=Result[Tmp - J];
 For J:=1 to L - Tmp + 1 do
  Result[J]:='0';
end;
end;

Наверняка, не оптимально, но тебе хватит пока, думаю :)


Наверх

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