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 :-)