Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.25;
Скачать: CL | DM;

Вниз

Синтаксис языка Object Pascal   Найти похожие ветки 

 
jin   (2002-04-12 11:30) [0]

Граждане вот какой код есть
CodTxt=1;
CodPic=2;
CodWav=3;
........
MySet=[CodTxt,CodPic];
.............
Case i of
1..3: WriteLn("?") или CodTxt,CodPic,CodWav: WriteLn("?")
Вопрос такой в рамках синтаксиса языка возможна ли конструкция
аналогичная по смыслу (именно такая невозможна)
Case i of
MySet: WriteLn("?")
скажем за счет иного механизма констант, или синтаксического элемента в районе MySet позволяющее втолковать компилятору?


 
drpass ©   (2002-04-12 11:36) [1]

Можно так:
Case i of
CodTxt,CodPic: WriteLn("?")
Можно так: if i in MySet then...
Но операции со множествами в операторе case недопустимы


 
Digitman ©   (2002-04-12 11:40) [2]

Механизм генерации и управления множества в ОП для данной задачи никак не подходит. Здесь желательно использовать перечислимый тип :

type
TMySet = (CodTxt, CodPic, CodWav, ...);

var
MySet: TMySet;
..
case MySet of
CodTxt : ...;
CodPic : ...;
CodWav : ...;
else
...
end;

Компилятор автоматически пронумерует слева направо идент-ры, перечисленные в типе TMySet, начиная с 0. Если такой вариант не устраивает, то, наверно, придется отказаться от case..of и использовать не столь удобный if..then..else



Страницы: 1 вся ветка

Текущий архив: 2002.04.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.012 c
1-80865
inko
2002-04-13 19:00
2002.04.25
Как убрать приложение из автозапуска?


14-81066
Fellomena
2002-03-18 18:46
2002.04.25
Возможна ли связка *.lib от Фортрана с Delphi проектами ?


3-80802
Glonia Zbanov
2002-04-05 10:58
2002.04.25
Народ! Обьясните конструкцию запроса.


1-80963
tovSuhov
2002-04-12 09:07
2002.04.25
Создание OCX-компонента...


3-80795
Draculenok
2002-03-21 12:54
2002.04.25
Вопрос по QReporty!!!!!!!!