Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.067 c
15-1339263264
Дмитрий С
2012-06-09 21:34
2013.03.22
Удаленный доступ к компу с маком.


15-1342885937
alexdn
2012-07-21 19:52
2013.03.22
Курсор для сайта


15-1337890087
vasa777
2012-05-25 00:08
2013.03.22
D WD (Delphi Xe3)


15-1345119186
stas
2012-08-16 16:13
2013.03.22
Расчет площади сложной фигуры


15-1345475256
DdiK
2012-08-20 19:07
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский