Pistä boxin onPress-metodiin (vai onko se onKeyPress...VB:tä tulee sen verran vähän käytettyä) koodin pätkä, joka tutkii, onko painettu nappi sallittu (ascii 48-57).
0Äänestä
Kooderi
Dim i As Integer
i = Text1.Text
If i > 47 And i < 58 Then ' ... Tee jotakin tekstille else ' Jokin temppu jos Text.Text ei ole numero... End if
0Äänestä
Kooderi
Hups, jäi pois...
Vertaat sitä tietenkin Asc(48-57) merkkeihin, eikä i:n arvoon suoraan... Eli siis laitat Asc-arvoina tuon i:n, käännät sen merkiksi.
Eli vaikkapa näin: Dim i Dim A As Integer
Asc(i) = A
Jossa i on variant ja A integer - arvo. Helppoa!
0Äänestä
Petri_Petri
Ylläolevat ohjeet eivät toimi. Näin se onnistuu, laita TextBoxin KeyPress-eventiin seuraava koodi:
Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii >= 48 And KeyAscii
Vastaukset 4
Vanhimmat
Pistä boxin onPress-metodiin (vai onko se onKeyPress...VB:tä tulee sen verran vähän käytettyä) koodin pätkä, joka tutkii, onko painettu nappi sallittu (ascii 48-57).
Dim i As Integer
i = Text1.Text
If i > 47 And i < 58 Then
' ... Tee jotakin tekstille
else
' Jokin temppu jos Text.Text ei ole numero...
End if
Hups, jäi pois...
Vertaat sitä tietenkin Asc(48-57) merkkeihin, eikä i:n arvoon suoraan... Eli siis laitat Asc-arvoina tuon i:n, käännät sen merkiksi.
Eli vaikkapa näin:
Dim i
Dim A As Integer
Asc(i) = A
Jossa i on variant ja A integer - arvo. Helppoa!
Ylläolevat ohjeet eivät toimi. Näin se onnistuu, laita TextBoxin KeyPress-eventiin seuraava koodi:
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii >= 48 And KeyAscii