Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Подскажите как сделать цикл


Автор: Serhik_z 12.4.2005, 12:46
Подскажите как сделать цикл переименования файлов.
Так переименовывается только первый файл в папке.

Код

procedure TForm1.Button1Click(Sender: TObject);
begin
  ScanDir(''); // Директория вывода
end; 

procedure TForm1.ScanDir(Dir: string);
var
SearchRec: TSearchRec;
F: File;
begin 
 if Dir<>'' then if Dir[length(Dir)]<>'\' then Dir:=Dir+'\';
  if FindFirst(Dir+'*.jpg', faAnyFile, SearchRec)=0 then
  repeat
  if (SearchRec.name='.') or (SearchRec.name='..') then continue;  
  if (SearchRec.Attr and faDirectory)<>0 then  
  ScanDir(Dir+SearchRec.name) //we found Directory: "Dir+SearchRec.name"
else
  AssignFile(F,SearchRec.name);
  Rename(F,'0001.jpg') until FindNext(SearchRec)<>0;
 FindClose(SearchRec);
end; 



 ! 
 
НаХ плодить дубликаты: http://forum.vingrad.ru/index.php?showtopi...533;entry375111
PS: Тема закрыта!

Автор: Snowy 12.4.2005, 13:01
Делай только FindFirst.
Поскольку ты переименовываешь файл, то ты пересестанешь находить файлы, когда они закончатся.
FindNext тут тебе не помощник, т.к. ты модифицируешь FAT.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)