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

Вниз

Что это - Constant expression expected?   Найти похожие ветки 

 
PJiur   (2012-03-16 22:20) [0]

Здравствуйте, пытаюсь сделать вот что:

Var
P,V,Vi:integer;
y:Double;
...
 y:=(V)/Vi*100 ;
frmmain.prgProcentVip.Position:= y;
....
Компилятор дает ошибку
[DCC Error] UntMain.pas(829): E2026 Constant expression expected

А как тогда правильно написать?


 
Германн ©   (2012-03-16 22:25) [1]


>  y:=(V)/Vi*100 ;
> frmmain.prgProcentVip.Position:= y;

И в каком же это месте эти строки прописаны?


 
begin...end ©   (2012-03-17 08:48) [2]

Странно. Если prgProcentVip - это TProgressBar, то должна быть другая ошибка - несовместимость типов. Ибо свойство TProgressBar.Position, насколько я знаю, целочисленное. И возиться с процентами тут ни к чему - достаточно сообщить ProgressBar"у границы изменяющейся величины, а потом передавать ему текущее её значение:

prgProcentVip.Min := 0;
prgProcentVip.Max := Vi;
prgProcentVip.Position := V;


 
sniknik ©   (2012-03-17 22:32) [3]

> И возиться с процентами тут ни к чему
каждое изменение вызывает перерисовку, но не каждое меняет что то в отображаемом... т.е. при больших числах, это жутко тормозит процесс, но ничего не меняет визуально (квадратика не добавляется).

проценты вполне нормальное решение, для минимизации "тормозов". ну или перейти на TGaude.


 
begin...end ©   (2012-03-18 08:57) [4]

> sniknik ©   (17.03.12 22:32) [3]

Так ведь и не при каждом увеличении процентов квадратик добавляется. Поэтому я всё же не высчитывал бы их самостоятельно, а обновлял бы Position как в [2], но не при каждом изменении V (например, если V изменяется в цикле, то можно обновлять Position только если V чётно, или кратно десяти, и т.д.).


 
Inovet ©   (2012-03-18 09:13) [5]

> [4] begin...end ©   (18.03.12 08:57)
> Так ведь и не при каждом увеличении процентов квадратик
> добавляется.

Квадратик или сплошная лента зависит от настроек Виндоус. Лучше определить диапазон минимальное-максимальное и вызывать разумное число раз какой-нибудь StepIt() возможно StepIt(n), а там пусть само решает рисовать или только счётчик увеличить. Разумность зависит от конкретной ситуации.


 
sniknik ©   (2012-03-18 11:02) [6]

> то можно обновлять Position только если V чётно, или кратно десяти, и т.д.)
это все одно тот же расчет, только до цикла, в цикле придется кратность по высчитанному коэффициенту определять.
ИМХО, без разницы, что в лоб что по лбу.


 
Cobalt ©   (2012-03-20 23:25) [7]

Я обновляю не чаще 1 раза в 2 секунды.



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

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

Наверх




Память: 0.48 MB
Время: 0.072 c
15-1339965003
Юрий
2012-06-18 00:30
2013.03.22
С днем рождения ! 18 июня 2012 понедельник


15-1338546220
MacroDenS
2012-06-01 14:23
2013.03.22
Посоветуйте чтиво по сервисам.


15-1350235025
Inovet
2012-10-14 21:17
2013.03.22
Прыжок из стратосферы. Трансляция.


15-1334225125
REAn
2012-04-12 14:05
2013.03.22
Компиляция BPL


2-1328870827
Константин
2012-02-10 14:47
2013.03.22
Можно ли имена компонентов формировать программго?