Нужно переименовать кучу нонейм-файлов(*.htm) из информации в теге <title>...</title>
По сути, перебираю каждый файл, и ищу в нём строку <title>, если есть, ищу </title>, ну и разница между ними, собственно, и есть будущее имя файла. Но скорость! Скорость реально не устраивает. Тормоза в этом коде:
- Код: Выделить всё
Function FindInFile(sSearch As String) As Long
Dim iFile As Integer
Dim lFileLength As Long
Dim sChunck As String
Dim lChunckStart As Long
Dim lPosition As Long
Const MaxChunkSize = 20000
iFile = FreeFile
FindInFile = -1
Open sItems(i, 0) For Binary Access Read Shared As iFile
lFileLength = LOF(iFile)
lChunckStart = 0
Do Until lChunckStart = lFileLength
If lFileLength - lChunckStart > MaxChunkSize Then
sChunck = Input$(MaxChunkSize, iFile)
lChunckStart = lChunckStart + MaxChunkSize - Len(sSearch)
Else
sChunck = Input$(lFileLength - lChunckStart, iFile)
lChunckStart = lFileLength
End If
lPosition = InStr(sChunck, sSearch)
If lPosition > 0 Then
FindInFile = WasFoundAt
Exit Do
End If
Loop
Close iFile
End Function
может читать в байтовый массив и в нём поиск наводить? Да, явно есть что-то быстрее...
У кого есть какие-нибудь соображения по ускорению алгоритма?