用vb做一个程序(100分)可追加50分
我用的是Visual Basic 6.0 中文版的。
要求:
一个窗口中有两个Text和一个按扭。
在Text1中输入一些小写的英文或数字或标点符号(输入时以空格形式分开)(字母和数字的个数不止一个),然后按一按扭,在Text2输出一些数字和标点符号。(以空格形式分开)
Text1输入 a ,Text2输出 11
Text1输入 b ,Text2输出 12
Text1输入 c ,Text2输出 13
Text1输入 d ,Text2输出 14
Text1输入 e ,Text2输出 15
Text1输入 f ,Text2输出 21
Text1输入 g ,Text2输出 22
Text1输入 h ,Text2输出 23
Text1输入 i ,Text2输出 24
Text1输入 j ,Text2输出 25
Text1输入 k ,Text2输出 31
Text1输入 l ,Text2输出 32
Text1输入 m ,Text2输出 33
Text1输入 n ,Text2输出 34
Text1输入 o ,Text2输出 35
Text1输入 p ,Text2输出 41
Text1输入 q ,Text2输出 42
Text1输入 r ,Text2输出 43
Text1输入 s ,Text2输出 44
Text1输入 t ,Text2输出 45
Text1输入 u ,Text2输出 51
Text1输入 v ,Text2输出 52
Text1输入 w ,Text2输出 53
Text1输入 x ,Text2输出 54
Text1输入 y ,Text2输出 55
Text1输入 z ,Text2输出 61
Text1输入 0 ,Text2输出 (0)
Text1输入 1 ,Text2输出 (1)
Text1输入 2 ,Text2输出 (2)
Text1输入 3 ,Text2输出 (3)
Text1输入 4 ,Text2输出 (4)
Text1输入 5 ,Text2输出 (5)
Text1输入 6 ,Text2输出 (6)
Text1输入 7 ,Text2输出 (7)
Text1输入 8 ,Text2输出 (8)
Text1输入 9 ,Text2输出 (9)
如果Text1输入的是标点符号,那Text2输出的为原来的标点符号。
例子:
Text1输入
a a s d f h g z f d , 1 5 3 4 6 2 , a d s h f a a s f .
然后按一按扭
Text2输出:
11 11 44 14 21 23 22 61 21 14 , (1) (5) (3) (4) (6) (2) , 11 14 44 23 21 11 11 44 21 .
请把步骤和过程讲得详细些,如果讲得好,再追加50分。
谢谢了
参考答案:在text1里输入的字符有要求,可以自己搞定,用KeyPress事件就可以了。
Private Sub Command1_Click()
Dim str1() As String
Dim i As Long, su As Long
str1 = Split(Text1, " ") '把text1的内容赋给数组str1(),用空格做分割符
su = UBound(str1) '取得数组的维数
For i = 0 To su
If Len(str1(i)) > 1 Then MsgBox "字符格式不正确!": Exit Sub '如果有2个以上的字符连在一起就提示
Select Case str1(i)
Case "a" To "e"
str1(i) = Format(Asc(str1(i)) - 86)
Case "f" To "j"
str1(i) = Format(Asc(str1(i)) - 81)
Case "k" To "o"
str1(i) = Format(Asc(str1(i)) - 76)
Case "p" To "t"
str1(i) = Format(Asc(str1(i)) - 71)
Case "u" To "y"
str1(i) = Format(Asc(str1(i)) - 66)
Case "z"
str1(i) = "61"
Case "0" To "9"
str1(i) = "(" & str1(i) & ")"
'为简单起见,直接取得标点符号等等,不过大写的字母也进来了,你可以另外限定
End Select
Next
Dim a$
a = Join(str1, " ") '把数组用空格连为字符串,赋给text2
Text2 = a
End Sub