![]() |
Verkürzen??
Hallo,
wollte mal fragen ob man das irgendwie verkürzen kann:
Delphi-Quellcode:
procedure TTR.Bt1Click(Sender: TObject);
begin if Anzeige.Text = '0' then Anzeige.Text := '1' else Anzeige.Text := Anzeige.Text + '1' end; procedure TTR.Bt2Click(Sender: TObject); begin if Anzeige.Text = '0' then Anzeige.Text := '2' else Anzeige.Text := Anzeige.Text + '2' end; ... procedure TTR.Bt8Click(Sender: TObject); begin if Anzeige.Text = '0' then Anzeige.Text := '8' else Anzeige.Text := Anzeige.Text + '8' end; procedure TTR.Bt9Click(Sender: TObject); begin if Anzeige.Text = '0' then Anzeige.Text := '9' else Anzeige.Text := Anzeige.Text + '9' end; procedure TTR.Bt0Click(Sender: TObject); begin if Anzeige.Text = '0' then Anzeige.Text := '0' else Anzeige.Text := Anzeige.Text + '0' end; |
Re: Verkürzen??
Ja, das kann man. :mrgreen:
Delphi-Quellcode:
Jetzt musst du nur bei jedem Button den Tag richtig setzen. Ich hab's nicht getestet, aber es müsste iegntlich so klappen :spin2:
procedure KLICK(Sender: TObject; var str: string;);
begin if str = '0' then str := inttostr(sender.tag); else str := str + inttostr(sender.tag) end; procedure TTR.Bt1Click(Sender: TObject); begin KLICK(self, anzeige.Text); end; |
Re: Verkürzen??
Meine Version:
Delphi-Quellcode:
Auch hier: Tags richtig setzen (Button1: 1, Button2: 2, usw.)
procedure TTR.BtnClick(Sender: TObject);
begin if Anzeige.Text = '0' then Anzeige.Text := Str (Sender.Tag) else Anzeige.Text := Anzeige.Text + Str (Sender.Tag); end; |
Re: Verkürzen??
Mit der Methode von Toxman gehts nachdem mir das jemand erkärt und gezeigt hat ;)
Bin halt noch wirklich anfänger. Thx @ all |
Re: Verkürzen??
Du erstellst eine Procedure ('Klick') der du ein Control (den Button) und einen String (Anzeige.Text) übergibst. Je nach Tag des übergebenen Controls wird der String anders verändert. Da der var-Parameter da steht, darf der übergebene String in der procedure verändert werden.
Die Deklaration muss aber so lauten:
Delphi-Quellcode:
Bei der Implementierung kannst du dann mit dem Tag arbeiten:
procedure Klick(Sender: Tcontrol; var Str: string); //Control statt Component
Delphi-Quellcode:
Beim Aufruf übergibst du dann den Button und der String der verändert werden soll. (Self ist falsch, damit würdest du das Form übergeben :wall: ).
procedure TForm1.Klick(Sender: Tcontrol; var Str: string);
begin if str = '0' then str := inttostr(sender.tag) // kein ';' vor 'else' !! else str := str + inttostr(sender.tag); showmessage(str); end; Also
Delphi-Quellcode:
So funzt es erstmal.
Klick(Button1,Anzeige.text);
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:21 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 by Thomas Breitkreuz