Zeichen unterdrücken in Edit



  • Hallo,

    ich möchte eine Hexzahl über Edit eingeben.

    Wie kann ich erreichen das nur die Zahlen 0-9 sowie die Buchstaben
    A-F zugelassen sind.
    Ausserdem soll ein Buchstabe immer als groß dargestellt werden.

    Gruß
    Johann



  • Siehe FAQ, "Edit - nur Zahlen erlauben". Sollte sich unschwer erweitern lassen.

    Und zu den Grossbuchstaben: du hast doch bestimmt schon mal gehört/gelesen, wie man das auf Englisch nennt. Vielleicht findet sich ja eine passende Funktion!?



  • Jansen schrieb:

    Siehe FAQ, "Edit - nur Zahlen erlauben". Sollte sich unschwer erweitern lassen.

    Und zu den Grossbuchstaben: du hast doch bestimmt schon mal gehört/gelesen, wie man das auf Englisch nennt. Vielleicht findet sich ja eine passende Funktion!?

    Vielen Dank für die Hilfe.

    //---------------------------------------------------------------------------
    void __fastcall TForm1::Edit2KeyPress(TObject *Sender, char &Key)
    {
     	if ((Key >= '0' && Key <= '9') || (Key >='a' && Key <= 'f') || (Key >='A' && Key<='F') || Key == 8)
        {
            if (Key >='a' && Key <='f')
            {
             	Key = Key - 0x20;
            }
        }
        else
        {
         	Key = 0;
        }
    }
    


  • Hallo hermes,
    ich denke "uppercase" hat sich auch erledigt oder?

    Evi48



  • evi48 schrieb:

    Hallo hermes,
    ich denke "uppercase" hat sich auch erledigt oder?

    Evi48

    Nein, nur da gibt es wiederum ein Problem mit dem AnsiString.

    Key = UpperCase(Key);
    Fehler: Cannot convert AnsiString to char

    Key = UpperCase(Key.c_str());
    Fehler: Structure required on left side of . or .*.

    sscanf(Edit1->Text.c_str(),"%8x",&id); //c_str() liefert einen Zeiger zurück
    Funtioniert.

    Was hat eigentlich diese blöde AnsiString für Vorteile, ich hatte bis jetzt
    nur Nachteile?

    Gruß
    Johann



  • Key = UpperCase(Key)[1];



  • hermes schrieb:

    Was hat eigentlich diese blöde AnsiString für Vorteile, ich hatte bis jetzt nur Nachteile?

    Sieh dir die Eigenschaften und Methoden von AnsiString mal in der Hilfe an und versuch dann, das alles von Hand mit bzw. für einen char* nachzubauen.

    Und noch eine allgemeine Bitte, stellvertretend auch für deine zahlreichen anderen Beiträge bisher: Zitate bitte auf das Allernotwendigste beschränken! Es ist unsinnig, in jeder Antwort den Text des Vorredners komplett zu wiederholen, schliesslich steht der ja bereits für jeden sichtbar im Thread.

    Siehe auch: http://learn.to/quote





  • Sorry, hatte vergessen zu schreiben, dass das der Thread zur

    "Edit - Nur Zahlen erlauben" ist


Anmelden zum Antworten