Вниз
Скачать: 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
1-54583
Serega
2003-04-04 11:24
2003.04.17
Работа с DLL.


1-54727
Some1
2003-04-03 11:43
2003.04.17
Как удалить папку с подкаталогами?


14-54863
Lucky Startik
2003-04-01 17:25
2003.04.17
Возможности DELPHI


14-54818
Ru
2003-03-31 11:13
2003.04.17
А после этого англичане возмущаются группой ТАТУ


3-54457
korvin
2003-03-29 07:53
2003.04.17
Програмно раскрыть список DBLookup`а и наоборот запрет скролинга




   Наверх