Announcement

Collapse
No announcement yet.

Editfeld beschränken

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Editfeld beschränken

    Hallo,
    für mein Projekt habe ich ein Editfeld das nicht leer sein darf und es darf nicht mehr als 1 Buchstabe sein, aber wie kann ich das bewerkstelligen.

    das nicht leer ist nicht das problem, das habe ich gelöst indem ich:
    Code:
    if (edit1 =="")
        bricht den prozess ab
    gibt es eine möglichkeit zu sagen das das Editfeld nur 1 Buchstaben haben darf, also nicht mehr oder weniger und auch keine Zahl?

    danke für die Hilfe

    gruß
    Timo

  • #2
    Hiho,

    siehe TEdit::MaxLength. Dort kann eingestellt werden, wie viele Zeichen eingegeben werden dürfen.

    Deine Überpüfung, ob das Edit-Feld leer ist, ist falsch. Du prüfst, ob der Poniter Edit1 != NULL ist... (Die Überprüfung sollte immer wahr sein, egal ob was im Feld steht, oder auch nicht.

    Siehe hierzu AnsiString::IsEmpty().

    Grüße Jochen

    Comment


    • #3
      Du kannst eine IF Abfrage machen.

      if (edit1->Text != "")
      {

      }
      else
      {
      Close();
      }

      und die länge kannst du dann bei ObjektInspektor unter MaxLength einstellen ^^

      Comment


      • #4
        hallo,
        aber das schliesst ja nicht aus das man Zahlen eingibt, und keine Buchstaben, kann man dies auch ihrgendiwe festsetzen?

        Timo

        Comment


        • #5
          Hallo Timo,

          eine direkte Möglichkeit fällt mir nicht ein, dass was du suchst kann man mit regulären Ausdrücken prüfen. Stichwort für die MSDN oder GoogleSuche ist die Klasse Regex.

          Viele Grüße
          Andreas

          Comment


          • #6
            Habe es einmal so versucht,

            Code:
            int test;
            if (test = StrToInt (edit_buchstabe -> Text) <= 9)
                       Application -> MessageBox ("Bitte geben sie einen Buchstaben an!","",0);
            
            else
                    zum vergleichen der Buchstaben
            aber er springt gleich zu den Buchstaben durch und ignoriert es

            Aber so wichtig war der Punkt auch nicht.

            Danke für eure Hilfe
            Timo

            Comment


            • #7
              Code:
              int test = edit_buchstabe->Text.ToInt();
              if (test <= 9)
                         Application -> MessageBox ("Bitte geben sie einen Buchstaben an!","",0);
              
              else
                      zum vergleichen der Buchstaben
              Innerhalb von if () können keine Zuweisungen durchgeführt werden, auf die dann geprüft werden soll.

              Comment


              • #8
                Danke Jochen, nun Läuft das auch ohne Probleme.

                Timo

                Comment

                Working...
                X