C# Zähler Programmieren?
Ist jetzt nur ein Beispiel
Eine Hotel Übernachtung
Wo Personen und Dauer selbst eintippbar sind
Aber darum geht es mir nicht
Mir geht es darum wenn man das Programm 1x gestartet hat soll beim Zähler eine 1 stehen
wenn man das Programm ein 2x gestartet hat soll beim Zähler eine 2 stehen und immer so weiter
Jemand eine Idee wie dazu der Code aussehen könnte
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.
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
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
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.
du hast eine variable:
int zaehler = 0;
Und immer wenn du den Startbutton ausführst:
zaehler = zaehler + 1;
genau wie ich es hier geschrieben habe.
Das machst du in die buttonclick funktion rein.
und im Textfeld zähler kommt die variable zaehler.
dann mach doppelklick im designer auf den button und dann wird automatisch die buttonclick funktion generiert.
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)
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
}
}
Du musst die Anzahl der Starts abspeichern (in der Registry/den Programm-Settingd oder in einer Datei/Datenbank).
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)
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.
LordSaphir Fragesteller vor 3 Minuten
"ich meine wenn ich den Start Button drücke"
immer wenn der Startbutton gedrückt wird soll sich die Zähler zahl um eins erhöhen