Главная страница
    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.45 MB
Время: 0.06 c
15-1333892049
xayam
2012-04-08 17:34
2013.03.22
mono ttf utf-8


15-1327513350
alexdn
2012-01-25 21:42
2013.03.22
Сервер


2-1339492574
Разведка
2012-06-12 13:16
2013.03.22
Как извлечь флаги?


2-1331037518
Scott Storch
2012-03-06 16:38
2013.03.22
перевод кода C


15-1344353459
wl
2012-08-07 19:30
2013.03.22
Как бы реализовали архитектуру клиента?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский