Снова прошу помочь.
Ситуация следующая: есть большой текстовый файл (4 Мб). Мне нужно вырезать определенные текстовые блоки начинающиеся определенными симолами. Каждый из этих блоков нужно записать в переменную и поместить в массив, чтобы затем перемешать блоки в произвольном порядке. написанный мною код вырезания блоков почему-то виснит при обработке большого n. Т.е. если n = 30 работает , а если 3000 программа виснит RichText1.Text = "" b = 0 n = Ubound(TempString)' посчитали количество блоков (выше) k = 1 For i = 1 To n a = InStr(k, myString, "&START!") 'ищем вхожднние If a = 0 Then Exit Sub 'если нет выходим b = InStr(a, myString, "&END!") 'ищем окончания блока k = b c = Mid(myString, a, (b + 4 - a)) 'вырезаем блок RichText1.Text = RichText1.Text + c & Chr(13) & Chr(10) & Chr(10) Next i Прошу помочь и указать на ошибку. Что нужно сделать? |
Запусти отладочную печать
debug.print что-нибудь изменяющееся и посмотри, где, что случилось |
А DoEvents для чего придумали ?
Этот цикл подвешивает комп сразу. |
Время: 04:31. |
Время: 04:31.
© OSzone.net 2001-