![]() |
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 |
Re: Anfänger-Frage: Aufsummieren mehrerer Button-Klicks
Du musst eine Variable deklarieren, die das speichert.
Delphi-Quellcode:
So machst du das auch mit den anderen Buttons. ;)
var
Form1: TForm1; Betrag: integer; implementation procedure TForm1.Button1Click(Sender: TObject); begin Betrag := Betrag +1; Edit1.Text := IntToStr(Betrag); end; edit: Tags repariert |
Re: Anfänger-Frage: Aufsummieren mehrerer Button-Klicks
Hi und herzlich Willkommen in der DP,
zu deiner Frage,
Delphi-Quellcode:
guck dir doch mal auf
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; ![]() Mit freundlichen Grüßen Florian |
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 |
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:
Diese kannst Du dann allen betroffenen Button als OnClick-Routine zuweisen.
procedure TForm1.Button1Click(Sender: TObject);
begin if Sender is TButton then begin inc(meineZahl,(Sender as TButton).Tag); Edit1.Text := IntToStr(meineZahl); end; end; 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