Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.04.25;
Скачать: [xml.tar.bz2];

Вниз

Синтаксис языка 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;
Скачать: [xml.tar.bz2];

Наверх





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


1-80868
kopachev
2002-04-12 10:28
2002.04.25
Как программно менять значение Options в StringGride


3-80746
RomanG
2002-04-02 13:16
2002.04.25
ODBC, MS SQL


14-81035
lipskiy
2002-03-19 03:10
2002.04.25
Как Аську 2001b под Win2k заставить видеть коннект и дисконнект?


1-80876
Minster
2002-04-12 22:57
2002.04.25
Что означает свойство Tag во всех компонентах?





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