я бы сделал по другому.
У тебя все-равно задается только одно значение и его тип.
Так зачем тебе 4 эдита???
Т.е. тебе надо выбрать тип заданного отрезка, ввести значение.
Далее по коду.
Сделать 4 процедуры расчета. Каждая принимает на вход собственно значение и по нему вычисляет все остальное и выводит, например, в Memo. По изменению типа и/или значения, мемо очищаем. тогда и кнопка не нужна.
Для выбора типа значения использовать RasioGroup, в которой можно просто по ItemIndex сделать Case:
Код:
procedure TForrm1.Button1Click(Sender : TObject);
var
AValue : Integer;
begin
AValue := StrToInt(Edit1.Text);
Case RadioGroup1.ItemIndex Of
0 : CalcByKatet(AValue);
1 : CalcByGipo(AValue);
2 : CalcByHeight(AValue);
3 : CalcBySquare(AValue);
Else ShowMessage('Тип значения не выбран.');
End;
end;
Так короче, читабельней и красивше...