Do you need to convert user input to all upper case in VB3? All the ways I have seen to force user input to all upper case is to make calls to the Chr and UCase functions in the variant or string form, in addition to calling the Asc function.Why not use integers only, eliminating calls to these functions? This method is easy because the only difference between lower and upper case letters is bit five. The number 223 conveniently has all bits except bit five:
Lower case a = 01100001 Upper case A = 01000001 Number 223 = 11011111
Sub AllUppers (KeyAscii As Integer) 'If KeyAscii is in range, then 'perform bit-wise comparison and assign result. If KeyAscii > 96 And KeyAscii < 123 Then KeyAscii = _ (KeyAscii And 223)End Sub
If you have multiple text controls needing this input, put the Sub in a code module, and call it from the KeyPress event of the Text controls whenever you need it.Similarly, 32 = 00100000, so to convert from upper to lower case, use:
If KeyAscii > 64 and KeyAscii < 91 Then KeyAscii = _ (KeyAscii Or 32)