Nochmal Edit



  • Hallo,

    wie kann ich es anstellen, das Edit nach betätigen des Tab
    erst nach einer bestimmten Anzahl von Zeichen verlassen wird.

    Gruß
    Johann



  • In manchen Komponenten von Drittherstellern gibt es das OnValidate-Ereignis.
    Falls Du die Standardkomponenten verwendest, kannst Du das OnExit-Ereignis ab-
    fangen und überprüfen, ob die Eingabe gültig ist. Falls nicht kannst Du direkt
    wieder SetFocus() aufrufen. Hab's aber nicht ausprobiert.

    Gruß,

    Alexander



  • Alexander Kempf schrieb:

    In manchen Komponenten von Drittherstellern gibt es das OnValidate-Ereignis.
    Falls Du die Standardkomponenten verwendest, kannst Du das OnExit-Ereignis ab-
    fangen und überprüfen, ob die Eingabe gültig ist. Falls nicht kannst Du direkt
    wieder SetFocus() aufrufen. Hab's aber nicht ausprobiert.

    Gruß,

    Alexander

    Wie kann ich in Exit festellen wieviel Zeichen eingegeben wurden?

    void __fastcall TForm1::Edit1Exit(TObject *Sender)
    {
    
             unsigned char id[4];
             if (??Anzahl?? == 8)
             { 
             	     sscanf(Edit1->Text.c_str(),"%8x",&id);
             }
             else
             {
                  Edit1 nicht verlassen
    
             } 
    }
    


  • Schau dir mal TEdit::Text und dessen Eigenschaften und Funktionen an.



  • Dasd schrieb:

    Schau dir mal TEdit::Text und dessen Eigenschaften und Funktionen an.

    void __fastcall TForm1::Edit1Exit(TObject *Sender)
    {
    
        unsigned char id[4];
        if (Edit1->GetTextLen() == 8)
        {
            sscanf(Edit1->Text.c_str(),"%8x",&id);
        }
        else
        {
            Edit1->SetFocus();
        }
    
    }
    Funktioniert 
    Danke
    Johann
    

Anmelden zum Antworten