Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.05.04;
Скачать: [xml.tar.bz2];

Вниз

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

 
Андрей   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.006 c
15-1205487320
i
2008-03-14 12:35
2008.05.04
полный перенос delphi с компа на комп


2-1207560659
AndrewG
2008-04-07 13:30
2008.05.04
InterBase 6.5


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


2-1207365197
Крылатый
2008-04-05 07:13
2008.05.04
Доступ к локальной папке


15-1206354703
Ega23
2008-03-24 13:31
2008.05.04
Генератор случайных чисел: какой использует Delphi?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский