Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Anfänger-Frage: Aufsummieren mehrerer Button-Klicks (https://www.delphipraxis.net/85278-anfaenger-frage-aufsummieren-mehrerer-button-klicks.html)

Der Würfel 28. Jan 2007 14:32


Anfänger-Frage: Aufsummieren mehrerer Button-Klicks
 
Hi,
ich habe folgendes Problem: Ich habe mehrere Buttons, die Geldbeträgen entsprechen sollen (hier vereinfacht nur 1€ und 2€) und ein Edit-Feld, das die Summe aller Klicks auf diese Buttons anzeigt. Also:
Ich klicke auf Button1 (=1€) und Edit1 zeigt 1 an. Ich klicke nochmal und Edit1 zeigt 2 an. Ich klicke auf Button2 (=2€) und Edit1 zeigt 4 an usw., beliebig kombinierbar.
Wäre toll, wenn mir jemand einen Tipp geben könnte. Ich habe schon ein paar kleinere Sachen mit Delphi gemacht, hier stehe ich aber irgendwie auf dem Schlauch :gruebel:
Vielen Dank schonmal!

Der Würfel

malo 28. Jan 2007 14:38

Re: Anfänger-Frage: Aufsummieren mehrerer Button-Klicks
 
Du musst eine Variable deklarieren, die das speichert.

Delphi-Quellcode:
var
  Form1: TForm1;
  Betrag: integer;

implementation

procedure TForm1.Button1Click(Sender: TObject);
begin
  Betrag := Betrag +1;
  Edit1.Text := IntToStr(Betrag);
end;
So machst du das auch mit den anderen Buttons. ;)


edit: Tags repariert

p0w3r5tr34m3r 28. Jan 2007 14:44

Re: Anfänger-Frage: Aufsummieren mehrerer Button-Klicks
 
Hi und herzlich Willkommen in der DP,

zu deiner Frage,
Delphi-Quellcode:
var
  meineZahl: integer; // dies ist eine Globale Variable

procedure TForm1.FormCreate(Sender: TObject);
begin
  meineZahl := 0;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  inc(meineZahl, 1); // wert von meineZahl wird um 1 erhöht
  Edit1.Text := IntToStr(meineZahl);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  inc(meineZahl, 2); // wert von meineZahl wird um 2 erhöht
  Edit1.Text := IntToStr(meineZahl);
end;
guck dir doch mal auf Der Delphi-Treff die Tutorials an. Da stehen einige Anfänger Tutorials.


Mit freundlichen Grüßen
Florian

Der Würfel 28. Jan 2007 14:53

Re: Anfänger-Frage: Aufsummieren mehrerer Button-Klicks
 
Wow, das ging schnell. Jetzt geht's. Vielen Dank (an beide)!

So ähnlich hatte ich das auch schon, hatte aber die Variable innerhalb der Procedure immer noch mal definiert.

Der Würfel

Christian Seehase 28. Jan 2007 16:39

Re: Anfänger-Frage: Aufsummieren mehrerer Button-Klicks
 
Moin Würfel,

erst einmal herzlich willkommen hier in der Delphi-PRAXiS.

Solange Du mit ganzen Zahlen arbeitest, könntest Du das Ganze sogar in einer einzigen OnClick-Routine abarbeiten, indem Du den Wert, um den erhöht werden soll, in der Eigenschaft Tag des Buttons unterbringst.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  if Sender is TButton then begin
    inc(meineZahl,(Sender as TButton).Tag);
    Edit1.Text := IntToStr(meineZahl);
  end;
end;
Diese kannst Du dann allen betroffenen Button als OnClick-Routine zuweisen.

Den Wert für Tag kannst Du im Objekt-Inspektor, oder zur Laufzeit im OnCreate des Formulares setzen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:18 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-2025 by Thomas Breitkreuz