Mit dem Klick eines Buttons hochzählen



  • Ich hatte folgenden gedanken:

    Immer wenn ich einen Button drücke ( nehmen wir mal einfach Button1 ) soll in einem Memo Feld (Memo1) in der nächsten freien Zeile die nächsthöhere Zahl erscheinen.

    Würde gerne mit 1 anfangen. Wenn ich also auf den Button klicke soll im Memo feld eine 1 erscheinen. Bei 2.er Betätigung soll in der nächsten Zeile dann eine 2 stehn usw.

    Habe mir folgendes ausgedacht was aber logischerweise nicht funktioniert habe aber keine ahnung wie ich es anders lösen könnte.

    int counter = 0;
    int liste = 1;
    String a;
    
    while (counter < Memo1->Lines->Count )
    {
                    Memo1->Lines->Add(liste);
                    counter++;
                    liste++;
    }
    return;
    }
    

    Nun habe ich folgendes Problem was auch schon abzusehen ist: Bei klicken des Buttons zählt er einfach fortfahrend hoch ohne zu stoppen. Kann man da irgendwas machen oder gibt es da eine komplett andere oder bessere Lösung??

    wäre sehr dankbar hoffe es ist verständlich für die jenigen die es lesen.

    Schonmal THX!!

    MFG



  • in der Header:

    private:	// Benutzerdeklarationen
    int counter;
    

    dann doppelklick auf den Button und Quellcode in die erzeuget Funtkion einfügen

    Memo1->Lines->Add(IntToStr(++counter));
    


  • Big thx hat super geklappt!!

    Echt super schnelle antworten bekommt man hier!!

    Nochmals danke!

    MFG



  • hallo

    bei mit funkt das net? 😕 😞

    könnt ihr mir helfen?

    //---------------------------------------------------------------------------
    #include <vcl\vcl.h>
    #pragma hdrstop
    
    #include "Unit1.h"
    //---------------------------------------------------------------------------
    #pragma resource "*.dfm"
    TForm1 *Form1;
    private:    // Benutzerdeklarationen
    int counter;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
    	: TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    
    int counter = 0;
    int liste = 1;
    String a;
    
    while (counter < Memo1->Lines->Count )
    Memo1->Lines->Add(IntToStr(++counter));
    {
                    Memo1->Lines->Add(liste);
                    counter++;
                    liste++;
    }
    return;
    }
    
    //---------------------------------------------------------------------------
    

    thx

    dave



  • Heute schon mal debuggt?

    -junix



  • hi,

    kan mit nicht jemand einen fertigen code geben?

    dave 😞



  • daveplusplus schrieb:

    kan mit nicht jemand einen fertigen code geben?

    Kann nicht jemand mal mindestens den Links folgen die ich in die Beiträge knalle?

    Wie willst du dabei was lernen, wenn man dir alles vorkaut?

    -junix



  • Natürlich könnte man dir den fertigen Code geben. Gegen Bezahlung und Pflichtenheft kannste sogar das ganze Programm haben, eben so wie jeder Kunde...

    Du hast also den Code aus zwei verschiedenen Beispielen kopiert und eingefügt ohne darüber nachzudenken, was du da machst, sehe ich das richtig? Schau dir das zweite Beispiel (von AdreasW) einfach mal an. Das von Bob ist wohl falsch, sonst wäre er ja nicht hier. Überprüfe mal, was du von Bob brauchst, und was nicht. Und schau dir wirklich mal das Debuggen an.

    Ein Tipp: Der Header ist das Zeug in der Unit1.h (Beispiel!) Datei, nicht das Bla ganz oben in der Unit. (Wie kamst du denn auf die Idee?) Dort deklarierst du Variablen, die auch ausserhalb deiner Routine (Button1Click) ihren Wert behalten sollen. Variablen, die du innerhalb dieser Routine deklarierst sind weg, sobald die Routine durchlaufen ist.


Anmelden zum Antworten