Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.09;
Скачать: 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 вся ветка

Текущий архив: 2002.09.09;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.023 c
1-26935
Raiv
2002-08-26 18:07
2002.09.09
ProgressBar


14-27211
Лысый
2002-08-11 18:56
2002.09.09
LMDTools 6.1


3-26855
juster
2002-08-19 11:36
2002.09.09
без BDE


4-27266
Lex_!
2002-06-23 04:23
2002.09.09
Объясните как отловить сообщение чужой программы


1-26996
CrazyHackers
2002-08-29 15:43
2002.09.09
Поиск - Замена