Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Вниз

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 вся ветка

Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.053 c
6-1219394993
+koha
2008-08-22 12:49
2010.08.27
Многопоточный сервер на чистом API


2-1268605992
Дмитрий
2010-03-15 01:33
2010.08.27
отправка пакета ( TcpClient )


15-1265566198
palva
2010-02-07 21:09
2010.08.27
Весна скоро... Фото с натуры.


15-1266342135
Piter
2010-02-16 20:42
2010.08.27
Посоветуйте LiveCD / LiveDVD?


15-1266775405
TUser
2010-02-21 21:03
2010.08.27
Политэкономия социализма





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский