![]() |
|
| Does a file contain a string? | |
Function FileContains (FileName As String, SearchText As String) As Long
Dim FileNumber As Integer
Dim FileLength As Long
Dim Chunk As String
Dim ChunkStart As Long
Dim FoundAt as Long
Const MaxChunk = 20000
On Error GoTo FileContainsError
FileNumber = FreeFile
Open FileName For Binary Access Read Shared As FileNumber
FileLength = LOF(FileNumber)
ChunkStart = 0
Do Until ChunkStart = FileLength
If FileLength - ChunkStart > MaxChunk Then
Chunk = Input$(MaxChunk, FileNumber)
ChunkStart = ChunkStart + MaxChunk - Len(SearchText)
Else
Chunk = Input$(FileLength - ChunkStart, FileNumber)
ChunkStart = FileLength
End If
FoundAt = InStr(Chunk, SearchText)
If FoundAt > 0 Then
FileContains = FoundAt
Exit Do
End If
Loop
Close FileNumber
Exit Function
FileContainsError:
Select Case Err
Case Else
MsgBox Error$ & " on file " & FileName
End Select
Exit Function
End Function
|
|
| Mail to Daniel
Wiman <daniel@wimania.com> Online since June 1996, updated 980315 |
<- The VB home <- Daniels homepage |