Правильно изменить максимальный порог у Gauges

Рейтинг: 0Ответов: 1Опубликовано: 16.01.2015

Доброе время суток, форумчане.

Возник такой вопрос: я работаю с компонентом «Gauges», и нужно изменить максимальный порог параметра «MaxValue». Стандартное значение у него = 2.147.483.647, а мне нужно за 4 млрд.
Это нужно менять свойства компонента, нет ли более простого способа?

Заранее спасибо.

Ответы

▲ 2Принят

Давайте посмотрим на это под правильным углом. Допустим, есть компонент на 4млрд значений в виде круга. И размером на экран в 4к (вряд ли Вы купите так просто побольше). Это 4096 × 3112 пискелей. Так как у нас круг, то 3112 × 3112. То есть радиус - 1556 пикселей, окружность - около 9776 пикселей. Если gauge такого диаметра поменяется на одно деление, то это будет 9776/4000000000 = 0,000002444 - то есть никто не увидит. Даже если на тысячу единиц поменяется значение, все равно это будет меньше пикселя. Сам компонент даже перерисовывать не нужно.

Многие мониторы сейчас работают в режиме FullHD, а это круг диаметром 1080 пикселей. Окружность будет 3393. Делайте выводы.

Но что же делать в подобной ситуации? Да все очень просто. Выставляете там значение в 1000000 раз меньше, и когда Вам нужно присвоить, просто делите на этот коэффициент. Где-то так: gauge1.Progress := round(myvalue / 1000000);.