Вниз
Скачать: CL | DM;

ProgressBar   Найти похожие ветки 

← →
Raiv ©   (2002-08-26 18:07) [0]

Как сделать ProgressBar, отображающий ход чтения текстового файла довольно большой длины (10-50Мб).


← →
Krann ©   (2002-08-26 18:13) [1]

Можно его представить в виде файла памяти и считывать его кусочками прои считывании кусочка менять ProgressBar.Position


← →
Polevi ©   (2002-08-26 18:44) [2]

если у тебя win2k читай асинхронно


← →
Raiv ©   (2002-08-27 08:40) [3]

Большое Вам спасибо за советы, но я зделал все очень просто и вроде работает!
1. Узнал кол-во строк в открываемом файле.
2. Разделил это кол-во на 100 (PBStep:=FL/100);
3. Вставил код при четнии файла:
.....
IF J=PBStep then begin
FormPBar.ProgressBar1.StepBy(PBStep);
Application.ProcessMessages;
J:=1;
end;
Inc(J);
......
И НИКАКИХ ТОРМОЗОВ!


← →
MBo ©   (2002-08-27 08:42) [4]

>Узнал кол-во строк в открываемом файле.
Как?


← →
Raiv ©   (2002-08-27 09:00) [5]

Кол-во байт в одной стоке я знаю - у меня фиксированный формат. Длину файла определил вот и все. Даже если при вычислениях будет небольшая ошибка, то этого практически не видно - но будет 99% загрузки файла и ProgressBar исчезнет или на 100% повисит лишние доли секунды - это не видно.


← →
MBo ©   (2002-08-27 09:02) [6]

ОК, тогда понятно.


← →
Gipsy   (2002-08-27 09:42) [7]

Можно проще.
Ты всегда знаешь размер файла и кол-во прочитанных байт.
Дальше также как с кол-вом строк :)


← →
lipskiy ©   (2002-08-27 11:08) [8]

Кстати, насчет опредления числа строк в текстовике.
Я делал в свое время по тупому - прочитывал весь файл (readln), пока не кончится и инкрементировал счетчик строк.
Как ни странно, для 5Мб текстовика с переменной длиной строки (в среднем - 200 символов) это происходило НЕЗАМЕТНО на глаз.


← →
Alex4444444444   (2002-08-27 12:56) [9]

> lipskiy
No kak-to glupovato chitat" file lish"nij raz tol"ko dlya
togo, chtoby vystavit" max v ProgressBar...


← →
{bas}   (2002-08-27 13:21) [10]

еще есть процедура BlockRead
посмотрел размер файла разделил на BlockSize - вот тебе и прогресс бар



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.009 c
6-27152
Alibaba
2002-07-03 12:29
2002.09.09
Обработка ошибки TClientSocket


1-27037
Влдр
2002-08-27 15:31
2002.09.09
Обращения к словянам!!!


1-27046
lexx80
2002-08-28 00:05
2002.09.09
Паморите с автозаполнением


14-27208
KGH
2002-08-15 00:09
2002.09.09
Сколько можно переезжать на другой сервак???


6-27147
chukcha
2002-05-08 05:23
2002.09.09
Какие библиотеки в разных ОС?




   Наверх