Einzelnen Beitrag anzeigen

Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.429 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Taschenrechner

  Alt 2. Okt 2013, 14:21
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;
  Mit Zitat antworten Zitat