Войти

Показать полную графическую версию : VB


skulida
15-04-2003, 22:32
Снова прошу помочь.
Ситуация следующая: есть большой текстовый файл (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

Прошу помочь и указать на ошибку. Что нужно сделать?

SergOst
18-04-2003, 20:20
Запусти отладочную печать
debug.print что-нибудь изменяющееся
и посмотри, где, что случилось

strannik2002
26-04-2003, 11:24
А DoEvents для чего придумали ?
Этот цикл подвешивает комп сразу.




© OSzone.net 2001-2012