Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.05.04;
Скачать: CL | DM;

Вниз

Процедура копирования папки с поддиректориями и файлами   Найти похожие ветки 

 
Андрей   (2008-04-07 09:05) [0]

Нашел код, еоторый мне очень понравился. НО!!!!. Копирут только файлы которые находяться в корне. Хотелось бы, чтобы она еще копировала и поддиректории и файлы. Вот код:

function FullDirectoryCopy(SourceDir, TargetDir: string; StopIfNotAllCopied,
 OverWriteFiles: Boolean): Boolean;
var
 SR: TSearchRec;
 I: Integer;
begin
 Result := False;
 SourceDir := IncludeTrailingBackslash(SourceDir);
 TargetDir := IncludeTrailingBackslash(TargetDir);
 if not DirectoryExists(SourceDir) then
   Exit;
 if not ForceDirectories(TargetDir) then
   Exit;

 I := FindFirst(SourceDir + "*", faAnyFile, SR);
 try
   while I = 0 do
   begin
     if (SR.Name <> "") and (SR.Name <> ".") and (SR.Name <> "..") then
     begin

         form1.listbox2.Items.Add(inttostr(SR.Attr));

       if SR.Attr = faDirectory then
         Result := FullDirectoryCopy(SourceDir + SR.Name, TargetDir + SR.NAME,
               StopIfNotAllCopied, OverWriteFiles)
       else if not (not OverWriteFiles and FileExists(TargetDir + SR.Name))
         then
         Result := CopyFile(Pchar(SourceDir + SR.Name), Pchar(TargetDir +
           SR.Name), False)
       else
         Result := True;
       if not Result and StopIfNotAllCopied then
         exit;
     end;
     I := FindNext(SR);
   end;
 finally
   SysUtils.FindClose(SR);
 end;
end;


 
Сергей М. ©   (2008-04-07 09:19) [1]

Вопрос-то в чем состоит ?


 
ЮЮ ©   (2008-04-07 09:31) [2]

замени
 if SR.Attr = faDirectory
на
 if SR.Attr and faDirectory = faDirectory
и будет тебе счастье


 
Amoeba ©   (2008-04-07 14:09) [3]

SHFileOperation может поможет?
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=91


 
Palladin ©   (2008-04-07 14:13) [4]


> ЮЮ ©   (07.04.08 09:31) [2]

не надо ничего менять, ему этот код очень нравится...


 
ЮЮ ©   (2008-04-08 03:43) [5]

> не надо ничего менять, ему этот код очень нравится...

Ну так исправление ошибки "красоту кода" не должно нарушить :)



Страницы: 1 вся ветка

Текущий архив: 2008.05.04;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.014 c
2-1207499830
savyhinst
2008-04-06 20:37
2008.05.04
BPL


15-1206368870
asdf2
2008-03-24 17:27
2008.05.04
Беспроводная связь.


2-1207738292
F@T@L_Err0r
2008-04-09 14:51
2008.05.04
Компоненты Сокет


15-1205930041
Elec3C
2008-03-19 15:34
2008.05.04
with в C++


2-1207744045
Снежинка
2008-04-09 16:27
2008.05.04
Пароль