Страница: 1 |
Страница: 1 |
Вопрос: Файлы, папки
Добавлено: 19.08.04 10:28
Автор вопроса: Mihalыch | ICQ: 373-509-101
Есть две строки, например – “C:\Новая папка” и “C:\Новая папка\1.txt”. Как определить, что в первом случае это путь к папке, а во втором к файлу. Синтаксический разбор пути не подходит.
Ответы
Всего ответов: 5
Номер ответа: 1
Автор ответа:
Kodo
Разработчик Offline Client
ICQ: 293048085
Вопросов: 37
Ответов: 457
Профиль | | #1
Добавлено: 19.08.04 10:42
Во как:
Function IsDir(DirPath As String) As Boolean
On Error GoTo IsNotDir
If GetAttr(DirPath) And vbDirectory Then
IsDir = True
Else
IsDir = False
End If
Exit Function
IsNotDir:
IsDir = False
End Function
Номер ответа: 2
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #2
Добавлено: 19.08.04 11:05
2 Kodo: а что за ошибка возникает, может возникнуть, почему ты решаешь, что если ошибка, то это не директория, а файл? И еще: если указанная строка не существует в файловой системе, что тогда выдаст твоя функция?
Номер ответа: 3
Автор ответа:
Kodo
Разработчик Offline Client
ICQ: 293048085
Вопросов: 37
Ответов: 457
Профиль | | #3
Добавлено: 19.08.04 12:02
Код не мой, взят из WinMPQ.
А если возникает ошибка, значит, файла нет.
Номер ответа: 4
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #4
Добавлено: 19.08.04 12:38
2 Kodo:
Верно, фала нет... или папки нет??? Тут всё равно на случай ошибки надо провести на всякий случай синтаксический анализ: чего нет файла или папки? Предлагаю переделать в такой вариант:
Function IsDir(DirPath As String) As Integer
On Error GoTo IsNotDirOrFile
If GetAttr(DirPath) And vbDirectory Then
IsDir = 1
Else
IsDir = 0
End If
Exit Function
IsNotDirOrFile:
IsDir = -1
End Function
Плюс, если IsDir = -1, то синтаксический анализ.
Номер ответа: 5
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #5
Добавлено: 19.08.04 13:05
PathFileExists