AGB  ·  Datenschutz  ·  Impressum  







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

Taschenrechner über Tastatur bedienen

Offene Frage von "ghost1601"
Ein Thema von Stefan92 · begonnen am 10. Jan 2007 · letzter Beitrag vom 19. Jan 2007
Antwort Antwort
Stefan92

Registriert seit: 9. Jan 2007
146 Beiträge
 
Delphi 7 Enterprise
 
#1

Re: Taschenrechner über Tastatur bedienen

  Alt 11. Jan 2007, 14:34
Ok hier kommt er, er ist allerdings sehr schlecht kommentiert und sehr lang :
Code:
unit Taschenrechner;

interface

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

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;
    Button19: TButton;
    Edit1: TEdit;
    procedure Button1Click(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 Button18Click(Sender: TObject);
    procedure Button12Click(Sender: TObject);
    procedure Button19Click(Sender: TObject);
    procedure Edit1Change(Sender: TObject);
    procedure Button11Click(Sender: TObject);
    procedure Button15Click(Sender: TObject);
    procedure Button14Click(Sender: TObject);
    procedure Button17Click(Sender: TObject);
    procedure Button16Click(Sender: TObject);
    procedure Button13Click(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: char);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

var operation,strich,punkt,punktvorstrich:boolean;
    zahl1,zahl2,zahl3,result:real;
    gesucht:string;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  if (edit1.text='0') or (operation=true) then
  begin
    edit1.text:='1';
    operation:=false;
  end
  else edit1.text:=edit1.text+'1';
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  if (edit1.text='0') or (operation=true) then
  begin
    edit1.text:='2';
    operation:=false;
  end
  else edit1.text:=edit1.text+'2';
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  if (edit1.text='0') or (operation=true) then
  begin
    edit1.text:='3';
    operation:=false;
  end
  else edit1.text:=edit1.text+'3';
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
  if (edit1.text='0') or (operation=true) then
  begin
    edit1.text:='4';
    operation:=false;
  end
  else edit1.text:=edit1.text+'4';
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
  if (edit1.text='0') or (operation=true) then
  begin
    edit1.text:='5';
    operation:=false;
  end
  else edit1.text:=edit1.text+'5';
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
  if (edit1.text='0') or (operation=true) then
  begin
    edit1.text:='6';
    operation:=false;
  end
  else edit1.text:=edit1.text+'6';
end;

procedure TForm1.Button7Click(Sender: TObject);
begin
  if (edit1.text='0') or (operation=true) then
  begin
    edit1.text:='7';
    operation:=false;
  end
  else edit1.text:=edit1.text+'7';
end;

procedure TForm1.Button8Click(Sender: TObject);
begin
  if (edit1.text='0') or (operation=true) then
  begin
    edit1.text:='8';
    operation:=false;
  end
  else edit1.text:=edit1.text+'8';
end;

procedure TForm1.Button9Click(Sender: TObject);
begin
  if (edit1.text='0') or (operation=true) then
  begin
    edit1.text:='9';
    operation:=false;
  end
  else edit1.text:=edit1.text+'9';
end;

procedure TForm1.Button10Click(Sender: TObject);
begin
  if (edit1.text='0') or (operation=true) then
  begin
    edit1.text:='0';
    operation:=false;
  end
  else edit1.text:=edit1.text+'0';
end;

procedure TForm1.Button18Click(Sender: TObject);
begin
  edit1.text:='0';
  strich:=false;
  punkt:=false;
  punktvorstrich:=false;
  zahl1:=0;
  zahl2:=0;
  zahl3:=0;
end;

procedure TForm1.Button12Click(Sender: TObject);
var vorzeichenwechsel:real;
begin
  vorzeichenwechsel:=strtofloat(edit1.text);
  vorzeichenwechsel:=vorzeichenwechsel*(-1);
  edit1.text:=floattostr(vorzeichenwechsel);
end;

procedure TForm1.Edit1Change(Sender: TObject);
begin
  if edit1.text='' then edit1.text:='0';
end;

procedure TForm1.Button19Click(Sender: TObject);
var i:integer;
    s:string;
begin
  for i:=1 to (length(edit1.text)-1) do
  begin
    s:=s+edit1.text[i];
  end;
  edit1.text:=s;
  if edit1.text='' then edit1.text:='0';
end;

procedure TForm1.Button11Click(Sender: TObject);
var j:integer;
    komma:boolean;
begin
  komma:=false;
  for j:=1 to length(edit1.text) do
  if edit1.text[j]=',' then
  begin
    komma:=true;
    break;
  end
  else komma:=false;
  if komma=false then
  begin
    edit1.text:=edit1.text+',';
  end;
end;

procedure TForm1.Button15Click(Sender: TObject);
begin
  result:=0;
  zahl2:=strtofloat(edit1.text);
  if result=0 then result:=zahl2;
  if edit1.text='0' then result:=zahl2;
  if gesucht='summe' then result:=zahl1+zahl2;
  if gesucht='differenz' then result:=zahl1-zahl2;
  if gesucht='quotient' then result:=zahl1/zahl2;
  if gesucht='produkt' then result:=zahl1*zahl2;
  edit1.text:=floattostr(result);
  operation:=true;
  strich:=true;     {+}
  zahl1:=strtofloat(edit1.text);
  gesucht:='summe';

end;

procedure TForm1.Button14Click(Sender: TObject);
begin
  result:=0;
  zahl2:=strtofloat(edit1.text);
  if result=0 then result:=zahl2;
  if gesucht='summe' then result:=zahl1+zahl2;
  if gesucht='differenz' then result:=zahl1-zahl2;
  if gesucht='quotient' then result:=zahl1/zahl2;
  if gesucht='produkt' then result:=zahl1*zahl2;
  edit1.text:=floattostr(result);
  operation:=true;
  strich:=true;     {-}
  zahl1:=strtofloat(edit1.text);
  gesucht:='differenz';
end;

procedure TForm1.Button17Click(Sender: TObject);
begin
  if (strich=false) and (punkt=true) then
  begin
    result:=0;
    zahl2:=strtofloat(edit1.text);
    if gesucht='summe' then result:=zahl1+zahl2;
    if gesucht='differenz' then result:=zahl1-zahl2;
    if gesucht='quotient' then result:=zahl1/zahl2;
    if gesucht='produkt' then result:=zahl1*zahl2;
    edit1.text:=floattostr(result);
    operation:=true;
  end;
  if strich=true then
  begin
    zahl2:=strtofloat(edit1.Text);
    punktvorstrich:=true;
  end;
  operation:=true;
  punkt:=true;    {/}
  if punktvorstrich=false then zahl1:=strtofloat(edit1.text);
  gesucht:='quotient';
end;

procedure TForm1.Button16Click(Sender: TObject);
begin
  if (strich=false) and (punkt=true) then
  begin
    result:=0;
    zahl2:=strtofloat(edit1.text);
    if gesucht='summe' then result:=zahl1+zahl2;
    if gesucht='differenz' then result:=zahl1-zahl2;
    if gesucht='quotient' then result:=zahl1/zahl2;
    if gesucht='produkt' then result:=zahl1*zahl2;
    edit1.text:=floattostr(result);
    operation:=true;
  end;
  if strich=true then
  begin
    zahl2:=strtofloat(edit1.Text);
    punktvorstrich:=true;
  end;
  operation:=true;
  punkt:=true;    {*}
  if punktvorstrich=false then zahl1:=strtofloat(edit1.text);
  gesucht:='produkt';
end;

procedure TForm1.Button13Click(Sender: TObject);
begin
  result:=0;
  if punktvorstrich=false then zahl2:=strtofloat(edit1.text);
  if (zahl1=0) and (punkt=false) then edit1.text:=floattostr(zahl2)
  else
  begin
    if punktvorstrich=true then
    begin
      zahl3:=strtofloat(edit1.text);
      result:=(zahl2*zahl3)+zahl1;
      edit1.text:=floattostr(result);
    end
    else
    begin
      if gesucht='summe' then result:=zahl1+zahl2;
      if gesucht='differenz' then result:=zahl1-zahl2;
      if gesucht='quotient' then result:=zahl1/zahl2;
      if gesucht='produkt' then result:=zahl1*zahl2;
      edit1.text:=floattostr(result);
    end;
  end;
  operation:=true;
  strich:=false;
  punkt:=false;
  punktvorstrich:=false;
end;

procedure TForm1.FormKeyPress(Sender: TObject; var Key: char);
begin
  if key='1' then button1.click;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  keypreview:=true;
end;

end.
Gruß

Stefan
  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 01:23 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