Avatar billede martin Nybegynder
05. juni 2000 - 19:29 Der er 9 kommentarer og
1 løsning

RegExp, kun tal

Hej,

Hvordan laver jeg en RegExp, sådan at:

Text1.Text ikke indeholder andet end tal?

Det er alså denne kode jeg skal have ind [^0-9]
Avatar billede jper Nybegynder
06. juni 2000 - 09:29 #1
Dette stykke kode vil kun acceptere tal i text1.

Private Sub Text1_Change()
Dim intLength As Integer
If Not IsNumeric(Text1.Text) Then
MsgBox "Du må kun indtaste tal!"
End If
End Sub
Avatar billede martin Nybegynder
06. juni 2000 - 12:21 #2
Jeg skal bruge Regular Expressions til at fjerne andet end tal... eller evt. sætte et 1 tal i stedet for.
Avatar billede martin Nybegynder
06. juni 2000 - 12:23 #3
Jeg har fundet noget om det her, men kan ikke få det til at virke!
http://msdn.microsoft.com/library/periodic/period99/VB99I1.HTM
Avatar billede nolle_k Nybegynder
06. juni 2000 - 13:37 #4
Du skal starte med sætte formens KeyPreview property til True! Dette gør at alt hvad der indtastes i kontroller på formen bliver smidt gennem formens KeyPress, KeyUp osv.

Herefter skrives følgende kode i formens KeyPress event metode!

Private Sub Form_KeyPress(KeyAscii As Integer)
  If (Not IsNumeric(Chr(KeyAscii))) Then
    'Ignore keyress -> Is not send to textbox
    KeyAscii = 0
  End If
End Sub

Should do the trick!

//Nolle_K
Avatar billede nolle_k Nybegynder
06. juni 2000 - 13:41 #5
Du er nødt til at teste for backspace og i den dur hvis det skal være muligt at slette noget man har skrevet da det ovenstående eksempel KUN godtager TAL! Og KUN TAL!

//Nolle_K
Avatar billede martin Nybegynder
06. juni 2000 - 14:55 #6
nolle_k > Koden ser ud til at ville virke fint. Men hvordan får jeg slet til at virke (den omvendte af Delete, alså den hvor man står efter ordet og så sletter man én tilbage)
Avatar billede martin Nybegynder
06. juni 2000 - 14:56 #7
Desuden skal jeg også have TAB til at virke...

Jeg har desuden brugt koden direkte inde i Text1

Private Sub Text1_KeyPress(KeyAscii As Integer)
  If (Not IsNumeric(Chr(KeyAscii))) Then
    'Ignore keyress -> Is not send to textbox
    KeyAscii = 0
  End If
End Sub
Avatar billede martin Nybegynder
06. juni 2000 - 16:13 #8
Mysteriet er løst...

Takker :o)

Backspace = 8 !
Avatar billede nolle_k Nybegynder
06. juni 2000 - 16:28 #9
Velbekomme du!
Avatar billede nolle_k Nybegynder
06. juni 2000 - 16:29 #10
Smart nok at smide koden ind i Textfeltet det tænkte jeg ikke lige på! Men det er smart med KeyPreview propertyen i formen hvis man vil have alle bogstaver der vises på en form store eller lign!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester