|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
15.08.2007, 09:40 | #1 |
Пользователь
Регистрация: 26.06.2007
Сообщений: 36
|
Проверка существования директории
Добрый день.
Существует ли что-нибудь подобное FileExists для директорий? |
15.08.2007, 09:50 | #2 |
Новичок
Джуниор
Регистрация: 15.08.2007
Сообщений: 1
|
if DirectoryExists(dirName)
then ShowMessage(dirName+' существует') else ShowMessage(dirName+' не существует'); |
15.08.2007, 11:33 | #3 |
Александр
Администратор
Регистрация: 28.10.2006
Сообщений: 17,608
|
|
24.11.2007, 22:02 | #4 |
Пользователь
Регистрация: 04.07.2007
Сообщений: 76
|
У меня вопрос посложнее. Как проверить есть ли определённая подпапка в папке? если нет, то создать её.
Например так c:\1\2\3\ Сначала нужно проверить есть ли папка 1, если нет - то создать и потом проверить есть ли папка 2 и создать если нет, и т.д. Как такое сделать?
http://wmhelpers.narod.ru/ - сайт программ, помогающими получить немного денег.
|
24.11.2007, 22:58 | #5 | |
Александр
Администратор
Регистрация: 28.10.2006
Сообщений: 17,608
|
Вот довольно просто, если каталог есть, то он не будет создан, этот исходник должен вывести код ошибки.
Цитата:
|
|
25.11.2007, 15:45 | #6 |
Пользователь
Регистрация: 04.07.2007
Сообщений: 76
|
Видимо я не совсем правильно объяснил суть.
if DirectoryExists('c:\1\2\3\') Папки 1 может и не быть! Как создать её а в ней создать папку 2 и папке 2 папку 3 ? Также может быть папка 2, но папки 3 может не быть! Надо как-то по очереди проверить существование каждой папки! Вот это: if DirectoryExists(''c:\1\2\')=false then CreateDir(''c:\1\2\'); не работает так как нужно если нет папки 1. Мне нужно чтоб в этом случае создавалась папка 1, а в ней папка 2. Alar, этот код тоже работает как надо если есть папка 1, а если нет - папки не создаёт.
http://wmhelpers.narod.ru/ - сайт программ, помогающими получить немного денег.
|
25.11.2007, 18:36 | #7 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Элементарней просто нет. И кстати есть еще и функция в SysUtils ( вроде ) ForceDirectories. Читайте статьи например DelphiWorld. Именно из-за не охоты самому найти решение задачи и появляются подобные вопросы. И Вы пишете название темы "Существ. папки". А потом в ходе дела оказывается что Вам надо создать путь директории. Вы определитесь сразу.
алгоритм сразу на быструю руку: var i: integer; path: string; curpath: string; begin for i:= 1 to length(path) do begin if path[i] = '\' then begin curpath := copy(path, 1, i); if {not or true} directoryexists(curpath) then ; // !!! // createdirectory(pchar(curpath), NIL); // api WinNT end; end; end; вроде так... Последний раз редактировалось BOBAH13; 25.11.2007 в 18:40. |
25.11.2007, 19:47 | #8 |
Пользователь
Регистрация: 04.07.2007
Сообщений: 76
|
BOBAH13, огромное спасибо! Всё оказалось просто: ForceDirectories('C:\1\2\3'); и всё как надо!
Всем кто пытался помочь спасибо! Немного почистил. Тема закрыта //zetrix
http://wmhelpers.narod.ru/ - сайт программ, помогающими получить немного денег.
Последний раз редактировалось zetrix; 25.11.2007 в 19:53. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Выбор директории | Kashp | Общие вопросы Delphi | 6 | 06.05.2009 06:29 |
Проверка существования TEdit | John_chek | Общие вопросы Delphi | 9 | 18.04.2008 14:56 |
отправка директории | kommunist | Работа с сетью в Delphi | 2 | 19.01.2008 17:24 |
Проверка наличия директории | SANIOK_AV | Общие вопросы Delphi | 2 | 16.01.2008 11:05 |
проверка существования окна | Shade | Win Api | 3 | 22.07.2007 17:56 |