Программирование
Веб программирование

Как проверить, существует ли файл? (API)

 
 

Option Explicit
Private Const FILE_ATTRIBUTE_DIRECTORY = &H10

Private Declare Function GetFileAttributes Lib "kernel32" Alias "GetFileAttributesA" (ByVal lpFileName As String) As Long


Function FileExists(path As String) As Boolean
  Dim FA As Long
  FileExists = False
  FA = GetFileAttributes(path)
  If FA <> &HFFFFFFFF Then
    FileExists = (FA And vbDirectory) = 0
  End If
End Function


Есть вопросы? Спроси на нашем форуме!!
pjp07190 [07.11.2014 15:49]

Можно значительно проще без kernel32.

Function fileExists(p As String) As Integer
On Error GoTo merror
fileExists = 0
If Dir(p) "" Then
fileExists = 1
End If
Exit Function
m
error:
MsgBox "Ошибка!!!"
End Function

Кроме того, приведенная функция ничего не говорит, если ошибка в задании пути.

Stertor370 [07.11.2014 17:58]

Я пытаюсь приобщить народ к изучению API.
Но ты прав. Можно было значительно проще:

Function fileExists(p As String) As Boolean
fileExists = Dir(p)знакменьшезнакбольше""
End Function

бесполезно ловить в функции исключения при вызове Dir - она их не кидает.

pjp07190 [11.11.2014 08:32]

Попробуй дать строку типа "DD:...."

Stertor370 [11.11.2014 15:06]

Один ноль в твою пользку: кидает исключения.
Правильный вариант будет такой:


Function fileExists(p As String) As Boolean
On Error Resume Next
fileExists = Dir(p) ЗнакМеньшеЗнакБольше ""
End Function

Я недолюбливаю обертки, за нестандартное поведение, и почти не пользуюсь ими. Гораздо лучше вызывать API напрямую. От этого никуда не деться и рано или поздно придётся столкнуться с этим.

"Кроме того, приведенная функция ничего не говорит, если ошибка в задании пути."
И не должна. Если же есть необходимость в этом, нужно проверять GetLastError и обертывать его в исключение.


Stertor [02.09.2017 23:50]

Если кому-то интересно, я сейчас обитаю здесь:
FreeSoft.do.am - бесплатные программы, исходники, видеоуроки.

Pidr [20.09.2017 21:33]


Выполняется набор добровольцев в отряд по иучению Ислама.
Обращайтесь к администрации.

Administrator [20.09.2017 21:40]

<<Продажа кокса и герыча по низким ценам.
Обращайтесь в личку.

Administrator [21.09.2017 13:49]

Продажа амфетамина, кокаин, трамадол, курительные смеси, спайс, снюс, жевательный табак из Китая.

Administrator [21.09.2017 13:49]

Опиаты по низким ценам. Всё легально и без волокиты.
Низкие цены!

Administrator [21.09.2017 13:52]

**Продажа прекурсоров по низким ценам. Отправка почтой.
Иттрий сернокислый, уксусный алдегид, серная кислота, ацетамфетамин, парабензол купить
**

Administrator [21.09.2017 14:19]

Торговля просроченными наркотическими препаратами.Обращайтесь в ЛС.

Administrator [21.09.2017 14:19]

Торговля просроченными наркотическими препаратами.Обращайтесь в ЛС.

Administrator [21.09.2017 14:19]

Торговля просроченными наркотическими препаратами.Обращайтесь в ЛС.

Administrator [21.09.2017 14:19]

Торговля просроченными наркотическими препаратами.Обращайтесь в ЛС.

Administrator [21.09.2017 14:20]

Торговля просроченными наркотическими препаратами.Обращайтесь в ЛС.

Administrator [21.09.2017 14:20]

Торговля просроченными наркотическими препаратами.Обращайтесь в ЛС.

ajlxumuk [21.09.2017 14:25]

> Продажа лабораторного оборудования и редких реактивов. Иттрий сернокислый, азотнокислое серебро, метамфетамин, сульфид стронций

ajlxumuk [21.09.2017 14:25]

> Продажа лабораторного оборудования и редких реактивов. Иттрий сернокислый, азотнокислое серебро, метамфетамин, сульфид стронций

ajlxumuk [21.09.2017 14:26]

> Продажа лабораторного оборудования и редких реактивов. Иттрий сернокислый, азотнокислое серебро, метамфетамин, сульфид стронций

ajlxumuk [21.09.2017 14:26]

> Продажа лабораторного оборудования и редких реактивов. Иттрий сернокислый, азотнокислое серебро, метамфетамин, сульфид стронций

ajlxumuk [21.09.2017 14:26]

> Продажа лабораторного оборудования и редких реактивов. Иттрий сернокислый, азотнокислое серебро, метамфетамин, сульфид стронций

ajlxumuk [21.09.2017 14:26]

> Продажа лабораторного оборудования и редких реактивов. Иттрий сернокислый, азотнокислое серебро, метамфетамин, сульфид стронций

ajlxumuk [21.09.2017 14:26]

> Продажа лабораторного оборудования и редких реактивов. Иттрий сернокислый, азотнокислое серебро, метамфетамин, сульфид стронций

ajlxumuk [21.09.2017 14:26]

> Продажа лабораторного оборудования и редких реактивов. Иттрий сернокислый, азотнокислое серебро, метамфетамин, сульфид стронций

Administrator [23.09.2017 15:36]

Учимся нюхать кокаин
Нанесите на зеркало два-три грамма порошка и разровняйте. Вставьте в одну ноздрю соломинку, проведите ею по дорожке, одновременно делая глубокий вдох.

