Visual Basic – Funkcija za pronalaženje fajlova

Često ste u situaciji da znate naziv traženog fajla, ali ne znate u kom folderu se nalazi. Zato ćemo vam predstaviti kompaktnu rutinu za pronalaženje „izgubljenih“ fajlova, koju možete dodati gotovo svakoj vašoj aplikaciji. Korisnik tj. vi će trebati samo da upišete naziv fajla u dijalog prozor, i dobićete adekvatan odgovor (celu putanju do fajla). U ovoj rutini pozivamo funkciju iz biblioteke „IMAGEHLP.DLL“ – i pretražujemo sve podfoldere date putanje, tražeći fajl određenog naziva. Funkcija će vratiti celokupnu putanju do vašeg fajla. Za korišćenje ove funkcije u vašoj aplikaciji, pozovite samo funkciju „PronadjiFajl“, sa prosleđenim korenom i nazivom fajla. Funkcija će vam vratiti kompletnu putanju – ili nula-string (prazan string) ako fajl nije pronađen. Evo i programskog koda same funkcije:


Declare Function SearchTreeForFile Lib „IMAGEHLP.DLL“ _
(ByVal lpRootPath As String, _
ByVal lpInputName As String, _
ByVal lpOutputName As String) As Long

Public Const MAX_PATH = 260

Public Function PronadjiFajl(Koren As String, _
NazivFajla As String) As String

Dim lNullPos As Long
Dim lResult As Long
Dim sBuffer As String

On Error GoTo PronadjiFajl_Error

sBuffer = Space(MAX_PATH * 2)

lResult = SearchTreeForFile(Koren, NazivFajla, sBuffer)

If lResult Then
lNullPos = InStr(sBuffer, vbNullChar)
If Not lNullPos Then
sBuffer = Left(sBuffer, lNullPos – 1)
End If

PronadjiFajl = sBuffer
Else

PronadjiFajl = vbNullString
End If

Exit Function

PronadjiFajl_Error:
PronadjiFajl = vbNullString

End Function


A evo kako na najjednostavniji način možete iskoristiti funkciju „PronadjiFajl“ – pozivanjem preko Msgbox-a:


MsgBox PronadjiFajl(„c:“, „Edit.com“)

Dobićete rezultat kao na slici.

Pratite Krstaricu na www.krstarica.com