Zum Inhalt springen

vb: eingabe auf ein zeichen abfragen


Empfohlene Beiträge

Geschrieben

Was soll den abgefange werden? Dürfen nur Zahlen eingegeben werden? Dann würde ich in der Hilfe mal nach "IsNumeric" schauen. Vielleicht gibts auch was wie "IsString", k.A. ich hab immer nur Numeric gebraucht.

Geschrieben

hallo,

Original geschrieben von fireworker

Wieso fängst Du nicht unter dem KeyDown Ereignisse die Tasten ab?

wieso die tasten abfangen?? der user darf zwischen 0 und 9 alles eintippen, soll ich dann alle anderen tasten abfangen :confused:

Ciao

Antibiotik

Geschrieben
Original geschrieben von Antibiotik

hallo,

wieso die tasten abfangen?? der user darf zwischen 0 und 9 alles eintippen, soll ich dann alle anderen tasten abfangen :confused:

Ciao

Antibiotik

wenn der User also ein A eintippt fängst du das ab und lässt das nicht in deine Textbox (oder was du verwendest) eintragen

Geschrieben

hallo,

Original geschrieben von |roTekuGeL|

wenn der User also ein A eintippt fängst du das ab und lässt das nicht in deine Textbox (oder was du verwendest) eintragen

so hab ich es auch vestanden, ist aber viel zu streßig!!

Ciao

Antibiotik

Geschrieben

*grübel* Wie wärs mit dem Validate-Ereignis? Das prüft jede Änderung an einer Textbox. Würde immer dann aufgerufen werden, wenn der Benutzer eine Taste drückt. Die müsstest du dann mit ASC abfragen und demensprechend darauf reagieren.

Müssten aber IMHO ziemlich viele IF-Abfragen oder eine gigantische Select Case Abfrage werden. ;)

Gruß

Ganymed

Geschrieben

hallo,

Original geschrieben von fireworker

wieso ist das zu streßig

weil - wie schon ober erwähnt - du einen fetten select case machen musst!!

du musst ja dann jeden buchstaben abfragen, oder irre ich mich??

Ciao

Antibiotik

Geschrieben

Hmm... ich hätte da noch eine Idee: Wenn du nach dem Ascii-Code jeder Taste fragst, dann musst du ja die Nummer des Codes angeben, oder? Soweit ich weiss liegen die Zahlen von 0 - 9 z.B. hintereinander in der Tabelle; d.h. auch darauffolgende Zahlen. Vielleicht könntest du mit einer For-Schleife alle hintereinanderliegenden Ascii-Zeichen nacheinander abfragen?!

Das würde den Select Case zumindest um einiges kleiner machen. :)

Gruß

Ganymed

Geschrieben

Hi!

Besser ist folgende Methode:

Private Sub Text1_KeyPress(KeyAscii As Integer)

    If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0

End Sub

cu,

frankos

Geschrieben

noch besser ist folgende Methode:

Private Sub Text1_KeyPress(KeyAscii As Integer)

   select case  keyascii

       case 48 to 57 :KeyAscii = 0     'Für alle Ziffern

       case 65 to 90: keyascii=0        'Für alle Großbuchstaben

       case 97 to 122: keyascii=0      'für alle Kleinbuchstaben

End Sub

welchen vorschlag wirst Du nehmen?

Geschrieben

hallo,

Original geschrieben von fireworker

welchen vorschlag wirst Du nehmen?

vielen dank, aber ich hab schon ne lösung:


    If IsNumeric(anz_tage) = False Then

        MsgBox "Wert ist außerhalb des zulässigen Bereichs!! (2...90)",   

        vbCritical, "Error!!"

        anz_tage = "15"

    End If

Ciao

Antibiotik

Geschrieben

hallo,

Original geschrieben von EvilNick

Das hab ich doch schon im 2. Posting geschrieben *g*

ja genau. gleich nach deiner antwort hab ich des auch umgesetzt.

Ciao

Antibiotik

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...