Odejmowanie w Kalkulatorze

0

Robie kalkulator, zrobiłem już poprawne dodawanie ale mam problem z odejmowaniem. Jak zauważyliście, w Windowsie jak i w zwyczajnych kalkulatorach odejmowanie można wykonywać na dwa sposoby:

x [-] y [=] lub x [-] y [-] ...

Nie potrafię ułożyć tego drugiego sposobu (przy jednoczesnym działaniu pierwszego). Dodawanie zrobiłem tymi sposobami i działają. Wklepuję Buttonami 0 - 9 liczbę do Label1. Do dyspozycji mam jeszcze Labele Temp3 i Temp4 (może się przydadzą) a także 2 CheckBoxy:

true po wykonaniu równania -> [=]
true po wykonaniu działania -> [-]

Poniżej daje kod, który udało mi sie wymyślić, ale nie działa tak jak chce :-(

procedure TForm1.Button13Click(Sender: TObject);// Button [-]
begin
  Oper.Checked := True; //ChecBox działania
  Kropka.Checked := False; //Nie ważne tutaj
  LZnak.Caption := '-'; //potrzebne przy przycisku [=]
  if Eq.Checked = True then // jeśli nacisnąłem [=] 
    begin
      Temp3.Caption := Label1.Caption;
      Label1.Caption := '0,';
      Eq.Checked := False;
    end else // żeby nie odejmowało od 0 jeśli TO nie było wynikiem poprzedniego działania
    if Temp3.Caption <> '0' then
    begin
      Temp3.Caption := FloatToStr(StrToFloat(Temp4.Caption) - StrToFloat(Label1.Caption));
      Label1.Caption := Temp3.Caption;
    end;
  Temp4.Caption := Label1.Caption;

end;

ma ktoś pomysł jak to przerobić ?

Ma to działać jak w standardowym calcu Windowsa, i tyle :-) Z góry dziękuję za pomysły :-)

0

Bardzo nieścisłe pytanie.. Odejmowanie robi się normalnie..
Jeśli chcesz aby odejmować kilka cyfr po kolei. Po prostu wykonaj jedno odejmowanie zapamiętaj wynik i później od wyniku odejmowanie zapamiętaj wynik itd..

Więc w czym problem?

1 użytkowników online, w tym zalogowanych: 0, gości: 1