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

Вниз

Позиция ProgressBar   Найти похожие ветки 

 
SergeN ©   (2003-04-08 12:45) [0]

Господа! Срочно нужна формула для вычисления позиции.
Пишу свой "оригинальный" ProgressBar. Есть свойства Min, Max, Step, и собственно Position. Position определяет число прорисовываемых квадратов.
Подскажите, пожалуйста.


 
NickBat ©   (2003-04-08 12:49) [1]

Не, если "оригинальный". то не подскажем! :)) Может у тебя там оригинальные квадраты!


 
Skier ©   (2003-04-08 12:53) [2]

>SergeN
Вообще-то Position is the percentage of the process that has already been completed.
"Может в консерватории что-нибудь подправить ?" :)


 
SergeN ©   (2003-04-08 12:54) [3]


> NickBat © (08.04.03 12:49)

"Оригинальный" потому что есть возможность задать цвет фона и квадратов и многое другое.

Хорошо, сузим разговор: число квадратов известно.


 
SergeN ©   (2003-04-08 13:04) [4]

Конкретизирую вопрос.
Имеется некий графический компонент. По его высоте определяется число квадратов определённого размера, которые могут быть размещены в нём в один ряд. Допустим это число равно 10. Min равно 0, Max равно 10. Step равно 1. Т.о. при Position равном 3 рисуем 3 квадрата в ряд, при 10 - рисуем 10. Только как это всё математически описать?


 
NickBat ©   (2003-04-08 13:18) [5]

Count=(Position-Min) div Step


 
AlexSV ©   (2003-04-08 13:26) [6]

> NickBat ©
> Count=(Position-Min) div Step


А как тогда:
> SergeN © (08.04.03 12:45)
> Position определяет число прорисовываемых квадратов



 
SergeN ©   (2003-04-08 13:26) [7]


> Count=(Position-Min) div Step

А если число умещающихся квадратов=5, Max=10, Min=0, Step=1, а Position=6. Зашкалит ведь!


 
panov ©   (2003-04-08 13:40) [8]

N - кол-во квадратов
S - общее кол-во данных
L - текущее количество обработанных данных
P - количество % в одном квадрате
X - текущий процент выполнения
-------------------------------------------
K - текущее количество квадратов для отображения

Формулы:

K = INT(X/P)

P = 100/N
X/100 = L/S <-> X=(100*L)/S

K = INT( ((100*L)/S) / (100/N) ) <-> K = INT( (L*N)/S )

L*N
K = INT(-----)
S


K и есть Position
N - Max



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

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

Наверх




Память: 0.48 MB
Время: 0.017 c
14-54861
Leran2002
2003-04-01 20:57
2003.04.17
Ты скажи ну хто его придумал... :((


3-54523
DenKop
2003-03-30 19:12
2003.04.17
IB Server EIBInterBaseRoleError


11-54546
Vitalis
2002-06-29 03:31
2003.04.17
Протокол POP3


3-54414
SZap
2003-04-01 15:01
2003.04.17
Поиск по базе...


3-54435
GRR
2003-03-31 14:06
2003.04.17
Как изменить запись в наборе сформированном через IBQuery?