这个循环怎么加?
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChangedInput = TextBox1.Text
Select Case input
Case "A" To "Z"
output = LCase(input) '大小写转换
Case "a" To "z"
output = UCase(input) '大小写转换
Case Else
output = "*"
End Select
TextBox2.Text = output
End Sub
在 TXTBOX1 输入字符时 TXTBOX2自动转换大小写
现在问题是:1.在只是默认一个转换方式,如果你输入第一个字母是大写,他会转成小写,但再输入小写,或者数字,他都是输出小写
2.输入很长的数字时,他也只是输出一个 “*”
该怎么加个循环呢?
不要用Ucase,Lcase
Private Sub Textbox1_Change()''首先,我认为用 input 和 output作为变量名不合适,因为任何语言中都不要用函数名和关键字作变量名
''可改为inputStr,outputStr
''用判断字符的ASCII码值做比较好,因为Ucase,Lcase对这儿不好用.
inputStr = Textbox1.Text
inputLen = Len(inputStr)
For i = 1 To inputLen
oneChr = Mid$(inputStr, i, 1)
asconechr = Asc(oneChr)
Select Case asconechr
Case 65 To 90
outputStr = Chr(asconechr + 32) '大写-->小写转换
Case 97 To 122
outputStr = Chr(asconechr - 32) '小写-->大写转换
Case Else
outputStr = "*"
End Select
allChr = allChr + outputStr
'' MsgBox oneChr & "--->" & outputStr
Next i
Textbox2.Text = allChr
End Sub Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
LZ是VB.NET的
补充回答您的问题
在VB.NET中调试了一下,发现Lcase,Ucase函数没问题,但在vb6中确实行不通,以下程序可以解决您的问题(已经在VB.NET中调试通过)Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
Dim inputstr, outputstr, onechr, allchr As String
Dim inputlen, i As Integer
allchr = ""
inputstr = TextBox1.Text
inputlen = Len(inputstr)
For i = 1 To inputlen
onechr = Mid(inputstr, i, 1)
Select Case onechr
Case "A" To "Z"
outputstr = LCase(onechr)
Case "a" To "z"
outputstr = UCase(onechr)
Case Else
outputstr = "*"
End Select
allchr = allchr + outputstr
Next
TextBox2.Text = allchr
End Sub
[[it] 本帖最后由 flyingcat2008 于 2008-8-1 20:19 编辑 [/it]] VB6与VB。NET 混了罢
页:
[1]
