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

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.009 c
5-1134553213
Новенький
2005-12-14 12:40
2006.07.02
Сокрытие свойства


2-1150399200
Zloi-avgust
2006-06-15 23:20
2006.07.02
скачать файл по HTTP зная PI (при условии что нет домена)


1-1148213533
Windows
2006-05-21 16:12
2006.07.02
Работа с CD-RW


2-1150238612
learner
2006-06-14 02:43
2006.07.02
Как отличить PChar от PWideChar ?


2-1150108517
inri13666
2006-06-12 14:35
2006.07.02
Закрытие ICQ





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