AGB  ·  Datenschutz  ·  Impressum  







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

[gelöst] Das Thema Taschenrechner

Ein Thema von spox · begonnen am 4. Dez 2007 · letzter Beitrag vom 6. Dez 2007
Antwort Antwort
Benutzerbild von spox
spox

Registriert seit: 23. Sep 2007
47 Beiträge
 
Delphi 7 Personal
 
#1

Re: Das Thema Taschenrechner

  Alt 4. Dez 2007, 16:29
Button 1-9 und Button 16(das ist die null) und Button15 (das ist das Komma), greifen auf Prozedur TTaschenrechner.Button1Click zurück.
Hier einmal der ganze Code:
Delphi-Quellcode:
unit trUni;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

const
 addition=1;
 subtraktion=2;
 multiplikation=3;
 division=4;

type
  TTaschenrechner = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Button7: TButton;
    Button8: TButton;
    Button9: TButton;
    Button10: TButton; //+ (- Button)
    Button11: TButton; //- (- Button)
    Button12: TButton; //* (- Button)
    Button13: TButton; // / (division) (- Button)
    Button14: TButton; // = (- Button)
    Button15: TButton;
    Button16: TButton;
    Button17: TButton; // C- Button
    Eingabe: TEdit; //das Display
    Button18: TButton; // wechsel zwischen postiv und negativ zahlen
    Button19: TButton; //CE Button
    Button20: TButton; //sqrt (noch nicht implementiert)
    Button21: TButton; //noch keine Funktion (kommt noch)
    Button22: TButton; //noch keine Funktion (kommt noch)
    procedure Button1Click(Sender: TObject);
    procedure Button10Click(Sender: TObject);
    procedure Button11Click(Sender: TObject);
    procedure Button12Click(Sender: TObject);
    procedure Button13Click(Sender: TObject);
    procedure Button14Click(Sender: TObject);
    procedure Button17Click(Sender: TObject);
    procedure Button19Click(Sender: TObject);
    procedure Button16Click(Sender: TObject);
    procedure Button18Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Taschenrechner: TTaschenrechner;
  summand1,summand2,summe,cache:double;
  modus:integer;

implementation

{$R *.dfm}


procedure TTaschenrechner.Button1Click(Sender: TObject);
begin
 if Eingabe.Text[1]=0 then
 begin
  Button16.Enabled:= false;
 end
 else
  Button16.Enabled:=true;
 Eingabe.Text:= Eingabe.Text+TButton(Sender).Caption[1];
end;

procedure TTaschenrechner.Button10Click(Sender: TObject);
begin
 summand1:= StrToFloat(Eingabe.Text);
 Eingabe.Text:='0' ;
 Button13.Enabled:= false;
 Button12.Enabled:= false;
 Button11.Enabled:= false;
 modus:= 1;
end;

procedure TTaschenrechner.Button11Click(Sender: TObject);
begin
 summand1:= StrToFloat(Eingabe.Text);
 Eingabe.Text:= '0';
 modus:= 2;
 Button10.Enabled:= false;
 Button12.Enabled:= false;
 Button13.Enabled:= false;
end;

procedure TTaschenrechner.Button12Click(Sender: TObject);
begin
 summand1:= StrToFloat(Eingabe.Text);
 Eingabe.Text:= '0';
 modus:= 3;
 Button10.Enabled:= false;
 Button11.Enabled:= false;
 Button13.Enabled:= false;
end;

procedure TTaschenrechner.Button13Click(Sender: TObject);
begin
 summand1:= StrToFloat(Eingabe.Text);
 Eingabe.Text:= '0';
 modus:= 4;
 Button10.Enabled:= false;
 Button11.Enabled:= false;
 Button12.Enabled:= false;
end;

procedure TTaschenrechner.Button14Click(Sender: TObject);
begin
 summand2:= StrToFloat(Eingabe.Text);
  case modus of
  addition:
   begin
    summe:= summand1+summand2;
  // FloatToStr(summe);
 {  if length (FloatToStr(summe))>=14 then
    begin
    FloatToStr(summe)[14]:='E';
    end;            }

    Eingabe.Text:= FloattoStr(summe);
    Button10.Enabled:= true;
    Button11.Enabled:= true;
    Button12.Enabled:= true;
    Button13.Enabled:= true;
   end;
  subtraktion:
   begin
    summe:= summand1-summand2;
    Eingabe.Text:= FloatToStr(summe);
    Button10.Enabled:= true;
    Button11.Enabled:= true;
    Button12.Enabled:= true;
    Button13.Enabled:= true;
   end;
  multiplikation:
   begin
    summe:= summand1*summand2;
    Eingabe.Text:= FloatToStr(summe);
    Button10.Enabled:= true;
    Button11.Enabled:= true;
    Button12.Enabled:= true;
    Button13.Enabled:= true;
   end;
  division:
   begin
    summe:= summand1/summand2;
    Eingabe.Text:= FloatToStr(summe);
    Button10.Enabled:= true;
    Button11.Enabled:= true;
    Button12.Enabled:= true;
    Button13.Enabled:= true;
   end;
  end;
end;

procedure TTaschenrechner.Button17Click(Sender: TObject);
begin
 Eingabe.Text:= '';
 summand1:= 0;
 summand2:= 0;
 Button10.Enabled:= true;
 Button11.Enabled:= true;
 Button12.Enabled:= true;
 Button13.Enabled:= true;
end;

procedure TTaschenrechner.Button19Click(Sender: TObject);
begin
 Eingabe.Text:= '';
end;

procedure TTaschenrechner.Button16Click(Sender: TObject);
begin
{ if (length (Eingabe.Text)=1 and Eingabe.Text:= (IntToStr(0))) then
  Button16.Enabled:= false
else
  Button16.Enabled:= true;     }

end;

procedure TTaschenrechner.Button18Click(Sender: TObject);
begin
 cache:= StrToFloat (Eingabe.Text);
 cache:= cache*(-1);
 Eingabe.Text:= FloatToStr (cache);
end;

procedure TTaschenrechner.FormCreate(Sender: TObject);
begin
 if Eingabe.Text[1]='0then
 begin
  Button16.Enabled:= false;
 end
 else
  Button16.Enabled:=true;
end;

end.
  Mit Zitat antworten Zitat
Antwort Antwort


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 05:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz