Per Button immer ein mehr zählen



  • Hallo Liebe Freunde...

    ich habe ein Problem ich befasse mich gerade mit borland c++.

    Ich habe ein Memo Feld und 2 Buttons einer mit + einer mit -

    wenn ich auf das + drücke soll er im memo feld wo eine 0 steht immer eine
    zahl höher gehen...

    Also
    "druck auf +" 1
    "druck auf +" 2
    "druck auf +" 3

    Irgendwie macht er das nur nicht -.-

    kann mir jemand sagen wodran das liegt habe ich was falsch gemacht ?

    lieben dank im voraus

    int Anzahl;
    for (int i = 0; i < Anzahl; i++)
    {
    Memo1->Text=Anzahl;
    }
    


  • dein Code bringt für dein Problem recht wenig...hier ein Prototyp:

    int zahl = 0;
    
    button1_click()
    {
       zahl++;
       memo1->Text = zahl;
    }
    
    button2_click()
    {
       zahl--;
       memo1->Text = zahl;
    }
    

    greetz KN4CK3R



  • Huhu
    ich danke dir für deine Antwort 🙂

    wenn ich dich richtig verstanden habe meinst du also:

    int zahl = 0;
    {
    zahl++;
    Memo1->Text = zahl;
    }
    

    das Funktioniert ja auch aber nur einmal wenn ich dann öfters auf das + klicke macht er nix mehr deswegen dachte ich ja an einer schleife hm bin grad verzweifelt am testen 😕



  • nein, ich meine das so wie ich es in meinem Post geschrieben habe. 😉 zahl muss eine globale Variable sein.

    greetz KN4CK3R



  • hm ne bin ich zu blöde oder zu müde oO(eher das erste)

    int zahl = 0; 
    
    BitBtn1->Click();
    {
       zahl++;
       Memo3->Text = zahl;
    }
    
    BitBtn2->Click();
    {
       zahl--;
       Memo3->Text = zahl;
    }
    

    bekomme ich eine fehlermeldung :<



  • das was bei mir in button1_click steht soll bei dir in die OnClick Funktion deines + Buttons und der Code von button2_click kommt ins OnClick von deinem - Button. Les dir lieber erstmal ein paar Tutorials / Bücher durch, damit du dir solche Fragen selbst beantworten kannst. 😉

    greetz KN4CK3R



  • joah das ist mir schon klar das habe ich auch so gemacht und als antwort bekomme ich:

    stack überlauf



  • bei mir gehts perfekt, hätte mich auch gewundert, wenn da was schiefgeht. zeig mal deinen Code

    greetz KN4CK3R



  • Moin
    hier ist der Code

    void __fastcall TForm1::BitBtn1Click(TObject *Sender)
    {
    int zahl = 0;
    
    BitBtn1->Click();
    {
       zahl++;
       Memo1->Text = zahl;
    }
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::BitBtn2Click(TObject *Sender)
    {
    
    int zahl = 0;
    BitBtn1->Click();
    {
       zahl--;
       Memo1->Text = zahl;
    }
    }
    //---------------------------------------------------------------------------
    

    Du hast wohl recht das ich mehr lesen muss bin ja auch dabei fange ja gerade erst an aber das sollte eigentlich so laufen oder nicht ?!



  • 1. ist zahl nicht global
    2. was soll BitBtn1->Click(); im Code?

    greetz KN4CK3R



  • Ups ich seh gerade unten steht BitBtn1 bei 2 hab das geändert aber es kommt immer stack überlauf 😕



  • oh man du hast recht ich hab den int immer im code stehen und nicht oben "global" nun geht es -.-

    tut mir leid ich danke dir für deine schnelle Hilfe 🙂

    Glg
    Dennis



  • np, und das BitBtn1->Click(); muss unbedingt aus der Funktion raus. Weil so ruft sich die Funktion immer wieder selbst auf bis das Programm abstürzt. Sowas kann man nur bei rekursiven Funktionen machen, weil da das ganze gezielt abläuft

    greetz KN4CK3R


Anmelden zum Antworten