Вниз
Скачать: 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.048 c
2-1275314647
SIV5000
2010-05-31 18:04
2010.08.27
TTimer


15-1264459453
Германн
2010-01-26 01:44
2010.08.27
"Скорость движения указателя"


2-1267733813
mops
2010-03-04 23:16
2010.08.27
сортировка по типам


2-1268820037
oleg1963lora
2010-03-17 13:00
2010.08.27
TimeToStr. Изменение FormatSettings


8-1204201324
ERT
2008-02-28 15:22
2010.08.27
PrintScreen




   Наверх