zahlen hochzählen



  • das ist mir klar in einer vor schleife
    aber wie kriege ich das hin das er immer wieder eins draufpakt.
    weil wenn ich int i = 0; oder irgenwas anderes deklariere dann geht das nicht mehr.
    ich möchte ja das er nach jedem click eins drauf packt. 😋
    ich habe irgendwie das gefühl das die leute auf meine fragen warten ( 😉 )


  • Mod

    Hallo

    zeig dochmal her was du schon versucht hast
    (dann kann dir auch besser geholfen werden)

    MfG
    Klaus



  • Ich nehme dir jetzt nicht ab, dass du keine Ahnung hast, wie man zwei Zahlen addiert... 🙄 dann wirds wohl an der Deklaration liegen. Wenn du deine int-Zahl in der OnClick-Routine deklarierst, wird sie beim nächsten Click weg sein. Du musst sie also woanders deklarieren. Wie wäre es denn im Header?



  • lasst mich ausprobieren.
    momentchen.



  • smirnofe schrieb:

    ich habe irgendwie das gefühl das die leute auf meine fragen warten

    Also ich für meinen Teil warte eigentlich eher darauf, dass Du dich endlich mal mit den Grundlagen der Programmierung beschäftigst. Hättest Du auch nur 2 Wochen investiert, hättest Du dir hier 99% der Fragen sparen können.

    Das ist alles absolut grundlegender Firlefanz. Wenn ich mir aber die Qualität Deiner Fragestellungen so ansehe, befürchte ich fast, dass Du das Lernen als solches schon nicht gelernt hast. Ich sag nur PISA-Studie...



  • Deklariere ne int variable in der Klassen Definition an (wo public etc. ist)..
    Beim button mußt du dann nur inkrementieren.

    meinevar++;
    


  • oder du schreibt

    void __fastcall TfrmMain::Button1Click(TObject *Sender)
    {
    int i = 0;
    
    i = i+1;
    
    }
    

    sollte gehen...



  • |23| schrieb:

    void __fastcall TfrmMain::Button1Click(TObject *Sender)
    {
    int i = 0;
    
    i = i+1;
    
    }
    

    Das geht scon, aber was hast du davon als Ergebnis immer nur 1 zu erhalten? Das ist nicht das was smirnofe will 😉



  • .. man muss int i = 0; aber global dekla.........

    sry



  • das meinte ich danke.es geht aber auch in der anwendung mit einer for schleife ohne globale deklaration ich hatte das gestern hingekriegt aber heute alls ich aufgewacht bin konnte ich das nicht mehr. 🙄



  • Warum willst du das in der for schleife tun?

    Wenn du i in der Klasse deklarierst (wie schon vor allen sagte).
    mßt du nur noch den wert inkrementieren.
    Das wäre so:

    i++; // geht ein wert höher
    

    Wenn du es nicht in der Klasse global machst, wäre i nur innherhalb der methode gültig. und in anderen methoden nicht.



  • Ds stimmt nicht ganz ich könnte das in ein editfeld stellen.
    Man könnte über das editfeld die aktuelle anzahl der arrays sehen.
    Ich denke um die ecke(umständlich) 🙄
    Ich hatte in der for schleife auch ein schleifen zähler eingebaut.
    Ich weiß das man das auch machen könnte wenn man das global deklariert;
    Ich mag halt umwege 🙄



  • |23| schrieb:

    .. man muss int i = 0; aber global dekla.........

    sry

    Diese globale Deklaration sollte man sich IMHO abgewöhnen. Am besten in den private Teil der Klasse und fertig. So spart man sich dann auch den Ärger mit versehntlich gleich angelegten Variablennamen...



  • PuppetMaster2k schrieb:

    Am besten in den private Teil der Klasse und fertig.

    Jo hier wär auch ne Static ganz sinngemäss... allerdings muss man beachten, dass dann niemand ausser der Funktion zugriff hat... (o:

    -junix


Anmelden zum Antworten