Форум: "Начинающим";
Текущий архив: 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.005 c