Сразу скажу, в чем проблема. Конечное имеется прекрасная функция Dir. Все здорово, но если файл на локальной машине. А если такой путь например: \\User3\host (c)\2\SetAdm.ini, а сеть при этом пропала, то это вызывает либо зависание, либо тормоз надолго. А это нерпятно. Я тут порылся в книгах, на форумах и вот какие варианты нарыл:
Private Declare Function GetFileAttributes Lib "kernel32" Alias "GetFileAttributesA" (ByVal lpFileName As String) As Long
Dim ob As New mcIniFile
'\\User3\host (c)\2\SetAdm.ini
Private Function funDir() As Boolean
On Error GoTo Err_Exit
funDir = True
If Dir$(Me.plEnter) = "" Then funDir = False
Exit Function
Err_Exit:
funDir = (Err.Number = 0)
End Function
Private Function funFileLen() As Boolean
On Error Resume Next
Call FileLen(Me.plEnter)
funFileLen = (Err.Number = 0)
End Function
Private Function funApi() As Boolean
Dim af As Long
af = GetFileAttributes(Me.plEnter)
funApi = (af <> -1)
End Function
Private Function funIn()
On Error GoTo Err_Exit
Dim s As String
ob.FileName = Me.plEnter
s = ob.GetValue("Parametrs", "Start", "0")
MsgBox s
Exit Function
Err_Exit:
funIn = (Err.Number = 0)
End Function
Private Sub Command1_Click()
MsgBox funDir
End Sub
Private Sub Command2_Click()
MsgBox funFileLen
End Sub
Private Sub Command3_Click()
MsgBox funApi
End Sub
Но результат одинаковый...
То есть вопрос: как без проблем и быстро определить, что файл не найден (неважно нет файла или сети). Думаю, это пригодиться не только мне. Даже автор "крепких орешков" ничего лучшего не предложил. Не сочтите вопрос глупым