Edit Feld auf Typ prüfen



  • Hallo zusammen,

    kann mir mal kurz jemand helfen... 😞
    Ich habe folgendes Problem:

    Der User soll in nem Edit Feld einen Wert zwischen 0 und 500 eingeben.
    Es funktioniert bei mir soweit wenn Zahlen (int) eingegeben werden.
    Aber sobald Buchstaben oder so eigegeben werden (Fehleingaben) schmiert das
    Projekt ab.

    Hier mal der Ausschnitt...
    mir steht grade einer aufm Schlauch...
    Ich will also ganz eifach die fehlerhaften eingaben (alles außer integer zwischen 0 u. 500) abfangen... 🙄

    int TDatei::auswaehlen2(void)
    {
    
     if (((Form1->Edit1->Text.ToInt()>=0) &&
          (Form1->Edit1->Text.ToInt()<=500)) == NULL)
     {
      Application->MessageBox("Bitte geben sie bei \"min. Bauteildicke\" einen Wert zwischen 0 und 500 ein.", "Falsche Eingabe", MB_OK);
      Form1->Edit1->Clear();
      return 1;
     }
    
     TList* ZwischenListe=new TList();
     ZwischenListe->Clear();
     for (int i=0; i<StartListe->Count; i++)
     {
      Datensatz = (StrukturDuebel *)StartListe->Items[i];
      if (((Form1->ComboBox1->Text == Datensatz->einsatzbereich) ||
           (Form1->ComboBox1->Text == "(Alle)"))                 &&
          ((Form1->ComboBox2->Text == Datensatz->baustoff)       ||
           (Form1->ComboBox2->Text == "(Alle)")))
             {
              ZwischenListe->Add(Datensatz);
             }
     }
    

    Gruß
    Niko



  • Siehe FAQ, "Edit - nur Zahlen erlauben".


  • Mod

    Hallo

    da solltze doch statt ToInt() ein IntToDef(0) langen

    MfG
    Klaus



  • Hallo,

    hab das Problem jetzt mit der Funktion
    TryStrToInt() gelöst. 🤡

    Gruß
    Niko



  • Benutze doch ein MaskEdit.


Anmelden zum Antworten