Текущая страница - Оператор выбора CASE в Delphi - Форум



Как Вы нашли сайт?

Всего ответов - 145

Rambler's Top100

Баннер нашего сайта

Форум программистов

Создание игр
на Adobe Flash

Создание игр на Adobe Flash

Блог Виталия Серова
Виталий Серов - БЛОГ

http://delphi-guru.pp.ua
Уроки Delphi



Добро пожаловать на сайт по игростроению
Пожалуйста pарегистрируйтесь, для того чтобы отписываться в темах

[ Последние сообщения · Форумчане · Правила форума · Поиск ]
  • Страница 1 из 1
  • 1
Модератор форума: Dmitrijan  
Форум » Теория программирования » Delphi » Оператор выбора CASE в Delphi
Оператор выбора CASE в Delphi
Dmitrijan Дата: Среда, 07.07.2010, 04:40 | Сообщение # 1
Пользователь
Группа: Руководитель подфорума
Сообщений: 83
Репутация: 4
Статус: Offline
Оператор выбора CASE в Delphi

Оператор выбора, который называется CASE, используется для выбора одного из нескольких направлений дальнейшего хода программы. Выбор последовательности инструкций осуществляется во время выполнения программы в зависимости от равенства значения переменной-селектора константе, указанной перед группой инструкций. В качестве переменной-селектора можно использовать переменную только перечислимого типа. Целое число (Integer) - перечислимый тип данных. Другим простым перечислимым типом данных является символьный тип (Char).

Синтаксис оператора CASE:

Code
case {переменная-селектор} of   
    {константа_1}: {инструкции 1}   
    {константа_2}: {инструкции 2}   
    {...}   
    else {инструкции, если ни одна константа не подошла}   
end;

Работает оператор следующим образом: берётся значение переменной-селектора и последовательно сравнивается с каждой из констант. Если значения совпадают, то выполняются инструкции, указанные после данной константы. Если ни одна константа не совпала со значением переменной-селектора, но при этом указан блок else, то выполняются инструкции этого блока. Если блок else не указан, никаких команд выполнено не будет.
Обратите внимание, что после каждой константы ставится двоеточие (":").
Помимо одиночных констант можно указывать несколько констант через запятую, а также можно указывать диапазон, задав начальный и конечный элементы и разделив их двумя точками.

Пример:

Code
case a of
    1,2,3,4,5: {...}   
    else {...}   
end;   

case a of
    1..5: {...}   
    else {...}   
end;

Оба представленных фрагмента кода сработают абсолютно одинаково, но во втором варианте запись констант и короче и удобнее.

Пример программы с использованием оператора выбора.

Создадим программу, которая будет запрашивать ввод числа от 1 до 12 и выводить название времени года, которому принадлежит месяц с указанным номером.

Интерфейс прост: поле ввода (Edit1) и кнопка (Button1).

Обработчик кнопки таков:

Code
procedure TForm1.Button1Click(Sender: TObject);   
var Month: Integer;   
begin   
    Month:=StrToInt(Edit1.Text);   
    case Month of
      1,2,12: ShowMessage('Зима');   
      3..5: ShowMessage('Весна');   
      6..8: ShowMessage('Лето');   
      9..11: ShowMessage('Осень')   
      else ShowMessage('Число должно быть от 1 до 12.')   
    end   
end;

Результат работы:

Заключение

Условный оператор CASE позволяет создавать ветвления в программах, т.е. выполнять различные действия в зависимости от заданного условия. Отличается он от оператора IF тем, что оператор IF используется для единственного выбора, а CASE - для множественного. При написании какой-либо сравнительно сложной программы без оператора CASE не обойтись.

Dmitrijan & delphi.int.ru
07.07.2010 03:25
Копирование элементов статьи без ссылки на автора - запрещено!


в отпуске...
Чебурашка Дата: Среда, 07.07.2010, 12:35 | Сообщение # 2
Специалист
Группа: Администраторы
Сообщений: 221
Репутация: 6
Статус: Offline
Dmitrijan, Очень даже хорошо! Только вот тема перекликается с темой на Pascal. Ну да ладно smile

The next statement is not true.
The previous statement is true.
Flier Дата: Среда, 07.07.2010, 12:41 | Сообщение # 3
VIP
Группа: Администраторы
Сообщений: 296
Репутация: 7
Статус: Offline
ну форум то по игрострою, так что паскаль тут вообще не особо...))) поэтому эта тема и должна быть в делфи по-моему. но можно разместить ее и там, и там...

- Прихватив с собой дубину, нанесу визит к админу!
Чебурашка Дата: Среда, 07.07.2010, 12:43 | Сообщение # 4
Специалист
Группа: Администраторы
Сообщений: 221
Репутация: 6
Статус: Offline
Предлагаю сделать следующее... Взять часть материала отсюда, который пригоден для паскаля, и создать ещё один урок по теории, но уже в разделе! Будет намного лучше. Может ещё чем-нибудь дополнив его.

The next statement is not true.
The previous statement is true.
Flier Дата: Среда, 07.07.2010, 12:47 | Сообщение # 5
VIP
Группа: Администраторы
Сообщений: 296
Репутация: 7
Статус: Offline
да, это будет правильно smile Dmitrijan, за дело давай, твоя статья ведь wink

- Прихватив с собой дубину, нанесу визит к админу!
Форум » Теория программирования » Delphi » Оператор выбора CASE в Delphi
  • Страница 1 из 1
  • 1
Поиск:
Game Builder © 2010
Сайт управляется системой uCoz