Главная страница
    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.068 c
2-1346832461
Levran
2012-09-05 12:07
2013.03.22
порядок вывода записей


15-1347371239
DevilDevil
2012-09-11 17:47
2013.03.22
Если тебе интересен Lua в Delphi


15-1343320052
Хаус
2012-07-26 20:27
2013.03.22
Посоветуйте жизненные задачи по JavaScript


2-1338983806
iMain
2012-06-06 15:56
2013.03.22
Client WebService


15-1339444852
alexdn
2012-06-12 00:00
2013.03.22
PHPbb движёк





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский