Klar geht das auch kürzer, zumindest übersichtlicher und Funktion von der Oberfläche getrennt:
Delphi-Quellcode:
function Berechne(A, B: Float; Op: Char): Float;
begin
case Op
of
'
+': Result := (A + B);
'
-': Result := (A - B);
'
*': Result := (A * B);
'
/': Result := (A / B);
else
raise Exception.Create('
Falsches Rechenzeichen');
end;
end;
var
Op: Char;
begin
try
if (Edit1.Text = '
Pflichtfeld')
or (Edit2.Text = '
Pflichtfeld')
or
(Edit3.Text = '
Pflichtfeld')
then
raise Exception.Create('
Pflichtfelder ausfüllen');
r_Zahl1 := strtofloat(Edit1.Text);
r_Zahl2 := strtofloat(Edit3.Text);
S_zeichen := Trim(Edit2.Text);
if Length(S_zeichen) = 0
then
Op := #0
else
Op := S_zeichen[1];
r_erg := Berechne(r_Zahl1, rZahl2, Op);
if Edit4.Text <> '
'
then
begin
r_Zahl3 := strtofloat(Edit4.Text);
r_erg := Berechne(r_erg, r_Zahl3, Op);
end;
Label1.Caption := '
Ergebnis: ' + Floattostr(r_erg);
except
on E:
Exception do
begin
Label1.Caption := '
Ergebnis: ';
showmessage(E.
Message);
end;
end;
end;