Главная страница
    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.46 MB
Время: 0.006 c
1-27062
orion_st
2002-08-27 11:26
2002.09.09
шрифт TNode в TTreeView


1-26976
mike.dld
2002-08-29 15:23
2002.09.09
Stretch


8-27115
Bober
2002-04-30 23:55
2002.09.09
Текстурирование


1-26937
Lamer86
2002-08-27 11:59
2002.09.09
Как запустить файл, а потом дождаться его завершения


1-27034
race1
2002-08-27 17:26
2002.09.09
трабла





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский