| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > ProgressBar |
| Автор: ProgressBar 20.8.2004, 08:38 |
| Подскажите пож-та чайнику Не получается синхронизировать ProgressBar и чтение файла хочется что бы при чтении 1 строки файла появлялся 1 квадрат в ProgressBar Ну и соответственно как дошли до конца файла так и заполнился до конца ProgressBar Написал вот так!!!!!!!!!!!!!!! Не работает var f :TextFile; str :String; count:Integer; step :Integer; i :integer; begin // подсчет строк в файле chdir('с:\progress'); AssignFile(f,'c:\progress\aaa.ini'); {$I-}Reset(f);{$I+} if IOResult<>0 then Exit; While not eof(f) do begin Readln(f,str); count:= i+1; // до пустим 400 end ; CloseFile(f); //готовим ProgressBar ProgressBar1.Min:=0; ProgressBar1.Max:=count; Step:=ProgressBar1.Max div 100 ; // шаг = 4 AssignFile(f,'w:\temp\mymon\inimag.ini'); {$I-}Reset(f);{$I+} if IOResult<>0 then Exit; While not eof(f) do begin Readln(f,str); ListBox1.Items.Add(str); sleep(100); progressbar1.Position := progressbar1.Position + progressbar1.Step; end ; CloseFile(f); |
| Автор: gemoglobin 20.8.2004, 09:43 |
| вначале бы похорошему поставить count = 0 а еще добавить progressbar1.Position := progressbar1.Position + progressbar1.Step; Application.ProcessMessages; |
| Автор: Dreyka 20.8.2004, 09:47 |
| Я не пойму зачем тебе вообще функция Step. Вот подсчитал ты сколько строк в тектовом файле, установил ProgressBar1.Max в равным этому числу, а затем просто в чтении из файла после считывания каждой строки добавляешь к Progressbar1.Position единицу. Или я чего-то не понимаю |
| Автор: Alex 20.8.2004, 10:11 |
| Люди ну когда же вы научитесь FAQ читать http://forum.vingrad.ru/index.php?showtopic=1924 |