Hej! Like Operator Example Använd funktionen Dir() Det här är en procedure jag använder för att lista filer, kanske kan du plocka ut det väsentliga... Här http://www.planet-source-code.com/vb/default.asp?lngWId=1 kan du garanterat hitta ngt.Fil sökning i VB [OLÖST!!!]
Någon som har ett bra tips på hur man effektivt söker efter filer på disken med hjälp av VB.
Alltså typ vanlig windowsfilsökning.
Men wildcard måste fungera.
Måste finnas nått färdigt objekt för det =)
/FreddeSv: Fil sökning i VB
This example uses the Like operator to compare a string to a pattern.
<code>
Dim MyCheck
MyCheck = "aBBBa" Like "a*a" ' Returns True.
MyCheck = "F" Like "[A-Z]" ' Returns True.
MyCheck = "F" Like "[!A-Z]" ' Returns False.
MyCheck = "a2a" Like "a#a" ' Returns True.
MyCheck = "aM5b" Like "a[L-P]#[!c-e]" ' Returns True.
MyCheck = "BAT123khg" Like "B?T*" ' Returns True.
MyCheck = "CAT123khg" Like "B?T*" ' Returns False.
</code>Sv: Fil sökning i VB [OLÖST!!!]
<code>
Dim Files As String
Files = Dir("c:\*.*")
Do Until Files = ""
Msgbox Files
Files = Dir
Loop
</code>Sv: Fil sökning i VB [OLÖST!!!]
Function ListFiles(ByVal Path As String, av_Array() As String, ByVal Recursive As Boolean, Optional ByVal IncludePaths As Boolean = True, Optional Prefix As String = "*.*", Optional ByRef x As Long = 0, Optional ByVal StartDir As Boolean = True, Optional ByVal EraseArrayOnError As Boolean = False)
Dim a As Long
Dim MyDirNr As Long
Dim MyDir() As String
Dim MyName As String
If (StartDir) Then
Path = IIf(Right$(Path, 1) = "\", Path, Path & "\")
Prefix = UCase$(Prefix)
If (x Mod 1000 <> 0) Then ReDim Preserve av_Array(x + 1000)
End If
On Error GoTo ErrorHandler
MyDirNr = 0
MyName = Dir$(Path & "*.*", vbDirectory + vbArchive + vbHidden + vbReadOnly + vbSystem)
Do While (Len(MyName) > 0)
If (MyName <> ".") And (MyName <> "..") Then
If ((GetAttr(Path & MyName) And vbDirectory) = vbDirectory) Then
If (Recursive) Then
If (MyDirNr Mod 100 = 0) Then ReDim Preserve MyDir(MyDirNr + 100)
MyDirNr = MyDirNr + 1
MyDir(MyDirNr) = MyName
End If
ElseIf (UCase$(MyName) Like Prefix) Then
If (x Mod 1000 = 0) Then ReDim Preserve av_Array(x + 1000)
x = x + 1
If IncludePaths Then
av_Array(x) = Path & MyName
Else
av_Array(x) = MyName
End If
End If
End If
MyName = Dir$
Loop
If (Recursive) Then
For a = 1 To MyDirNr
If Not ListFiles(Path & MyDir(a) & "\", av_Array(), True, IncludePaths, Prefix, x, False) Then GoTo ErrorHandler
Next
End If
If StartDir Then ReDim Preserve av_Array(x)
ListFiles = True
Exit Function
ErrorHandler:
ListFiles = False
If StartDir Then
If EraseArrayOnError Then
Erase av_Array
Else
ReDim Preserve av_Array(x)
End If
End If
End FunctionSv: Fil sökning i VB [OLÖST!!!]