Entwickler-Ecke

C# - Die Sprache - Textboxeingabe Zahl, Buchstabe oder Rechenzeichen?


Namenlosnameless - Fr 13.11.09 23:32
Titel: Textboxeingabe Zahl, Buchstabe oder Rechenzeichen?
Hallo!

Ich habe eine Textbox und jedes mal wenn ich ein Zeichen eingbe will ich Prüfen ob das Zeichen eine Zahl, ein Buchstabe oder ein Rechenzeichen ist.

im Internet habe ich "isletter" und "isnumber" gelesen aus früheren Tagen, als ich noch mit VBA-Excel ins Programmieren hineingschnuppert habe weiß ich das es soetwas wie "if-is-Numeric" gibt frage gibt es sowas auch für C#


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        string DatentypTester;
        string Text;

        public Form1()
        {

            Text = "0";

            InitializeComponent();
        }

        private void Term1_TextChanged(object sender, EventArgs e)
        {
            DatentypTester = Term1.Text.Substring(Text.Length, 1);
            
            Text = Term1.Text;
        }

    }
}


dass ist das was ich bereits habe^^ (ist nicht sonderlich viel) Ich glaube das die Substring-Methode nicht wirklich gut passend ist. Gibt es da noch eine bessere Möglchkeit und wie ich das zulezt eingegebene Zeichen auszulesen?

Und die Hauptfrage ist wie prüfe ich auch Rechenzeichen (+,-,*,/) Zahlen und Buchstaben?

mfg namenlosnameless


Namenlosnameless - Sa 14.11.09 00:25

Ok ich hab das mit den Zahlen und Buchstaben geschafft! Fehlen nur noch die Rechenzeichen oder soll ich das mit einer simplen If-Abfrage: if((DatentypTester=="+")||(Datentyptester=="-")) schreiben? Ich glaube dass das nicht sehr elegant ist.


Nemag - Mo 16.11.09 11:03

Servus

wenn du eine Textbox hast in der du mehrerer ZEichen eingeben willst wirst du mit deinem System nicht weit kommen. Da ich nciht wirklich weiß was du weiter damit machen möchtest, empfehle ich dir einfach mal das du dir vielleicht besser die Key- Up/Down/Press-Events anschaust dort gibt es dann entsprechende EventArgs wo du dir das KeyCode oder KeyData für die Gedrückte Tasten anzeigen lassen kannst bzw. auf dies überprüfen kannst.

Für tiefergehende Erklärung brauchen wir mehr Informationen was du eigentlich vorhast.


JüTho - Mo 16.11.09 11:39

Hallo Namenlos,

für Buchstaben und Ziffern hast du es gefunden. Mit welchem Verfahren machst du es denn jetzt? Das wäre übrigens auch für spätere Leser nützlich. Wenn du in der SDK-Doku/MSDN/Hilfe-Index unter Char-Struktur nachliest, findest du auch noch andere Is-Methoden. Damit kannst du probieren, welche davon für dich geeignet ist.

Übrigens habe ich einmal alle Char-Kategorien in einer Tabelle zusammengestellt, siehe Liste "aller" UniCode-Chars und der UnicodeCategory [http://www.mycsharp.de/wbb2/thread.php?threadid=40095]

Gruß Jürgen