Вниз
Скачать: CL | DM;

Функция Case ... of   Найти похожие ветки 

 
Danco ©   (2009-12-09 13:53) [0]

Обьясните мне лбди почему не работает?

var
s: String;
begin
case s of
 "Привет": ShowMessage("Сообщение "Привет"");
 "Пока": ShowMessage("Сообщение "Пока"");
 "Здрасть": ShowMessage("Сообщение "Здрасть"");
end;
end;


 
Медвежонок Пятачок ©   (2009-12-09 13:54) [1]

не работает потому что не должна работать.


 
Медвежонок Пятачок ©   (2009-12-09 13:56) [2]

а не должна работать потому что тип не простой перечислимый


 
MBo ©   (2009-12-09 13:56) [3]

в хелпе же написано, каких типов может быть селектор


 
Б   (2009-12-09 13:57) [4]

S - не тот.
Проверь через else в Case.


 
Б   (2009-12-09 13:59) [5]

Я ошибся. Пошёл читать хелп.


 
Danco ©   (2009-12-09 14:01) [6]

Спасибо :)


 
Ганя   (2009-12-09 14:50) [7]

для случая со строками, чтобы не писать кучу if-ов можно написать ytre. функцию, которая на вход принимает строку и массив строк-вариантов ответа, а результатом возвращает идекс.
Тогда результирующий код будет выглядеть приблизительно так:

var
s: String;
begin
case IndexOfString(s, ["Привет", "Пока", "Здрасть"] of
0: ShowMessage("Сообщение "Привет"");
1: ShowMessage("Сообщение "Пока"");
2: ShowMessage("Сообщение "Здрасть"");
end;
end;


 
Danco ©   (2009-12-10 10:18) [8]


> Ганя


Спасибо, есть на свете умные люди :)



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.006 c
2-1260344405
kyn66
2009-12-09 10:40
2010.01.31
Углубленная трассировка


2-1260345866
grom
2009-12-09 11:04
2010.01.31
Базы данных


15-1259184616
Юрий
2009-11-26 00:30
2010.01.31
С днем рождения ! 26 ноября 2009 четверг


15-1258913368
Alkid
2009-11-22 21:09
2010.01.31
А что это Каспер ругается на наш форум?


2-1260171599
pavel_guzhanov
2009-12-07 10:39
2010.01.31
Pascal Script в FastReport




   Наверх