tbutton zaehler
-
servus
brauche bisschen hilfe:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int i=0, count;
while (i<1500)
{
count = i;
this->Label3->Caption = IntToStr(count);
}}
das da oben gibt mir auf dem label sofort 1500 aus.
jedoch brauche ich das so, dass ich bei jedem buttonclick die clicks zähle.
sprich bei 10 mal klicken, habe ich im label3 "10" stehen.
was mache ich falsch?
mfg greenhorn777
-
Versuch es doch mal so:
Du brauchst keine Schleife!!!!int i=0; //---Globale Variable auf 0 setzen void __fastcall TForm1::Button1Click(TObject *Sender) { i++; //--i um 1 inkrementieren wenn Button gedrückt wird this->Label3->Caption = IntToStr(i); //---Wert von i ausgeben }
Gruß Hawk
-
vielen dank für die schnelle antwort.
hätte net gedacht das es so leicht wäre. danke.
und jetzt läuft auch der rest.
MFG greeny
-
Globale Variablen sollte man vermeiden. Hier kann man auch eine static-Variable verwenden.
void __fastcall TForm1::Button1Click(TObject *Sender) { static int i = 0; i++; //--i um 1 inkrementieren wenn Button gedrückt wird this->Label3->Caption = IntToStr(i); //---Wert von i ausgeben }
-
Mal wieder was neues gelernt
Was genau macht das Static?
Wärst du so freundlich mir zu erklären warum das funktioniert^^?Mfg Chakuza
-
Schau mal hier.
http://tutorial.schornboeck.net/static.htm
-
Eine static Variable wird nur einmal initialisiert, nämlich beim ersten Aufruf der Funktion. Die Zeile static int val=0; wird somit nur einmal ausgeführt und val behält seinen Wert bei weiteren Funktionsaufrufen.
Der alles entscheidende Satz, dankeschön
-
Eigentlich brauchst du die static Variable überhaupt nicht, wenn der Button immer numerisch beschriftet wird:
void __fastcall TForm1::Button1Click( TObject* Sender ) { try { // Beschriftung des Buttons von Text -> Int konvertieren int Caption = StrToInt( Button1->Caption ); // neue Beschriftung setzen Button1->Caption = IntToStr( Caption +1 ); } catch( EConvertError& Excp ) { // Fehler bei der Konvertierung, Button mit 1 beschriften Button1->Caption = "1"; } }
-
Eine weitere Variante wäre es die Eigenschaft Tag zu nutzen. Da braucht man nur einmal zu konvertieren.
siehe: viele Wege führen nach Rom