Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

как исползовать 'in' [D7, WinXP]


Xmen ©   (2007-04-06 11:26:00) 

привет народ
прикомпиляции кода
if OraQuery1.FieldByName('CODE').AsInteger in [0, 200,
300] then

Делфи выдает ошибку '[Error] Unit1.pas(257): Constant expression violates subrange bounds'

мне надо проверит значение OraQuery1.FieldByName('CODE').Value
(тип интежер) равонли один из 0, 200, 300

как это правилно пишется


TStas   (2007-04-08 15:07:00) [1]

in - это оператор для МНОЖЕСТВ. Множество по своему устройству никак не может иметь мощность больше 256. А Integer перечислимый тип, но куда как больше 256. То есть Set of Integer быть не может


Xmen   (2007-04-06 12:40:00) [2]

спасибо все


Krants   (2007-04-06 11:54:00) [3]


> Desdechado ©  
> Ega23 ©  

Сорри, с множествами уже не работаю...


Xmen   (2007-04-06 11:44:00) [4]

всеравно тотже ошибка выдается


Desdechado   (2007-04-06 11:42:00) [5]

Krants ©   (06.04.07 11:39) [4]
Учить матчасть.
The base type can have no more than 256 possible values, and their ordinalities must fall between 0 and 255.


Krants   (2007-04-06 11:39:00) [6]


> Ega23 ©   (06.04.07 11:29) [1]

Причем тут 0..255 для Integer?


> Xmen   (06.04.07 11:26)  

В принципе должно работать, попробуй так
if (OraQuery1.FieldByName('CODE').AsInteger in [0, 200,
300]) then


Xmen   (2007-04-06 11:37:00) [7]

спасибо
я думал об этих вариантов
с in бил бы карсиво


Сергей М.   (2007-04-06 11:31:00) [8]

Не мучайся, используй case:

case OraQuery1.FieldByName('CODE').AsInteger of
 0,200,300: ...
else
 ...
end;


Ega23   (2007-04-06 11:29:00) [9]

0..255
Так что с 300 - обломись.
if ... or ... or ... then


Наверх

Титульная страница Поиск, карта сайта Написать письмо