Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#22

AW: Taschenrechner : ' ' ist kein Gleitkommawert

  Alt 29. Jul 2011, 17:56
So, zu der Nummernprüfung wurde eigentlich schon alles gesagt...






Unnötige Konstanten besser vermeiden.
Delphi-Quellcode:
procedure TForm1.cmd_0Click(Sender: TObject);
begin
  txt_rechnung.Text := txt_rechnung.Text + IntToStr(0);
end;
Aber du weißt ja eh schon, was IntToStr liefern wird.
Delphi-Quellcode:
procedure TForm1.cmd_0Click(Sender: TObject);
begin
  txt_rechnung.Text := txt_rechnung.Text + '0';
end;
Und dann gibt es eine "Regel" (OK, eigentlich mehr Hinweis/Tipp), daß man doppelten Code vermeiden sollte.
In Sender steckt die Komponente, von welcher der Aufruf kommt, also welche den Befehl gesendet hat.

In .Hint kann man nun das Zeichen "verstecken":
Delphi-Quellcode:
procedure TForm1.cmd_NumClick(Sender: TObject);
begin
  txt_rechnung.Text := txt_rechnung.Text + TButton(Sender).Hint;
end;
Außerdem hätte jede Komponente .Tag, welches man auch verwenden könnte.
(wird nicht von Delphi genutzt und kann von dir verwendet werden, wofür du auch willst)
Delphi-Quellcode:
procedure TForm1.cmd_NumClick(Sender: TObject);
begin
  txt_rechnung.Text := txt_rechnung.Text + IntToStr(TButton(Sender).Tag);
end;
Nun muß man nur noch diese Methoden allen Nummern-Buttons zuweisen und im OI, bei diesen Buttons, das .Hint oder .Tag entsprechend setzen.
$2B or not $2B
  Mit Zitat antworten Zitat