Главная страница
    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-1206214262
easy
2008-03-22 22:31
2008.05.04
С днем рождения ! 22 марта 2008 суббота


2-1207761012
Dark
2008-04-09 21:10
2008.05.04
PageControl


15-1205743389
REA
2008-03-17 11:43
2008.05.04
GPS перехват


15-1205784808
{RASkov}
2008-03-17 23:13
2008.05.04
NoteBook и WinXP


15-1205553369
Матриц
2008-03-15 06:56
2008.05.04
Как повернуть вектор к вектору на определённый процент?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский