Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.07.2009, 17:05   #1
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию Создать путь к файлу

есть файл, его необходимо скопировать в c:\1\2\3\4\5\file.file
но путь такой отсутствует, начиная с любой иерархии. Есть ли готовая функция, которая создаст все необходимые папки ? Писать такое быстро и не сложно, но может все уже давно есть.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 01.07.2009, 17:09   #2
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

может это подойдёт
ForceDirectories(Dir: string): Boolean — создает новый каталог на диске. Позволяет одним вызовом создать все каталоги пути, заданного параметром Dir.
SERG1980 вне форума Ответить с цитированием
Старый 01.07.2009, 17:09   #3
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Кажется есть, папки на всем протяжении пути создает, точно не помню, но стоит поискать во всяком случае. ForceDirectory?
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 01.07.2009, 17:11   #4
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

ForceDirectory как раз оно, спасибо =)
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 01.07.2009, 17:13   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Есть ли готовая функция, которая создаст все необходимые папки ?
ForceDirectories('c:\1\2\3\4\5\')

В хелпе пример.

тьху ты... Опять не вовремя...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.07.2009, 17:14   #6
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Реализация в JclFileutils больше понравилась нежели в Sysutils
Код:
function ForceDirectories(Name: string): Boolean;
var
  ExtractPath: string;
begin
  Result := True;
  if Length(Name) = 0 then
    {$IFDEF CLR}
    raise EJclFileUtilsError.Create(RsCannotCreateDir);
    {$ELSE}
    raise EJclFileUtilsError.CreateRes(@RsCannotCreateDir);
    {$ENDIF}
  Name := PathRemoveSeparator(Name);
  {$IFDEF MSWINDOWS}
  ExtractPath := ExtractFilePath(Name);
  if ((Length(Name) = 2) and (Copy(Name, 2,1) = ':')) or DirectoryExists(Name) or (ExtractPath = Name) then
    Exit;
  {$ENDIF MSWINDOWS}
  {$IFDEF UNIX}
  if (Length(Name) = 0) or DirectoryExists(Name) then
    Exit;
  ExtractPath := ExtractFilePath(Name);
  {$ENDIF UNIX}
  if ExtractPath = '' then
    Result := CreateDir(Name)
  else
    Result := ForceDirectories(ExtractPath) and CreateDir(Name);
end;
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Путь к файлу artemavd Общие вопросы Delphi 12 24.03.2009 14:09
Путь к файлу Slash Общие вопросы Delphi 3 27.11.2008 14:02
Путь к файлу Баламут Win Api 12 14.05.2008 13:27
Путь к файлу Terran Общие вопросы Delphi 3 13.04.2008 01:18
Путь к файлу Лубышев Общие вопросы Delphi 2 10.02.2008 21:13