Thema: Delphi Taschenrechner!!??

Einzelnen Beitrag anzeigen

Crank09

Registriert seit: 6. Mär 2007
7 Beiträge
 
Delphi 3 Professional
 
#11

Re: Taschenrechner!!??

  Alt 7. Mär 2007, 09:27
So hat mein Lehrer das programmiert

Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Button7: TButton;
    Button8: TButton;
    Button9: TButton;
    Button10: TButton;
    Button11: TButton;
    Button12: TButton;
    Button13: TButton;
    Button14: TButton;
    Button15: TButton;
    Button16: TButton;
    Button17: TButton;
    Button18: TButton;
    Label1: TLabel;
    Button19: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Label1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
    procedure Button9Click(Sender: TObject);
    procedure Button10Click(Sender: TObject);
    procedure Button13Click(Sender: TObject);
    procedure Button14Click(Sender: TObject);
    procedure Button15Click(Sender: TObject);
    procedure Button16Click(Sender: TObject);
    procedure Button18Click(Sender: TObject);
    procedure Button11Click(Sender: TObject);
    procedure Button19Click(Sender: TObject);
    procedure Button12Click(Sender: TObject);
    procedure Button17Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  zahl, ergebnis, f, w : real;
  operator : Char;
  komma : boolean;
  i : integer;
implementation

{$R *.DFM}

procedure TForm1.Label1Click(Sender: TObject);
begin
     zahl := 0;
     ergebnis := 0;
     f := 10;
     operator := '+';
     label1.Caption := floattostr ( zahl);
     label1.color := clgray;
     label1.alignment := taRightJustify;
     komma := false;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
      if komma = false then begin
         zahl := zahl * f + 1;
      end else begin
          zahl := zahl + 1 / f;
          f := f * 10;
      end;
      label1.caption := floattostrf ( zahl, ffnumber,7,4);
end;



procedure TForm1.Button2Click(Sender: TObject);
begin
      if komma = false then begin
         zahl := zahl * f + 2;
      end else begin
          zahl := zahl + 2 / f;
          f := f * 10;
      end;
      label1.caption := floattostrf ( zahl, ffnumber,7,4);
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
      if komma = false then begin
         zahl := zahl * f + 3;
      end else begin
          zahl := zahl + 3 / f;
          f := f * 10;
      end;
      label1.caption := floattostrf ( zahl, ffnumber,7,4);
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
      if komma = false then begin
         zahl := zahl * f + 4;
      end else begin
          zahl := zahl + 4 / f;
          f := f * 10;
      end;
      label1.caption := floattostrf ( zahl, ffnumber,7,4);
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
      if komma = false then begin
         zahl := zahl * f + 5;
      end else begin
          zahl := zahl + 5 / f;
          f := f * 10;
      end;
      label1.caption := floattostrf ( zahl, ffnumber,7,4);
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
      if komma = false then begin
         zahl := zahl * f + 6;
      end else begin
          zahl := zahl + 6 / f;
          f := f * 10;
      end;
      label1.caption := floattostrf ( zahl, ffnumber,7,4);
end;

procedure TForm1.Button7Click(Sender: TObject);
begin
      if komma = false then begin
         zahl := zahl * f + 7;
      end else begin
          zahl := zahl + 7 / f;
          f := f * 10;
      end;
      label1.caption := floattostrf ( zahl, ffnumber,7,4);
end;

procedure TForm1.Button8Click(Sender: TObject);
begin
      if komma = false then begin
         zahl := zahl * f + 8;
      end else begin
          zahl := zahl + 8 / f;
          f := f * 10;
      end;
      label1.caption := floattostrf ( zahl, ffnumber,7,4);
end;

procedure TForm1.Button9Click(Sender: TObject);
begin
       if komma = false then begin
         zahl := zahl * f + 9;
      end else begin
          zahl := zahl + 9 / f;
          f := f * 10;
      end;
      label1.caption := floattostrf ( zahl, ffnumber,7,4);
end;

procedure TForm1.Button10Click(Sender: TObject);
begin
      if komma = false then begin
         zahl := zahl * f + 0;
      end else begin
          zahl := zahl + 0 / f;
          f := f * 10;
      end;
      label1.caption := floattostrf ( zahl, ffnumber,7,4);
end;

procedure TForm1.Button13Click(Sender: TObject);
begin
     case operator of
          '+' : ergebnis := ergebnis + zahl;
          '-' : ergebnis := ergebnis - zahl;
          '*' : ergebnis := ergebnis * zahl;
          '/' : ergebnis := ergebnis / zahl;
          '%' : ergebnis := ergebnis * zahl / 100;
     end;
     zahl := 0;
     operator := '+';
     label1.Caption := floattostrf ( zahl, ffnumber,7,4);
     f:= 10;
     komma := false;
