Wie Eingabe von bestimmten Zeichen in Textfeld verhindern?

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

theonlyrobi
Beiträge: 5
Registriert: Mo, 28.11.2005 19:53
Kontaktdaten:

Wie Eingabe von bestimmten Zeichen in Textfeld verhindern?

Beitrag von theonlyrobi »

Hallo,

in VBA konnte ich mit folgendem Makro erzwingen, dass bei Tastendruck in ein Textfeld nur Zahlen eingefügt werden können:

Code: Alles auswählen

Select Case KeyAscii
        Case Asc("0") To Asc("9")
        Case Else
            KeyAscii = 0
End Select
Nun suche ich ein Äquivalent in OO Basic. Ich kann ja ein Textfeld mit "isnumeric" auf numerischen inhalt prüfen, doch sind da immer noch "," und "." erlaubt. Hat jemand nen Tip?

Robert
theonlyrobi
Beiträge: 5
Registriert: Mo, 28.11.2005 19:53
Kontaktdaten:

Beitrag von theonlyrobi »

Hallo,

*schieb* und noch eine Frage:

wenn ich nicht wie oben beschrieben vorgehen kann, gibt es denn dann die Möglichkeit, zu überprüfen ob nur Buchstaben eingegeben wurden (Äquivalent zu isnumeric)? Also dass keine Sonderzeichen eingegeben wurden?

Robert
Toxitom
********
Beiträge: 3769
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Toxitom »

Hey Robert,

also, ganz so einfach wie in VBA geht es nicht, so ähnlich aber schon. Du kannst natürlich auch bei jedem Tastendruck überprüfen, was denn da so eingegeben wurde und die "Select-Case" verzweigung funktioniert natürlich ähnlich. Du musst halt dann jeweils den String oder Wert auslesen, in einen zeichen-Array verwandeln, und Zeichen für Zeichen Prüfen. Anschliessend alles zurückschreiben.
Das ganze Makro verknüpfen zum Beispiel mit dem Ergeignis "Modifiziert".

Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Antworten