Вниз
Скачать: 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 вся ветка

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



Память: 0.46 MB
Время: 0.011 c
7-54931
AllOver2003
2003-02-19 14:32
2003.04.17
Определение видеопамяти


14-54892
shoo
2003-04-01 10:40
2003.04.17
Инсталляторы


11-54542
kostyantyn
2002-06-29 17:27
2003.04.17
установка КОЛ в Дельфи


4-54944
Шишкин Илья
2003-02-17 15:56
2003.04.17
Как получить список dll, используемых программой?


3-54436
Pat
2003-04-01 14:16
2003.04.17
Подключение к запароленной БД




   Наверх