![]() |
Button Clicks zählen
Hallo DPler,
hänge gerade an einem Teilproblem. Ich möchte die Anzahl der Button1-Clicks weiter verwerten. Wie stelle ich das an? Gruß Wolfgang |
Re: Button Clicks zählen
Hi,
Einfach eine (globale) Zählvariable die bei jedem Klick um eins erhöht wird? Gruß Neutral General |
Re: Button Clicks zählen
Ja, an global habe ich auch schon gedacht, lokal wäre mir das lieber. Geht das?
Danke für die schnelle Antwort. |
Re: Button Clicks zählen
Nein das geht nicht. Entweder global oder als Klassenvariable
|
Re: Button Clicks zählen
Dann versuche ich das global in etwa so
Globale var: counter:integer; IsButton1Checked:Boolean und dann im Button-Event vewerten. Ist das in etwa so die richtige Richtung? |
Re: Button Clicks zählen
Die Lokale Var. verliert nach jedem aufruf Ihren Wert.
Du musst das in etwa so machen...
Delphi-Quellcode:
Gruß Jens//global var Zaehler : integer; ... //im OnClick Ereignis... Zaehler := Zahler +1; //Anzeige z.B.. Label1.Caption := Der Button wurde +IntToStr(Zahler)+ geklickt!; |
Re: Button Clicks zählen
Wie wäre es denn so (nur so ein Gedanke)?
Delphi-Quellcode:
type
TButton = class(StdCtrls.TButton) private FClickCount: Cardinal; procedure WMLButtonUp(var Msg: TWMLButtonUp); message WM_LBUTTONUP; public property ClickCount: Cardinal read FClickCount; end; TForm1 = class(TForm) ... implementation ... procedure TButton.WMLButtonUp(var Msg: TWMLButtonUp); begin Inc(FClickCount); inherited; end; |
Re: Button Clicks zählen
@Jens
So in etwa habe ich mir das gedacht, danke. @Detlef Das muss ich 'nem Anfänger verklickern, dann wohl etwas später. Trotzdem Danke. |
Re: Button Clicks zählen
Kann ich ja nicht ahnen. Dann würde ich die Variable aber nach obigem Muster als privat deklarieren und als ReadOnly-Property bereitstellen, nur dann eben als Property des Formulars.
|
Re: Button Clicks zählen
Zitat:
(1 - Tag-Eigenschaft verwenden)
Delphi-Quellcode:
(2 - mit einer veränderbaren typisierten Konstanten)
procedure TForm1.Button1Click(Sender: TObject);
begin with (Sender as TButton) do Tag := Tag + 1; end;
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
const {$j+}Counter: Longword = 0;{$j-} // begin with (Sender as TButton) do Counter := Counter + 1; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:55 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