Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Проблема с чтением файла

384
10 июля 2003 года
mikeshilkin
95 / / 20.04.2000
Доброго времяни суток всезнающий ALL!!!

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

А теперь всезнающие, вопрос: как сделать так, чтобы прогресс шел равномерно?

Можно конечно читать по байту и выводить прогресс, но это разврат.
293
10 июля 2003 года
SEDEGOFF
586 / / 06.10.2002
Цитата:
Originally posted by mikeshilkin
Можно конечно читать по байту и выводить прогресс, но это разврат.


Ну разврат или нет, но у меня специфика в том что в целях универсальности мне нельзя ограничиваться длянной строки и приходиться читать по символьно и как следствие проблем с отображением не возникает не возникает. Да и скорость считывания хорошая - файл 2МБ и 30000 строк разбирает до понятной информации за 10 секунд.
В твоем случае можно сделать так - вычислить премерное время для обработки одной строки и сколько у тебя строк и отдельным потоком запустьть прогресс

3
10 июля 2003 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by SEDEGOFF

Ну разврат или нет, но у меня специфика в том что в целях универсальности мне нельзя ограничиваться длянной строки и приходиться читать по символьно и как следствие проблем с отображением не возникает не возникает. Да и скорость считывания хорошая - файл 2МБ и 30000 строк разбирает до понятной информации за 10 секунд.
В твоем случае можно сделать так - вычислить премерное время для обработки одной строки и сколько у тебя строк и отдельным потоком запустьть прогресс



Только отдельным потоком нужно запускать чтение файла, а не прогресс-бар, т.к. цикл обработки сообщений находиться в основном потоке и нет смысла создавать еще один подобный цикл.

384
11 июля 2003 года
mikeshilkin
95 / / 20.04.2000
Цитата:
Originally posted by Green


Только отдельным потоком нужно запускать чтение файла, а не прогресс-бар, т.к. цикл обработки сообщений находиться в основном потоке и нет смысла создавать еще один подобный цикл.



Не это все понятно, номнене приемлемо читать посимвольно. Дело в том, что обработка идет пакетами, размер которых меняется. Сейчас сделано так, что считывается весь блок (примерно 15 Мб) потом анализируется и если необходимо дочитывается сколько нужно ну и все такое.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог