Um mal zu zeigen wie man es effizient programmiert:
Delphi-Quellcode:
// Werte von den Edit-Feldern holen und den Variablen zuweisen
// hier fehlen noch Absicherungen gegen falsche Eingaben
a := strtofloat(labelededit3.text);
b := strtofloat(labelededit2.text);
x := strtofloat(labelededit4.text);
y := strtofloat(labelededit1.text);
// mit booleschen werten kann man wunderbar rechnen
op := Ord(RadioButton1.checked) + Ord(RadioButton2.checked) + Ord(RadioButton3.checked) + Ord(RadioButton4.checked);
// ein case fragt op nur einmal ab
// es fehlen Tests auf illegale Werte (x = 0 fuer op = 3)
case op of
1: Edit1.text := FloatToStr(b * a * Power(a,x));
2: Edit1.text := FloatToStr(y / Power(a,x));
3: Edit1.text := FloatToStr(power((y/b), 1/x));
4: Edit1.text := FloatToStr(ln(y/b)/ln(a));
end;