Tehnika Krstarice > Programiranje > Visual Basic - Funkcija za pronalaženje fajlova

Visual Basic - Funkcija za pronalaženje fajlova

29.08.2001.

Č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.

Preporučite ovaj članak

Članak još uvek nije ocenjen.