Autor Beitrag
TyraelXD
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Mi 11.08.10 16:45 
Hallo Leute,

ich versuche schon seit Tagen einen Buchstabenzähler zu schreiben aber es gelingt mir einfach nicht den Code zu finden womit immer ein Buchstabe dazu gezählt wird wenn alle Buchstaben durchgelaufen sind!

Das habe ich bis jetzt:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
        private void Zähler()
        {
            char[] Buchstaben = new char[26];
            Buchstaben = "abcdefghijklmnopqrstuvwxyz".ToCharArray();
            int Zähler = 0;
            while (radioButton1.Checked)
            {
                if (Zähler >= 26)
                {
                    Zähler = 0;
                }
                textBox1.Text = Buchstaben[Zähler].ToString();
                Zähler++;
                Application.DoEvents();
            }
        }


Könnt ihr mir bei diesem Problem helfen ?

Tyrael
Kenpachi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 30

Win Vista, Win 7
C#, VB, ASP.NET (VS 2010 Express)
BeitragVerfasst: Mi 11.08.10 19:00 
Hallo und :welcome: .

user profile iconTyraelXD hat folgendes geschrieben Zum zitierten Posting springen:
ausblenden C#-Quelltext
1:
2:
            char[] Buchstaben = new char[26];
            Buchstaben = "abcdefghijklmnopqrstuvwxyz".ToCharArray();

Das passt auch in eine Zeile. ;)
ausblenden C#-Quelltext
1:
char[] Buchstaben = "abcdefghijklmnopqrstuvwxyz".ToCharArray();					


Zu deinem eigentlichen Problem:
Du vergleichst den Text in deiner Textbox ja gar nicht mit deinem Buchstaben-Array, sondern setzt ihn immer auf den Wert "abc...xyz" (je nach Wert der Variable "Zähler") und erhöhst den "Zähler" anschließend um 1. Das bringt irgendwie nichts. Du musst schon in irgendeiner Art und Weise einen Vergleich anstellen.
Das könnte so aussehen: (Nur schnell dahin getippelt. Keine Garantie für Funktionstauglichkeit.)
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
        private void Zähler()
        {
            char[] Buchstaben = "abcdefghijklmnopqrstuvwxyz".ToCharArray();
            int Zähler = 0;

            while (radioButton1.Checked)
            {
                for (int i = 0, stop = textBox1.Text.Length; i < stop; i++)
                    if(Buchstaben.Contains(textBox1.Text[i]))
                        Zähler++;
                Application.DoEvents();
            }
        }

Im Übrigen wirst du mit dieser Funktion gar nichts anfangen können, da die Variable "Zähler" nur innerhalb dieser Funktion existiert. Wenn du sie nicht als Rückgabewert nutzt, oder anderweitig für den weiteren Gebrauch ablegst ist das ziemlich sinnlos.

Und noch ein kleiner Tip. Umlaute in Funktions-/Variablennamen sind heutzutage zwar möglich, aber sollten trotzdem auf jeden Fall vermieden werden. Es bringt einen nicht um, "ae" zu schreiben.


Zuletzt bearbeitet von Kenpachi am Fr 13.08.10 17:24, insgesamt 1-mal bearbeitet