Вниз
Скачать: CL | DM;

TprogresssBar с отображением процентов   Найти похожие ветки 

← →
kyn66 ©   (2010-04-06 15:54) [0]

Добрый день, мастера. В приложениях где происходит некоторый циклический процесс отображаю его с помощью ProgressBar и метки в процентном соотношении. Вот такой код:


Var
 Nzap,
 NzapV,
 NzapC    : Integer;
begin
DM1.ClientTbl.First;
 PB1.Position := 0;
 PB1.Max := DM1.ClientTbl.RecordCount;
 NzapC := Trunc(DM1.ClientTbl.RecordCount/100);
 Nzap := 0;
 NzapV := 0;
 While not DM1.ClientTbl.EOF do
  begin
    Inc(Nzap);
    if Nzap >= NzapC then
     begin
       Inc(NzapV);
       ProcLab.Caption :=  IntToStr(NzapV) + " %";
       Nzap := 0;
     end;
    Application.ProcessMessages;  
    ...
  end;
...

Код всегда отрабатывал отлично. Но сегодня сталкнулся с ситуацией, когда кол-во записей меньше 100 и предоставляемая процентная информация оказалась неверной. Т.е. ppfgbctq в таблице 80, NzapC равен 0, ну и соответственно проценты показываются только до 80.
  Каким образом модернезировать код, чтобы для всех ситуаций правильно было показание процентов вне зависимости от кол-ва записей. ?


← →
Медвежонок Пятачок ©   (2010-04-06 15:59) [1]

боже, какая прелесть


← →
12 ©   (2010-04-06 16:08) [2]

ProcLab.Caption :=  IntToStr(round(DM1.ClientTbl.RecNo/DM1.ClientTbl.RecordCount*100)) + " %";


← →
kyn66 ©   (2010-04-06 16:33) [3]

2 12
Таблица проиндексирована по ключу(два поля) и поэтому получается блуждающий RecNo.


← →
12 ©   (2010-04-06 16:36) [4]

ну примерно же ж..
DM1.ClientTbl.RecNo -  Nzap


← →
kyn66 ©   (2010-04-06 16:39) [5]

2 12
Большое спасибо. Я так и сделал. Поставил просто увеличивающийся  Nzap вместо RecNo. (Думал успею отписаться до ответа).


← →
Dennis I. Komarov ©   (2010-04-06 16:40) [6]


> Медвежонок Пятачок ©   (06.04.10 15:59) [1]

То ли сейчас еще будет...


← →
Andy BitOff ©   (2010-04-06 19:29) [7]

И эти люди занимаются программирование. Куда катится мир. =(



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.052 c
15-1272036312
@!!ex
2010-04-23 19:25
2010.08.27
Как получить повышенные привилегии в Vista?


2-1275629647
Delphist2
2010-06-04 09:34
2010.08.27
Как в winapi различить 2 контрола одного класса на окне?


2-1273099349
concord
2010-05-06 02:42
2010.08.27
Выпадающий список


2-1273479707
JohnKorsh
2010-05-10 12:21
2010.08.27
Можно ли из Delphi управлять сетевым доступом к ресурсам?


15-1272573005
Юрий
2010-04-30 00:30
2010.08.27
С днем рождения ! 30 апреля 2010 пятница




   Наверх