![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Функция Case ... of
Danco © (2009-12-09 13:53:00)Обьясните мне лбди почему не работает?
var
s: String;
begin
case s of
'Привет': ShowMessage('Сообщение "Привет"');
'Пока': ShowMessage('Сообщение "Пока"');
'Здрасть': ShowMessage('Сообщение "Здрасть"');
end;
end;
Danco (2009-12-10 10:18:00) [1]
> Ганя
Спасибо, есть на свете умные люди :)
Ганя (2009-12-09 14:50:00) [2]для случая со строками, чтобы не писать кучу if-ов можно написать ytre. функцию, которая на вход принимает строку и массив строк-вариантов ответа, а результатом возвращает идекс.
Тогда результирующий код будет выглядеть приблизительно так:
var
s: String;
begin
case IndexOfString(s, ['Привет', 'Пока', 'Здрасть'] of
0: ShowMessage('Сообщение "Привет"');
1: ShowMessage('Сообщение "Пока"');
2: ShowMessage('Сообщение "Здрасть"');
end;
end;
Danco (2009-12-09 14:01:00) [3]Спасибо :)
Б (2009-12-09 13:59:00) [4]Я ошибся. Пошёл читать хелп.
Б (2009-12-09 13:57:00) [5]S - не тот.
Проверь через else в Case.
Медвежонок Пятачок (2009-12-09 13:56:00) [6]а не должна работать потому что тип не простой перечислимый
MBo (2009-12-09 13:56:00) [7]в хелпе же написано, каких типов может быть селектор
Медвежонок Пятачок (2009-12-09 13:54:00) [8]не работает потому что не должна работать.