Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.02;
Скачать: CL | DM;

Вниз

Процесс загрузки   Найти похожие ветки 

 
Dell3r ©   (2004-12-04 10:43) [0]

Как в StatusBar отобразить ProgressBar который будет отслеживать процесс загрузки Базы данных. Я просто размещаю ПРОГРЕССБАР на СТАТУСБАРЕ, но он на разных машинах по разному убегает с нужного места(СТАТУС) и процесс отслеживания проходит очень быстро, он уже закончится, а через 3 сек. ГРИД отображает данные.

Вот как я это делаю. pb (ProgressBar)

pb.position:=0;
pb.max:=Query1.RecordCount;
i:=1;
with Query1 do
begin
 Close;
 Open;
 While not EOF do
  begin
   ComboBox1.items.add(FieldByName("Name").AsString);
   i:=i+1;
   pb.Position:=i;
   Next;
  end;
 First;
 pb.Position:=0;


 
Digitman ©   (2004-12-04 11:58) [1]

Query1.Last;
pb.max:=Query1.RecordCount;
Query1.First;


 
sniknik ©   (2004-12-04 14:23) [2]

во это FieldByName("Name") еще за цикл вынеси (пару сотых секунды сэкономиш на загрузке)

var fName: TField;
...
fName:= FieldByName("Name");
...
ComboBox1.items.add(fName.AsString);

и потом после
Close;
Open;
RecordCount вполне может поменяться (сетевая база?) устанавливать pb.max надо после него в этом случае.

и после pb.Position:=i; нужно или перерисовывать прогресс бар принудительно или processmessage вызвать (кстати и так часто накаждый инкремент позицию изменять тоже зря, менять нужно только если это даст видимое на прогрессе приращение. а так только тормоза)


 
sniknik ©   (2004-12-04 14:26) [3]

еще забыл перед изменением (до цикла) делай
ComboBox1.Items.BeginUpdate
после
ComboBox1.Items.EndUpdate



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

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

Наверх




Память: 0.47 MB
Время: 0.101 c
14-1103058339
Hypercube
2004-12-15 00:05
2005.01.02
Решение задач: теория вопроса


1-1103445399
dracula
2004-12-19 11:36
2005.01.02
как сделать символы верхнего и нижнего регистра одинаковыми


14-1103096645
Holy
2004-12-15 10:44
2005.01.02
Дополнительные кнопки на клавиатуре


1-1103408469
pika
2004-12-19 01:21
2005.01.02
Надо вырезать квадрат с буквой !!!


3-1101897054
ByteButcher
2004-12-01 13:30
2005.01.02
Как получить список доступных MS SQL серверов?