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

Вниз

Несколько значений   Найти похожие ветки 

 
Sonic90   (2007-06-25 22:20) [0]

Подскажите пожалуйста как сделать чтобы если допустим переменная I равна Значению1 или Значению2 тогда выполнить определлённое действие(чтобы не писать два раза if I=... then)?


 
Kostafey ©   (2007-06-25 22:33) [1]

Можно использовать множества.


 
Kolan ©   (2007-06-25 22:38) [2]

> чтобы не писать два раза if I=&#133 then

case


 
Плохиш ©   (2007-06-25 22:39) [3]


> чтобы не писать два раза if I=... then)?

прочитай про or


 
Johnmen ©   (2007-06-25 22:39) [4]

А где тут два раза if?


 
Правильный Вася   (2007-06-25 22:42) [5]

if i in( 1, 2, 3 ) then


 
Kolan ©   (2007-06-25 22:52) [6]

> if i in( 1, 2, 3 ) then

О я не знал&#133 Как-то странно выглядит&#133 А там скобочки точно круглые?


 
Правильный Вася   (2007-06-25 22:55) [7]


>  А там скобочки точно круглые?

нет, квадратные
это SQL влез ;)


 
Плохиш ©   (2007-06-25 23:05) [8]


> Правильный Вася   (25.06.07 22:55) [7]
>
> >  А там скобочки точно круглые?
>
> нет, квадратные
> это SQL влез

Так ещё стоит уточнить, что только для ординарных типов, Integer к коим не относиться...


 
Anatoly Podgoretsky ©   (2007-06-25 23:10) [9]

> Sonic90  (25.06.2007 22:20:00)  [0]

Или по английски OR


 
Malik ©   (2007-06-25 23:24) [10]

Просто хотелось поучаствовать:)))
можно исследовать список возможных значений на какую-либо математическую закономерность (если они числа) и пишеш одно условие....
если же логическая, то тогда тоже можно через нормальную дезьюнктивную форму...


 
Sonic90   (2007-06-26 00:52) [11]

Всем спасибо,уже сам разобрался.


 
Германн ©   (2007-06-26 02:01) [12]


> Плохиш ©   (25.06.07 23:05) [8]
>
>
> > Правильный Вася   (25.06.07 22:55) [7]
> >
> > >  А там скобочки точно круглые?
> >
> > нет, квадратные
> > это SQL влез
>
> Так ещё стоит уточнить, что только для ординарных типов,
>  Integer к коим не относиться...
>

Это, простите как? Неужели у меня "палёная" справка?
Ordinal types include integer, character, Boolean, enumerated, and subrange types.
:)


 
Кщд ©   (2007-06-26 08:28) [13]


> если же логическая, то тогда тоже можно через нормальную
> дезьюнктивную форму...

а почему не КНФ, интересно?)
а где ссылка на теорему вычислимости на моделях?))


 
Однокамушкин   (2007-06-26 08:52) [14]


> Германн ©   (26.06.07 02:01) [12]

Тем не менее, множества с Integer"ом действительно плохо сочетаются, можно получить трудноуловимые ошибки...

var
 X: Integer;
begin
 X := 65535;
 if X in [65530, 65535] then
   ShowMessage("Yes");
end;


Это вообще не откомпилируется - Constant expression violates subrange bounds...

var
 X, A, B: Integer;
begin
 X := 65635;
 A := 1;
 B := 65535;
 {$R-}
 // По умолчанию эта опция отключена
 if X in [A, B] then
   ShowMessage("Yes");
end;


А это откомпилируется, но условие будет считаться невыполненным, т.к. из-за ограниченности размера множества значение B, выходящее за рамки диапазона, будет проигнорировано, и проверка будет эквивалентна if X in [1]... Правда, если включить $R+, будет ошибка времени исполнения...

Так что когда речь идёт об Integer - только if (X = A) or (X = B) then, а множества - это только для Byte...


 
zorik ©   (2007-06-26 10:26) [15]

case x of
 1..10, 25: ShowMessage("1-10,25")
 else ShowMessage("else");
end;



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

Форум: "Начинающим";
Текущий архив: 2007.07.22;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.037 c
15-1182854372
Карелин Артем
2007-06-26 14:39
2007.07.22
Учебные материалы по CMMI level 4 найти где?


11-1165943277
Goko
2006-12-12 20:07
2007.07.22
Создание MCK компонента


15-1182417644
Juice
2007-06-21 13:20
2007.07.22
Упавшая вижуал студия 2005.


2-1183108223
_Asph
2007-06-29 13:10
2007.07.22
QueryPerformanceFrequency


2-1182876294
kalkal
2007-06-26 20:44
2007.07.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
Английский Французский Немецкий Итальянский Португальский Русский Испанский