Avatar billede lillehans Nybegynder
23. oktober 2001 - 19:41 Der er 3 kommentarer og
2 løsninger

tekst i stedet for tal og omvendt

Er der mon én af jer der gider at hjælpe mig med
dette lille problem?
En bruger bliver bedt om at indtaste sit navn og
sin alder i to tekstbokse.
Brugeren skriver alder i tekstboksen og navn
i alders-boksen.
En fejlmeddelelse skal oplyse, at der skal anvendes
bogstaver i navneboksen og tal i aldersboksen.
Hvis der i navneboksen skrives alder, bliver
fejlmeddelelsen =
1)?
Hvis der i alders-boksen skrives bogstaver bliver
fejlmeddelelsen =
2)?

Avatar billede kaffe Nybegynder
23. oktober 2001 - 19:51 #1
Måske ikke lige hvad du beder om, men:
Her kan brugeren ikke indtaste tal i navnefeltet og kun indtaste tal i aldersfeltet.


Private Sub txtAlder_KeyPress(KeyAscii As Integer)
  If Not IsNumeric(Chr(KeyAscii)) Then KeyAscii = 0
End Sub

Private Sub txtNavn_KeyPress(KeyAscii As Integer)
  If IsNumeric(Chr(KeyAscii)) Then KeyAscii = 0
End Sub
Avatar billede ea_data Nybegynder
23. oktober 2001 - 21:48 #2
Du kan definere en tekstbox til kun at kunne modtage tal ved at indsætte følgende kode i din form:

Private Declare Function SetWindowLong Lib \"user32\" Alias \"SetWindowLongA\" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib \"user32\" Alias \"GetWindowLongA\" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Const GWL_STYLE = (-16)
Private Const ES_UPPERCASE As Long = &H8&
Private Const ES_LOWERCASE As Long = &H10&
Private Const ES_NUMBER    As Long = &H2000

Private Sub Form_Load()
Dim DefStyle&
DefStyle = GetWindowLong(Text1.hwnd, GWL_STYLE)
Call SetWindowLong(Text1.hwnd, GWL_STYLE, DefStyle Or ES_NUMBER)
end sub
Avatar billede lillehans Nybegynder
23. oktober 2001 - 22:48 #3
Du store kineser! Så meget for så lidt!
Jeg får ikke prøvet det før i morgen, men under
forudsætning af, at det er rigtigt, hvad I foreslår, forhøjer jeg, således at I får hver 15.
Håber det går godt. Første gang jeg prøver at dele
point. Tak, d\'herrer!
Avatar billede ea_data Nybegynder
25. oktober 2001 - 22:31 #4
Hej igen

Hvis du vil være helt sikker på at der fx kun skal kunne indtastes store og små bogstaver og ikke andre tegn i tekstboksen kan du indsætte denne kode:

Private Sub Text1_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 197
    Exit Sub
Case 198
    Exit Sub
Case 216
    Exit Sub
Case 229
    Exit Sub
Case 230
    Exit Sub
Case 248
    Exit Sub
End Select
If Not (KeyAscii > 64 And KeyAscii < 91) And _
                Not (KeyAscii > 96 And KeyAscii < 123) Then
               
                KeyAscii = 0
                Exit Sub
            End If
End Sub
Avatar billede ea_data Nybegynder
25. oktober 2001 - 22:36 #5
Hvis du tilføjer følgende til select case delen af koden kan der også accepteres mellemrum og backspace. Det er jo som oftest ganske praktisk:

Case 8
    Exit Sub
Case 32
    Exit Sub
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