Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Функция 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]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо