Главная страница
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.018 c
1-27091
demisen
2002-08-28 17:20
2002.09.09
Классы


1-27048
alena.svt
2002-08-27 21:13
2002.09.09
Dialogs.pas


14-27169
AL2002
2002-08-12 18:31
2002.09.09
Нужен козырный снимок президента Украины Л. Кучмы


1-26954
USTAS
2002-08-29 10:19
2002.09.09
Перетаскивание формы, если ее BorderStyle = bsNone


7-27245
Alexander Vorobyov
2002-06-21 16:51
2002.09.09
Ловушка в Сервисе (CBT Hook in NT Service)