Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> зависание программы, работа с большим файлом 
:(
    Опции темы
skulida
Дата 15.4.2003, 22:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 13.4.2003

Репутация: нет
Всего: нет



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

Прошу помочь и указать на ошибку. Что нужно сделать?
PM MAIL   Вверх
man2002ua
Дата 17.4.2003, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 943
Регистрация: 12.11.2002
Где: Киев

Репутация: нет
Всего: 2



Может переполняется RichEdit1? Попробуй запустить при n=3000, но закомментируй строку:
RichText1.Text = RichText1.Text + c & Chr(13) & Chr(10) & Chr(10)



--------------------
"Нет ничего более постоянного, чем временное"
PM MAIL   Вверх
Trojan Lord
Дата 17.4.2003, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 4.4.2003

Репутация: нет
Всего: нет



сочерание (Chr(13) & Chr(10)) можно заменить на vbNewLine
PM MAIL ICQ   Вверх
Trojan Lord
Дата 17.4.2003, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 4.4.2003

Репутация: нет
Всего: нет



сочетание (Chr(13) & Chr(10)) можно заменить на vbNewLine
PM MAIL ICQ   Вверх
Guest
Дата 18.4.2003, 13:58 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(man2002ua @ 17.4.2003, 10:18)
Может переполняется RichEdit1? Попробуй запустить при n=3000, но закомментируй строку:
RichText1.Text = RichText1.Text + c & Chr(13) & Chr(10) & Chr(10)

да действительно, убрал RichText1 и все заработало.
Спасибо
  Вверх
Badjo
Дата 2.6.2003, 14:41 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











А ты не пробовал занимаится объявлением переменных? Частенько помогает
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0936 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.