Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.03.2009, 21:41   #1
zotox
Форумчанин
 
Регистрация: 09.09.2008
Сообщений: 395
По умолчанию Не переименовываются файлы.Почему?

код:

Код:
procedure TForm1.FindFile(Dir:String);
var
SR:TSearchRec;
FindRes:Integer;
begin
FindRes:=FindFirst(Dir+'*.*',faAnyFile,SR);
While FindRes=0 do
begin
if ((SR.Attr and faDirectory)=faDirectory) and
((SR.Name='.')or(SR.Name='..')) then
begin
FindRes:=FindNext(SR);
Continue;
end;

if ((SR.Attr and faDirectory)=faDirectory) then {åñëè íàéäåí êàòàëîã, òî}
begin
FindFile(Dir+SR.Name+'\');
FindRes:=FindNext(SR);
Continue;
end;

Memo1.Lines.Add(SR.Name);
FindRes:=FindNext(SR);
end;
FindClose(SR);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
 i:integer;
 stroka,stroka2:string;
begin
 memo1.Lines.Text:='';
 FindFile(Edit1.Text);
 for i:=0 to memo1.Lines.Count-1 do
  begin
   stroka:=memo1.Lines[i];
   stroka2:=ChangeFileExt(stroka, edit2.Text);
   RenameFile(stroka, stroka2);
  end;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
Edit1.Text:='C:\Windows\';
end;


end.
Помогите.В чем моя ошибка?
zotox вне форума Ответить с цитированием
Старый 24.03.2009, 09:21   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Поставь breakpoint на строку где вызывается переименование и посмотри чему равны ее параметры. Если я не ошибаюсь они работают корректно только когда в них обеих указан полный путь.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.03.2009, 09:28   #3
XuTpbIu
Злобстер
Форумчанин
 
Аватар для XuTpbIu
 
Регистрация: 19.03.2009
Сообщений: 134
По умолчанию

ой как тебе интересно знать что ппц) так интересно убить папку винды что ли?))))
Я сделал так:
Код:
   if FileExists(Edit1.Text+stroka) then
   begin
	   stroka2:=ChangeFileExt(Edit1.Text+stroka, edit2.Text);
	   RenameFile(Edit1.Text + stroka, stroka2)
   end;
От знаний ещё никто не умирал, но рисковать не стоит.
XuTpbIu вне форума Ответить с цитированием
Старый 24.03.2009, 09:32   #4
zotox
Форумчанин
 
Регистрация: 09.09.2008
Сообщений: 395
По умолчанию

Stilet все ок! спасибо! да работает функция когда указаны полные пути файлов
XuTpbIu аналогично! спасибо!
zotox вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
почему кракозябры? Bezdar Microsoft Office Excel 12 06.03.2009 10:06
Почему не робит?? uraura БД в Delphi 26 12.11.2008 11:20
Почему? Sota О форуме и сайтах клуба 4 26.07.2007 16:26
Почему так? Сильванович Михаил Общие вопросы C/C++ 2 03.07.2007 11:57
два вредных вопроса:про асю и прикриплёные файлы файлы steck Свободное общение 3 17.06.2007 14:53