Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Как сосчитать количесто строк в файле


Автор: Magomed 11.8.2009, 18:52
Как сосчитать количество строк в файле или RichTextBox'е?
Срочно нужно...А в VisualBasic для чайников я ничего по данной теме не нашел

Автор: Akina 12.8.2009, 08:23
Цитата(Magomed @  11.8.2009,  19:52 Найти цитируемый пост)
Как сосчитать количество строк в файле 

Прочитать его построчно (лучше через FSO.ReadAll, если он не огромного размера) и посчитать в нём количество переводов строк.

Цитата(Magomed @  11.8.2009,  19:52 Найти цитируемый пост)
или RichTextBox'е

А вот тут вопрос - жёстких переводов или переводов при отображении?

Автор: Vano-K 11.10.2009, 22:10
А если файл огромный, порядка 2 млн строк, то тогда как эффективнее посчитать кол-во строк???

Автор: Akina 12.10.2009, 08:08
Вероятно, читать по частям. Прочитать придётся по-любому весь файл, но надо избежать тормозов, связанных с задействованием большого количества оперативки и потенциальным сбросом в своп. Думаю, блок чтения в несколько мегабайт (8-16) будет оптимален.

Автор: diadiavova 13.10.2009, 14:02
А почему не сделать так?
Код

Function CountLines(fileName As String) As Integer
    Dim fso As New FileSystemObject
    Dim ts As TextStream
    Set ts = fso.OpenTextFile(fileName)
    CountLines = 0
    Do Until ts.AtEndOfStream
        ts.ReadLine
        CountLines = CountLines + 1
    Loop
End Function

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)