Возникла такая интересная проблема: нужно распечатать много фотографий(страницы из учебника). Хотя они уже фотоаппаратом сами проименованы по порядку, но намного приятние видеть их реальные номера. Чтобы вручную этим не заниматься, решил сделать программку. Но...Где-то она глючит... Находит файлы не по порядку. (Может 30 фоток найти подряд, потом перескочить на какую-то из оставшихся и опять найти все остальные подряд. Что-то в этом роде.).
Вот, собственно, она:
const
len=2;
procedure find;
var
searchResult : TSearchRec;
i:integer;
path:string;
a:string;
begin
path:='';
findFirst(path+'*.JPG', faAnyFile, searchResult);
i:=1;
begin
repeat
a:=inttostr(i);
while length(a)<len do
a:='0'+a;
RenameFile(path+searchResult.Name,path+a+'.JPG');
inc(i);
until FindNext(searchResult) <> 0;
FindClose(searchResult);
end;
end;
Эти функции не по алфавиту файлы находят, а как система выдаст. Обычно порядок соответствует порядку записей в файловой системе. Тебе следует считать все имена в массив или список, отсортировать, и тогда уже переименовывать.
Спасибо! Не ожидал.
sheka, посмотри темы в разделе дельфи (например, тема treeview ), там функция для поиска файлов описана хорошо, думаю не трудно будет понять
P.S.
сколько не делал поиск, он идет по имени, только вот что папки, что файлы - нет разницы . но там и это учтено (за что спасибо volvo).
Чем смог, тем помог