Множественный выбор CASE.
Формат записи:
case условие of
список1: begin
{инструкция
1}
end;
списокN: begin
{инструкция N}
end; // точка с запятой
обязательна
else
begin
{инструкция }
end;
end;
Порядок выполнения case: 1. Сначала вычисляется значение условия.
2. Вычисленное значение сравнивается с константами из списка констант.
3. Если значение условия совпадает с константой из списка, то выполняется соответствующая группа инструкций и работа саse завершается.
4. Если значение условия не совпадает ни с одной константой из всех списков, то выполняется последовательность инструкций, следующая за else.
Задача. Используя в качестве примера приложение
«Ветвление 2» из папки «Задание», составить проект пересчёта веса из фунтов в
килограммы, в зависимости от принятой в стране системы (коэффициент пересчёта приведён
ниже).
Код программы:
Подсказка: После установки ListBox откройте свойство Items (TString) и в столбик введите название стран.
procedure TForm1.FormCreate(Sender: TObject);
begin
ListBox1.itemindex:=0;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
funt:real; { вес в фунтах }
kg:real; { вес в килограммах }
k:real; { коэффициент пересчета }
begin
case
ListBox1.ItemIndex of
0: k:=0.4059; { Россия }
1: k:=0.453592; { Англия }
2: k:=0.56001; { Австрия }
3..5,7:k:=0.5; { Германия, Дания, Исландия, Нидерланды }
6: k:=0.31762;
{ Италия }
end;
funt:=StrToFloat(Edit1.Text);
kg:=k*funt;
label4.caption:=Edit1.Text
+ ' фунт. = '
+ FloatToStrF(kg,ffFixed,6,3)
+ ' кг.';
end;