Announcement

Collapse
No announcement yet.

Programmierung Taschenrechner

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Programmierung Taschenrechner

    Guten morgen!

    Na alles klar? Bei mir nicht ich sitz nämlich auch grade an dem Taschenrechner. Ich habs soweit dass ich zahlen schreiben kann und sie im Edit Feld angezeigt werden. Bei einem Klick auf Plus z.b. erscheint das + im edit. wenn ich jetzt aber die zweite menge hinzufügen will also z.b. 4+5 schreibt der taschenrechner im editfeld weiter also bei der letzten eingegeben zahl. = 45. Die rechenoperation ist mir bis jetzt noch egal. Er soll eh nur zwei zahlen miteinander verrechnen können. Bitte sagt mir wie ich hinbekomme dass der rechner die erste zahl anzeigt, bzw. mehrere zahlen..dann das + und ich im leeren textfeld weiterschreiben kann.Hier der Quelltext:

    unit Unit1;

    interface

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

    type
    TForm1 = class(TForm)
    Textfeld: TEdit;
    nr7: TButton;
    nr8: TButton;
    nr9: TButton;
    nr4: TButton;
    nr5: TButton;
    nr6: TButton;
    nr1: TButton;
    nr2: TButton;
    nr3: TButton;
    nr0: TButton;
    clearbutton: TButton;
    plus: TButton;
    minus: TButton;
    mal: TButton;
    geteilt: TButton;
    istgleich: TButton;
    MainMenu1: TMainMenu;
    Datei1: TMenuItem;
    Beenden1: TMenuItem;
    Hilfe1: TMenuItem;
    Info1: TMenuItem;
    Panel1: TPanel;
    procedure clickfunk(Sender: TObject);
    procedure Beenden1Click(Sender: TObject);
    procedure Info1Click(Sender: TObject);
    procedure tempop(Sender: TObject);
    private
    { Private-Deklarationen }
    public
    { Public-Deklarationen }
    end;

    var
    Form1: TForm1;
    a,b: STRING;

    implementation

    {$R *.DFM}

    procedure TForm1.clickfunk(Sender: TObject);

    var

    tempzahl1, tempzahl2: STRING;

    begin

    If Sender = nr1 Then tempzahl1 :='1';
    If Sender = nr2 Then tempzahl1 :='2';
    If Sender = nr3 Then tempzahl1 :='3';
    If Sender = nr4 Then tempzahl1 :='4';
    If Sender = nr5 Then tempzahl1 :='5';
    If Sender = nr6 Then tempzahl1 :='6';
    If Sender = nr7 Then tempzahl1 :='7';
    If Sender = nr8 Then tempzahl1 :='8';
    If Sender = nr9 Then tempzahl1 :='9';
    If Sender = nr0 Then tempzahl1 :='0';
    a:=concat(a,tempzahl1);
    Textfeld.text:=a;

    If Sender = nr1 Then tempzahl2 :='1';
    If Sender = nr2 Then tempzahl2 :='2';
    If Sender = nr3 Then tempzahl2 :='3';
    If Sender = nr4 Then tempzahl2 :='4';
    If Sender = nr5 Then tempzahl2 :='5';
    If Sender = nr6 Then tempzahl2 :='6';
    If Sender = nr7 Then tempzahl2 :='7';
    If Sender = nr8 Then tempzahl2 :='8';
    If Sender = nr9 Then tempzahl2 :='9';
    If Sender = nr0 Then tempzahl2 :='0';
    b:=concat(b,tempzahl2);
    textfeld.text:=b;

    end;

    proced ure TForm1.tempop(Sender: TObject);
    var
    tempop: STRING;

    begin
    If sender = plus Then tempop := '+';
    If sender = minus Then tempop := '-';
    If sender = mal Then tempop := '*';
    If sender = geteilt Then tempop := '/';

    textfeld.text:=tempop

    end;

  • #2
    Hi

    Versuchs mal mit TextFeld.Text := TextFeld.Text + TempOp;

    Gruß Hage

    Comment

    Working...
    X