end;

procedure TForm1.Button14Click(Sender: TObject);
begin
     case operator of
          '+' : ergebnis := ergebnis + zahl;
          '-' : ergebnis := ergebnis - zahl;
          '*' : ergebnis := ergebnis * zahl;
          '/' : ergebnis := ergebnis / zahl;
          '%' : ergebnis := ergebnis * zahl / 100;
     end;
     zahl := 0;
     operator := '-';
     label1.Caption := floattostrf ( zahl, ffnumber,7,4);
     f:= 10;
     komma := false;
end;

procedure TForm1.Button15Click(Sender: TObject);
begin
     case operator of
          '+' : ergebnis := ergebnis + zahl;
          '-' : ergebnis := ergebnis - zahl;
          '*' : ergebnis := ergebnis * zahl;
          '/' : ergebnis := ergebnis / zahl;
          '%' : ergebnis := ergebnis * zahl / 100;
     end;
     zahl := 0;
     operator := '*';
     label1.Caption := floattostrf ( zahl, ffnumber,7,4);
     f:= 10;
     komma := false;
end;

procedure TForm1.Button16Click(Sender: TObject);
begin
     case operator of
          '+' : ergebnis := ergebnis + zahl;
          '-' : ergebnis := ergebnis - zahl;
          '*' : ergebnis := ergebnis * zahl;
          '/' : ergebnis := ergebnis / zahl;
          '%' : ergebnis := ergebnis * zahl / 100;
     end;
     zahl := 0;
     operator := '/';
     label1.Caption := floattostrf ( zahl, ffnumber,7,4);
     f:= 10;
     komma := false;
end;

procedure TForm1.Button11Click(Sender: TObject);
begin
     case operator of
          '+' : ergebnis := ergebnis + zahl;
          '-' : ergebnis := ergebnis - zahl;
          '*' : ergebnis := ergebnis * zahl;
          '/' : ergebnis := ergebnis / zahl;
          '%' : ergebnis := ergebnis * zahl / 100;
     end;
     zahl := 0;
     operator := '%';
     label1.Caption := floattostrf ( zahl, ffnumber,7,4);
     f:= 10;
     komma := false;
end;

procedure TForm1.Button18Click(Sender: TObject);
begin
     case operator of
          '+' : ergebnis := ergebnis + zahl;
          '-' : ergebnis := ergebnis - zahl;
          '*' : ergebnis := ergebnis * zahl;
          '/' : ergebnis := ergebnis / zahl;
          '%' : ergebnis := ergebnis * zahl / 100;
          'h' : begin
                     f := ergebnis;
                     ergebnis := 1;
                   for i := 1 to trunc(zahl)do begin
                       ergebnis := ergebnis * f;
                   end;
                end;
          'w'  : begin
                      w := ergebnis;
                      ergebnis := 0;
                   repeat
                         ergebnis := ergebnis + 0.00001;
                         f := 1;
                      for i := 1 to trunc (zahl) do begin
                          f := f * ergebnis;
                      end;
                   until f >= w;
                        ergebnis := ergebnis - 0.00001;
              end;
     end;
     zahl := 0;
     operator := '+';
     label1.Caption := floattostr ( zahl);
     label1.caption := floattostrf (ergebnis, ffnumber,7,4);
     ergebnis := 0;
     f := 10;

end;
procedure TForm1.Button19Click(Sender: TObject);
begin
     komma := true;
     f := 10;
end;

procedure TForm1.Button12Click(Sender: TObject);
begin
     case operator of
          '+' : ergebnis := ergebnis + zahl;
          '-' : ergebnis := ergebnis - zahl;
          '*' : ergebnis := ergebnis * zahl;
          '/' : ergebnis := ergebnis / zahl;
          '%' : ergebnis := ergebnis * zahl / 100;

     end;
     zahl := 0;
     operator := 'h';
     label1.Caption := floattostrf ( zahl, ffnumber,7,4);
     f:= 10;
     komma := false;
end;

procedure TForm1.Button17Click(Sender: TObject);
begin
     case operator of
          '+' : ergebnis := ergebnis + zahl;
          '-' : ergebnis := ergebnis - zahl;
          '*' : ergebnis := ergebnis * zahl;
          '/' : ergebnis := ergebnis / zahl;
          '%' : ergebnis := ergebnis * zahl / 100;

     end;
     zahl := 0;
     operator := 'w';
     label1.Caption := floattostrf ( zahl, ffnumber,7,4);
     f:= 10;
     komma := false;
end;

end.
aber danke


[edit=Phoenix]Derlphi-Tags gesetzt. Das nächste mal selber machen. Mfg, Phoenix[/edit]
  Mit Zitat antworten Zitat