Главная страница
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.47 MB
Время: 0.016 c
6-1185440244
cosinus
2007-07-26 12:57
2008.05.04
Как послать e-mail с машины без единой почтовой программы?


2-1207665127
arinyshka
2008-04-08 18:32
2008.05.04
вставка и считывание картинки в бд ms sql


15-1205931726
@!!ex
2008-03-19 16:02
2008.05.04
Аналог property в C++


2-1207178467
Johnnnnnn
2008-04-03 03:21
2008.05.04
Save Target AS?


2-1207750959
иванс
2008-04-09 18:22
2008.05.04
SC_DRAGMOVE