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

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

Как бороться с таким идиотизмом???


Genie™ ©   (2005-05-28 18:24:00) 

Пытаюсь переименовать папку с файлами следующим образом:

RenameFile(CurrentDir + '\Documents\Шаблоны\' + ComboBox.Items[ComboBox.ItemIndex], CurrentDir + '\Documents\Шаблоны\' + Edit.Text);,

где CurrentDir- путь приложения, определённый при FormCreateфункцией GetCurrentDir
ComboBox.Items[ComboBox.ItemIndex]- старое имя папки
Edit.Text- новое имя

Переименование не осуществляется. НО! Если либо удалить файлы из неё, либо переименовать папку "Шаблоны" в любую другую, то всё работает!!!


Defunct   (2005-05-28 19:40:00) [1]

Перед переименованием обязательно надо удалить существующий файл с таким же именем.

Procedure TDBSaver.Execute;
Begin
 try
   if FileExists( Main_Telecontrol_Components_Container ) then
   begin
      if FileExists( Backup_Telecontrol_Components_Container ) then
        DeleteFile( Backup_Telecontrol_Components_Container);

     RenameFile( Main_Telecontrol_Components_Container,
                 Backup_Telecontrol_Components_Container );
   end;
   If Assigned(Container) Then
     Container.CreateDCFile( Main_Telecontrol_Components_Container );
 except
   on E:Exception do ShowException('Execute', ClassName, E);
 end
end;


VMcL   (2005-05-28 19:18:00) [2]

>> Genie™   (28.05.05 18:24)

if not RenameFile(...) then
 RaiseLastOSError;


Cobalt   (2005-05-28 19:10:00) [3]

Суть проблемы не раскрыта.
А такие процедуры для удобства отладки рекомендую вызывать
RenameFile(s1,s2);


Наверх

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