how to check PAth

senzor

Registered User.
Local time
Yesterday, 16:02
Joined
Feb 14, 2006
Messages
10
Heloo
I have another question
im making an aplication and i made something zo that you can replicate a DB.
When you replicating you have to giva in a PATH for location of replication like
(c:\Home\Replicate.mdb)
Now i want to make something to check of the path has the right "ingredients"
like c:\ and .mdb
i have this but its NOT GOOD! :)

if str is not like (?(:\)*(.mdb)) then exit sub
 
Parse Dir: This is what you need.

Option Compare Database

Private Const MAX_PATH& = 260
Private Const INVALID_HANDLE_VALUE = -1

Type FILETIME
dwLowDateTime As Long
dwHighDateTime As Long
End Type

Type WIN32_FIND_DATA ' 318 Bytes
dwFileAttributes As Long
ftCreationTime As FILETIME
ftLastAccessTime As FILETIME
ftLastWriteTime As FILETIME
nFileSizeHigh As Long
nFileSizeLow As Long
dwReserved As Long
dwReserved1 As Long
cFileName As String * MAX_PATH
cAlternate As String * 14
End Type

Private Declare Function apiFindFirstFile Lib "kernel32" _
Alias "FindFirstFileA" _
(ByVal lpFileName As String, _
lpFindFileData As WIN32_FIND_DATA) _
As Long

Private Declare Function apiFindClose Lib "kernel32" _
Alias "FindClose" _
(ByVal hFindFile As Long) _
As Long

Private Declare Function apiGetShortPathName Lib "kernel32" _
Alias "GetShortPathNameA" _
(ByVal lpszLongPath As String, _
ByVal lpszShortPath As String, _
ByVal cchBuffer As Long) _
As Long

Function fGetLongName(ByVal strFileName As String) As String

Dim lpFindFileData As WIN32_FIND_DATA
Dim strPath As String, lngRet As Long
Dim strFile As String, lngX As Long, lngY As Long
Dim strTmp As String

strTmp = ""
Do While Not lngRet = INVALID_HANDLE_VALUE
lngRet = apiFindFirstFile(strFileName, lpFindFileData)

strFile = Left$(lpFindFileData.cFileName, _
InStr(lpFindFileData.cFileName, _
vbNullChar) - 1)
If Len(strFileName) > 2 Then
strTmp = strFile & "\" & strTmp
strFileName = fParseDir(strFileName)
Else
strTmp = strFileName & "\" & strTmp
Exit Do
End If
Loop

fGetLongName = Left$(strTmp, Len(strTmp) - 1)
lngY = apiFindClose(lngRet)

End Function

'To get the directory path of a file with path:
Function fParseDir(strInFile As String) As String
Dim intLen As Long, boolFound As Boolean
Dim I As Integer, f As String, strDir As String

intLen = Len(strInFile) 'length of string
If intLen > 0 Then
boolFound = False
For I = intLen To 1 Step -1 'reverse increment
If Mid$(strInFile, I, 1) = "\" Then
f = Mid$(strInFile, I + 1)
strDir = Left$(strInFile, I - 1)
boolFound = True
Exit For

End If
Next I
End If
If boolFound Then
fParseDir = strDir
Else
fParseDir = strInFile
End If
End Function
 

Users who are viewing this thread

Back
Top Bottom