C# Zähler Programmieren?

5 Antworten

An deiner Stelle würde ich das so simpel wie möglich halten. Heißt erstell eine .ini File und inkrementiere das bei schließen des Programms. Bei der Ausführung kannst die dann auch lesen und ausgeben.

Woher ich das weiß:Studium / Ausbildung

Entweder speicherst du die Variable ganz simple in ein File ab und rufst sie bei Programm start wieder auf (eher unschön) oder du speicherst die Variable in den Settings deiner Applikation (Properties.Settings). Hier ein guter Guid dazu (Englisch):

https://www.codeproject.com/Articles/17659/How-To-Use-the-Settings-Class-in-C


trashman999  15.10.2018, 09:53

er meint, wenn er die buttonfunktion ausführt :D

1
LordSaphir 
Beitragsersteller
 15.10.2018, 09:55

immer wenn der Startbutton gedrückt wird soll sich die Zähler zahl um eins erhöhen

1
Gaterde  15.10.2018, 10:03
@LordSaphir

Achso, dass sollte aber doch nicht so schwer sein ;). Einfach die Variable um 1 erhöhen und dann das Textfeld updaten. Sagen wir die Variable ist ein Integer mit dem Namen zaehler und das textfeld heisst txt_zaehler:

zaehler++; //erhöht die Variable um +1
txt_zaehler.text = zahler.toString(); //setzt den Wert im Textfeld auf den Inhalt der Variable
0

Wenn du das Programm beendest bzw neustartest - werden alle variablen zurückgesetzt und zwar so wie du es programmiert hast.

Ich bin mir jetzt unsicher ob du mit "programm" starten z.b. die .exe meinst oder eine Funktion wie z.b. buttonclick().

Im Fall einer .exe kannst du variablen extern abspeichern und bei start laden.
In Fall einer Funktion, glaube ich muss ich dir das hochzählen nicht erklären.


LordSaphir 
Beitragsersteller
 15.10.2018, 09:51

ich meine wenn ich den Start Button drücke

0
trashman999  15.10.2018, 09:53
@LordSaphir

du hast eine variable:
int zaehler = 0;

Und immer wenn du den Startbutton ausführst:

zaehler = zaehler + 1;

0
trashman999  15.10.2018, 09:55
@LordSaphir

genau wie ich es hier geschrieben habe.
Das machst du in die buttonclick funktion rein.
und im Textfeld zähler kommt die variable zaehler.

1
LordSaphir 
Beitragsersteller
 15.10.2018, 09:56
@trashman999

int zaehler = 0;

zaehler = zaehler +1;

als ob das so funktioniert

0
trashman999  15.10.2018, 10:00
@LordSaphir

dann mach doppelklick im designer auf den button und dann wird automatisch die buttonclick funktion generiert.

0
trashman999  15.10.2018, 10:02
@LordSaphir

vorher definierst deine variable
int z = 0; (das nicht im Button sondern das definierst du weiter oben außerhalb der Button funktion) -> so ist der standartwert von z immer 0

In der Funktion->
buttonclick()
{
z=z+1;
}

d.h. immer wenn du button clickst, wird z um 1 hochgezählt.

aber du willst das auch angezeigt bekommen.

dann fügst unter z=z+1

Textboxname (wie deine textbox auch heißt) = z (falls die textbox ein string braucht -> musst halt converten)

0

Ist es das, was du meinst?

// usings gekürzt, ebenso, wie namespace


class Form1
{
    private int count = 0;


    public void btnStart_Click(object sender, EventArgs e)
    {
        // dein Code
        count++;
        // hier muss der Name der TextBox stehen, in der du die Anzahl schreiben willst
        edtCount.Text = count.ToString();
        // der restliche Code
    }
}
Woher ich das weiß:Berufserfahrung

Du musst die Anzahl der Starts abspeichern (in der Registry/den Programm-Settingd oder in einer Datei/Datenbank).


trashman999  15.10.2018, 09:54

LordSaphir Fragesteller  vor 3 Minuten

"ich meine wenn ich den Start Button drücke"

0
holgerholg  15.10.2018, 10:06

Achso dann reicht eine Variable. Diese muss allerdings in der Class (Form1 oder wie sie bei dir heißt)definiert werden, denn wenn du sie in der Methode des Buttons definierst, beginnt sie bei jedem Klick mit dem Startwert.

Deklarier (schreib) sie entweder direkt nach Class (ganz oben) oder direkt vor Function (vom Button)

0
holgerholg  15.10.2018, 10:13
@holgerholg

Also private int zaehler=0; als Deklaration und als Code für den Startbutton:

zaehler+=1;

TextBox3.Text = zaehler.ToString();

Wenn die Ausgabe keine Textbox ist, natürlich Label6.Text (oder andere Nummern) oder den von dir vergebenen Namen.

0