Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Создание указанного пути

Delphi , Файловая система , Директории



Автор: VID
WEB-сайт: http://delphibase.endimus.com

{ **** UBPFD *********** by delphibase.endimus.com ****
>> 
Функция CreateDirEx создаёт указанный путь DIR. В отличии от функции CreateDir,
для CreateDirEx нет необходимости существования каталога, в которому будет
размещаться создаваемый новый каталог.
Т.е., пусть существует путь
C:\Folder
Нам надо создать путь C:\Folder\Level1\Level2
При использовании CreateDir пришлось бы дважды вызывать эту функцию, сначала
для создания C:\Folder\Level1\ а затем для C:\Folder\Level1\Level2.
В случае работы с функцией CreateDirEx ей достаточно лишь передать параметр:
CreateDirEx('C:\Folder\Level1\Level2') и необходимый путь будет создан,
в независимости от того существовала вообще ли до этого папка C:\Folder

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

function CreateDirEx(Dir: string): Boolean;
var
  I, L: Integer;
  CurDir: string;
begin
  if ExcludeTrailingBackslash(Dir) = '' then
    exit;
  Dir := IncludeTrailingBackslash(Dir);
  L := Length(Dir);
  for I := 1 to L do
  begin
    CurDir := CurDir + Dir[I];
    if Dir[I] = '\' then
    begin
      if not DirectoryExists(CurDir) then
        if not CreateDir(CurDir) then
          Exit;
    end;
  end;
  Result := True;
end;

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

CreateDirEx(AnyFolderName),
// где AnyFolderName - любой допустимый в файловой системе путь.

Создание Определенного Пути

Автор: VID, http://delphibase.endimus.com

Функция CreateDirEx создает указанный путь к директории DIR. В отличие от функции CreateDir, она не требует существования родительской директории, в которой будет размещаться новая директория.

Например, если вы хотите создать путь C:\Folder\Level1\Level2, вам нужно использовать CreateDirEx только один раз, передав полный путь как параметр: CreateDirEx('C:\Folder\Level1\Level2'). Функция создаст все необходимые директории в указанном пути, независимо от существования родительской директории.

Зависимости: FileCtrl, SysUtils

Автор: VID, snap@iwt.ru, ICQ:132234868, Mahachkala Copyright: VID Дата: 28 января 2003 года

Вот код:

function CreateDirEx(Dir: string): Boolean;
var
  I, L: Integer;
  CurDir: string;
begin
  if ExcludeTrailingBackslash(Dir) = '' then
    Exit;

  Dir := IncludeTrailingBackslash(Dir);
  L := Length(Dir);

  for I := 1 to L do
  begin
    CurDir := CurDir + Dir[I];
    if Dir[I] = '\' then
    begin
      if not DirectoryExists(CurDir) then
        if not CreateDir(CurDir) then
          Exit;
    end;
  end;

  Result := True;
end;

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

CreateDirEx(AnyFolderName), где AnyFolderName - любая валидная строка пути файловой системы.

Функция итерирует по указанному пути к директории, создавая каждую директорию последовательно. Она использует функции DirectoryExists и CreateDir из единицы FileCtrl для проверки существования директории и ее создания, если необходимо. Функции ExcludeTrailingBackslash и IncludeTrailingBackslash из единицы SysUtils используются для обработки.trailing backslashes в пути к директории.

Создание указанного пути с помощью функции CreateDirEx, которая позволяет создавать каталоги без необходимости существования предыдущих каталогов.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Директории ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-02-19 01:07:49/0.022716045379639/1