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

Вниз

CopyFile   Найти похожие ветки 

 
Ladan   (2006-06-11 18:43) [0]

Добрый день! У меня такой вопрос: почему такой код работает CopyFileA("D:\1.exe","С:\1.exe",Failed(STATUS_WAIT_0)), а такой нет CopyFileA("D:\1.exe",А,Failed(STATUS_WAIT_0)), где А:=""С:\1.exe";

Подскажите как решить эту проблему, очень нужно!

И еще вопрос: Как скопировать папку целиком? (Желательно с помощью DirectoryListBox).
Заранее благодарю!


 
jb   (2006-06-11 19:13) [1]

Насчет копирования директории: непонял как это с помощью DirectoryListBox, а во как просто скопировать директорию с поддиректориями:

{ **** UBPFD *********** by delphibase.endimus.com ****
>> Копирование содержимого директории, вместе с поддиректориями.

Фукция копирует СОДЕРЖИМОЕ директории SourceDir в директорию TargetDir.
Копируются все файлы, подкаталоги, и файлы находящиеся в этих подкаталогах.

Аргумент StopIfNotAllCopied: если значение этого аргумента = True,
то при первой же ошибке копирования файла или папки, работы функции
прекратится а функуция вернёт False. В случае если этот аргумент = False,
то ошибки копирования учитываться не будут.

Аргумент OverWriteFiles: если True, то существующие файлы будут переписаны.

Зависимости: SysUtils, FileCtrl, Windows
Автор:       VID, snap@iwt.ru, ICQ:132234868, Махачкала
Copyright:   VID
Дата:        31 января 2003 г.
***************************************************** }

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
       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;

Пример использования:

FullDirectoryCopy("C:\a", "D:\b");
// Скопирует содержимое директории C:\a (не не саму директорию) в директорию D:\b


 
jb   (2006-06-11 19:16) [2]

И еще совет скачай DelphiWorld с www.delphiworld.narod.ru там все есть. Сам скачал теперь наслаждаюсь.


 
Virgo_Style ©   (2006-06-11 21:50) [3]

Ladan   (11.06.06 18:43)

Проблему описывать надо.
А решается ,PChar(A), , ежели телепатор не сломался



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

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

Наверх




Память: 0.47 MB
Время: 0.038 c
2-1150262895
Марина
2006-06-14 09:28
2006.07.02
Координаты курсора над объектом?


3-1146750076
Ольга
2006-05-04 17:41
2006.07.02
Скрипт объекта БД посредством SQLDMO.SQLServer


10-1121179682
Piter
2005-07-12 18:48
2006.07.02
Вызов функций флешки


15-1149513475
infom
2006-06-05 17:17
2006.07.02
Компоненты для работы с большими целыми числами.


15-1149594755
.ruslan
2006-06-06 15:52
2006.07.02
метка компа в сети