Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
ВнизЧто это - 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.064 c