Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Button Clicks zählen (https://www.delphipraxis.net/143847-button-clicks-zaehlen.html)

Wolfgang Mix 24. Nov 2009 18:04


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

Neutral General 24. Nov 2009 18:07

Re: Button Clicks zählen
 
Hi,

Einfach eine (globale) Zählvariable die bei jedem Klick um eins erhöht wird?

Gruß
Neutral General

Wolfgang Mix 24. Nov 2009 18:11

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.

Neutral General 24. Nov 2009 18:14

Re: Button Clicks zählen
 
Nein das geht nicht. Entweder global oder als Klassenvariable

Wolfgang Mix 24. Nov 2009 18:18

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?

Jens Hartmann 24. Nov 2009 18:19

Re: Button Clicks zählen
 
Die Lokale Var. verliert nach jedem aufruf Ihren Wert.

Du musst das in etwa so machen...

Delphi-Quellcode:

//global
var
  Zaehler : integer;
...

//im OnClick Ereignis...

  Zaehler := Zahler +1;
//Anzeige z.B..
  Label1.Caption := Der Button wurde +IntToStr(Zahler)+ geklickt!;
Gruß Jens

DeddyH 24. Nov 2009 18:20

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;

Wolfgang Mix 24. Nov 2009 18:29

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.

DeddyH 24. Nov 2009 18:32

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.

toms 24. Nov 2009 18:39

Re: Button Clicks zählen
 
Zitat:

Zitat von Wolfgang Mix
Ja, an global habe ich auch schon gedacht, lokal wäre mir das lieber. Geht das?
Danke für die schnelle Antwort.

Wenn's unbedingt lokal sein muss:

(1 - Tag-Eigenschaft verwenden)
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  with (Sender as TButton) do
   Tag := Tag + 1;
end;
(2 - mit einer veränderbaren typisierten Konstanten)
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 18:59 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz