checken ob textfeld nur zahlen enthält??



  • hallo!

    ich habe einen dialog unter vc++ 7 und möchte ein eingabefeld checken ob da auch nur zahlen eingegeben wurden.

    Im moment lese ich den wert aus und checke mit atoi ob sich der wert umrechnen läßt, wenn es buchstaben sind bekomme ich 0 zurück, das passt soweit aber was ist wenn der user z.B. 32bert eintippt, dann ist das auch ein gültiger wert laut atoi!!

    fällt jemandem eine bessere lösung ein?

    herzlichn Dank schonmal
    l00P



  • Ich hab das so gemacht:

    // Sind auch alle Zeichen Zahlen?
    		CString strZahlen = _T("0123456789");
    		bool fIstZahl = true;
    
    		for (int i = 0; fIstZahl && (i < f_strPlz.GetLength()); i++)
    		{
    			fIstZahl = strZahlen.Find(f_strPlz.GetAt(i), -1) == -1;
    		}
    


  • Einfacher ist:

    Edit-Feld -> Eigenschaften -> Formate

    ein Häckchen bei Nummer

    Dann kann man in diesem Feld nur Nummern eingebem 😃

    Gruß BS 🕶



  • danke estartu_de - funktioniert!

    @ByteSlider - ist natürlich der einfachere Weg, hab auch danach gesucht scheinbar aber in der hitze des Gefächts übersehen 🙂

    danke
    lg
    l00P



  • @estartu_de

    // Sind auch alle Zeichen Zahlen?
            //CString strZahlen = _T("0123456789");
            //bool fIstZahl;
    
            for (int i = 0; i < f_strPlz.GetLength(); i++)
            {
                //fIstZahl = strZahlen.Find(f_strPlz.GetAt(i), -1) == -1;
    
                /* es gibt noch veraltete C-Funktionen */
                if(!isdigit(f_strPlz.GetAt(i)))
                    break;
            }
            f_strPlz.Delete(i, f_strPlz.GetLength() -i);
    

    Nur so zur Info 🤡



  • Hihi, jaaa mit C stehe ich auf Kriegsfuß.

    Ich hatte reines C in der Schule und von den 3 Semestern konnte man zwei knicken (1 x dummer Lehrer und 1 x Prüfungsvorbereitung) - also kenne ich wohl 99% der nützlichen Befehle nicht.

    Aber das rausspringen aus der Schleife lasse ich doch lieber bleiben, dann ist ja mein schöner Rückgabewert zum Weiterarbeiten weg...



  • @estartu_de

    Dafür schneidet meine alles nach der letzten (reinen)Zahl ab 😋

    😕 Je nachdem was man haben will :p



  • ByteSlider schrieb:

    Einfacher ist:

    Edit-Feld -> Eigenschaften -> Formate

    ein Häckchen bei Nummer

    Dann kann man in diesem Feld nur Nummern eingebem 😃

    Gruß BS 🕶

    naja meistens ist schon so, aber maybe will mal einer

    eine editbox haben

    wo er entweder zahlen oder buchstaben eingeben kann

    z.b. ne suchfkt. nur zahlen = plz ( suche nach plz )
    nur buchstaben = ort ( suche nach ort )
    dann ist es schon wichtig in welcher datei ( tabelle ) er suchen soll 😉

    oder andere verhältnisse ( beispiele )


Anmelden zum Antworten