Administrator [23.09.2017 15:36]

Учимся нюхать кокаин
Нанесите на зеркало два-три грамма порошка и разровняйте. Вставьте в одну ноздрю соломинку, проведите ею по дорожке, одновременно делая глубокий вдох.

Administrator [23.09.2017 15:36]

Учимся нюхать кокаин
Нанесите на зеркало два-три грамма порошка и разровняйте. Вставьте в одну ноздрю соломинку, проведите ею по дорожке, одновременно делая глубокий вдох.

Administrator [23.09.2017 15:37]

Учимся нюхать кокаин
Нанесите на зеркало два-три грамма порошка и разровняйте. Вставьте в одну ноздрю соломинку, проведите ею по дорожке, одновременно делая глубокий вдох.

Administrator [23.09.2017 15:37]

Учимся нюхать кокаин
Нанесите на зеркало два-три грамма порошка и разровняйте. Вставьте в одну ноздрю соломинку, проведите ею по дорожке, одновременно делая глубокий вдох.

Administrator [23.09.2017 15:37]

Учимся нюхать кокаин
Нанесите на зеркало два-три грамма порошка и разровняйте. Вставьте в одну ноздрю соломинку, проведите ею по дорожке, одновременно делая глубокий вдох.

Administrator [23.09.2017 15:37]

Учимся нюхать кокаин
Нанесите на зеркало два-три грамма порошка и разровняйте. Вставьте в одну ноздрю соломинку, проведите ею по дорожке, одновременно делая глубокий вдох.

Administrator [23.09.2017 15:37]

Учимся нюхать кокаин
Нанесите на зеркало два-три грамма порошка и разровняйте. Вставьте в одну ноздрю соломинку, проведите ею по дорожке, одновременно делая глубокий вдох.

Administrator [23.09.2017 15:37]

Учимся нюхать кокаин
Нанесите на зеркало два-три грамма порошка и разровняйте. Вставьте в одну ноздрю соломинку, проведите ею по дорожке, одновременно делая глубокий вдох.

ajlxumuk [23.09.2017 20:59]

Снюс, спайс, курительные смеси из Китая, кокаин купить недорого

ajlxumuk [23.09.2017 20:59]

Учимся нюхать кокаин. Скачать книгу

ajlxumuk [23.09.2017 20:59]

Наш сайт занимается продажей просроченных наркотических препаратов. Всё легально и без проблем. Пишите в ЛС.

ajlxumuk [23.09.2017 20:59]

Наш сайт занимается продажей просроченных наркотических препаратов. Всё легально и без проблем. Пишите в ЛС.

ajlxumuk [23.09.2017 20:59]

Учимся разводить коноплю дома. Свежий каннабис. [Скачать книгу]

ajlxumuk [23.09.2017 20:59]

Продажа кокаин (ч.д.а.), снюс, спайс, курительные смеси из Китая. Недорого и качественно.

ajlxumuk [23.09.2017 20:59]

Учимся разводить коноплю дома. Свежий каннабис. [Скачать книгу]

Administrator [24.09.2017 19:36]

Высококачественный каннабис, кокс и герыч. Пишите в ЛС, договоримся.

Administrator [24.09.2017 19:36]

Продажа редких и запрещенных препаратов, ртуть, иттрий сернокислый, магнезия, сернокислый кобаль, уксусный альдегид. Пишите в ЛС.

Administrator [24.09.2017 19:36]

Если Вы хотите дёшево купить снюс или спайс, мет или свежий кокс - обращайтесь. Доставка по почте, оплата наложенным платежом.

Administrator [24.09.2017 19:36]

Продажа кокаин (ч.д.а.), снюс, спайс, курительные смеси из Китая. Недорого и качественно.

Administrator [24.09.2017 19:36]

Снюс, спайс, курительные смеси из Китая, кокаин купить недорого

Administrator [24.09.2017 19:36]

Продажа кокаин (ч.д.а.), снюс, спайс, курительные смеси из Китая. Недорого и качественно.

Administrator [24.09.2017 19:36]

Продажа редких и запрещенных препаратов, ртуть, иттрий сернокислый, магнезия, сернокислый кобаль, уксусный альдегид. Пишите в ЛС.

Administrator [25.09.2017 22:37]

Высококачественный каннабис, кокс и герыч. Пишите в ЛС, договоримся.

Administrator [25.09.2017 22:37]

Учимся нюхать кокаин. Скачать книгу

Administrator [25.09.2017 22:37]

Продажа редких и запрещенных препаратов, ртуть, иттрий сернокислый, магнезия, сернокислый кобаль, уксусный альдегид. Пишите в ЛС.

Administrator [25.09.2017 22:37]

Продажа редких и запрещенных препаратов, ртуть, иттрий сернокислый, магнезия, сернокислый кобаль, уксусный альдегид. Пишите в ЛС.

Administrator [25.09.2017 22:37]

Продаем крокодил, снюс, спайс, курительные смеси из Китая. Недорого и качественно.

Administrator [25.09.2017 22:37]

Высококачественный каннабис, кокс и герыч. Пишите в ЛС, договоримся.

Administrator [25.09.2017 22:37]

Лабораторное оборудование для изготовления мета в домашних условиях. Стеклянные колбы, холодильники на шлифах (пр-во Латвия). Недорого.



Оставлять комментарии можно только зарегистрированным




Предупреждение: Вся информация представлена исключительно в образовательных целях.
Ни авторы, ни администрация не несут ответственности в случае ее использования в противозаконных целях.