Копирование содержимого директории, вместе с поддиректориямиDelphi , Файловая система , ДиректорииКопирование содержимого директории, вместе с поддиректориями
Автор: VID { **** 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 Функция Delphi, называемая
Функция возвращает булевое значение, указывающее, была ли операция копирования успешной. Вот разбивка кода:
Пример использования показывает, как вызывать функцию с исходным каталогом В целом, это полезная функция для копирования каталогов и их содержимого в Delphi. Копирование содержимого директории, вместе с поддиректориями, функция FullDirectoryCopy копирует содержимое директории SourceDir в директорию TargetDir. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Директории ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |