Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: VB : как вернуть номер строки? Добавлено: 28.04.06 21:36  

Автор вопроса:  __Сергей__
Уважаемые знатоки прошу посоветовать, как вернуть номер строки.
Имеется два текстовых файла ~1mb и ~3mb, из первого читаю строки и ищу их во втором файле, посоветуйте, как вернуть номер строки (с положительным результатом) второго файла

f = FreeFile()
    Open FileName2 For Input As f
    txt2 = Input(LOF(f), f)
    Close f
NumLines2 = UBound(Split(txt2, vbCrLf))

For q = 1 To NumLines1
    f = FreeFile()
    Open FileName1 For Input As f
    For i = 1 To q 'NumLines1
    Input #f, str1
    Next i
    Close f
If Len(str1) > 1 Then
If InStr(UCase(txt2), UCase(str1)) > 0 Then TxtRez.Text = _
TxtRez.Text + " " + str1 + vbCrLf
        Else: End If
Next q
End If

Ответить

  Ответы Всего ответов: 2  

Номер ответа: 1
Автор ответа:
 HOOLIGAN



Вопросов: 0
Ответов: 1066
 Профиль | | #1 Добавлено: 29.04.06 00:33
Кто ж в цикле кучу раз открывает и закрывает один и тот же файл :)

Считай оба файла, каждый в свой массив и затем смотри массивы построчно. Примерно так:

Dim array1, array2
Dim cnt1 as long, cnt2 as long, f as long, i as long, j as long
Dim str1 as string, str2 as string

f = FreeFile()
Open FileName1 For Input As f
str1 = Input(LOF(f), f)
Close f
array1 = Split(str1, vbCrLf)
cnt1 = UBound(array1)

Open FileName2 For Input As f
str2 = Input(LOF(f), f)
Close f
array2 = Split(str2, vbCrLf)
cnt2 = UBound(array2)

For i = 1 To cnt1
    For j = 1 To cnt2
        If CStr(array1(i)) = CStr(array2(j)) Then MsgBox "Line No " & j
    Next j
Next i


Сравнение строк может по-другому оформить, чтобы регистронезависимое сравнение было.

Ответить

Номер ответа: 2
Автор ответа:
 __Сергей__



Вопросов: 7
Ответов: 23
 Профиль | | #2 Добавлено: 30.04.06 10:10
Спасибо HOOLIGAN!
поиск пользую
If InStr(UCase(CStr(array2(j))), UCase(CStr(array1(i)))) > 0 then '''

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам