AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Taschenrechner

Ein Thema von Dyami · begonnen am 2. Okt 2013 · letzter Beitrag vom 10. Okt 2013
 
Benutzerbild von Dyami
Dyami

Registriert seit: 24. Sep 2013
Ort: Schleswig-Holstein
25 Beiträge
 
Delphi 10.3 Rio
 
#1

Taschenrechner

  Alt 2. Okt 2013, 13:44
Delphi-Version: 5
Hallo,

ich habe ein Anliegen. Ich habe einen kleinen Taschenrechner programmiert. Nichts dolles und wollte wissen, ob man auch diese ganzen IF-Abfragen verkürzen kann. Es sind nicht allzu viele, aber ich würde gerne noch etwas im Taschenrechner programmieren.

Delphi-Quellcode:
begin
  r_erg := 0;
  try
    begin
      if (Edit1.Text = 'Pflichtfeld') or (Edit2.Text = 'Pflichtfeld') or
        (Edit3.Text = 'Pflichtfeld') then
      begin
        showmessage('Pflichtfelder ausfüllen');

      end
      else
      begin
        r_Zahl1 := strtofloat(Edit1.Text);
        r_Zahl2 := strtofloat(Edit3.Text);
        S_zeichen := Edit2.Text;

        if Edit4.Text = 'then
        begin
          if S_zeichen = '+then
          begin
            r_erg := (r_Zahl1 + r_Zahl2);
          end
          else
          begin
            if S_zeichen = '-then
            begin
              r_erg := (r_Zahl1 - r_Zahl2);
            end
            else
            begin
              if S_zeichen = '*then
              begin
                r_erg := (r_Zahl1 * r_Zahl2);
              end
              else
              begin
                if S_zeichen = '/then
                begin
                  r_erg := (r_Zahl1 / r_Zahl2);
                end
                else
                  showmessage('Falsches Rechenzeichen');
              end;
            end;
          end;
        end
        else
        begin
          r_zahl3 := strtofloat(Edit4.Text);
          if S_zeichen = '+then
          begin
            r_erg := (r_Zahl1 + r_Zahl2 + r_zahl3);
          end
          else
          begin
            if S_zeichen = '-then
            begin
              r_erg := (r_Zahl1 - r_Zahl2 - r_zahl3);
            end
            else
            begin
              if S_zeichen = '*then
              begin
                r_erg := (r_Zahl1 * r_Zahl2 * r_zahl3);
              end
              else
              begin
                if S_zeichen = '/then
                begin
                  r_erg := (r_Zahl1 / r_Zahl2 / r_zahl3);
                end
                else
                  showmessage('Falsches Rechenzeichen');
              end;
            end;
          end;
        end;
      end;
    end;
  except
    showmessage('Ungültige zahlen');
  end;

  Label1.Caption := 'Ergenbis: ' + Floattostr(r_erg);

Oder muss ich das so lassen? Ich habe es mit Case versucht, aber das funktioniert leider nicht.
Also bitte ich um eure Hilfe

Danke im Vorraus

Gruß
Philipp
Philipp
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz