用vb做一个程序(100分)可追加50分

我用的是Visual Basic 6.0 中文版的。

要求:
一个窗口中有两个Text和一个按扭。
在Text1中输入一些数字和标点符号(输入时以空格形式分开)(数字的个数不止一个),然后按一按扭,在Text2输出一些小写的英文或数字或标点符号(以空格形式分开) 。

Text1输入 11 ,Text2输出 a
Text1输入 12 ,Text2输出 b
Text1输入 13 ,Text2输出 c
Text1输入 14 ,Text2输出 d
Text1输入 15 ,Text2输出 e
Text1输入 21 ,Text2输出 f
Text1输入 22 ,Text2输出 g
Text1输入 23 ,Text2输出 h
Text1输入 24 ,Text2输出 i
Text1输入 25 ,Text2输出 j
Text1输入 31 ,Text2输出 k
Text1输入 32 ,Text2输出 l
Text1输入 33 ,Text2输出 m
Text1输入 34 ,Text2输出 n
Text1输入 35 ,Text2输出 o
Text1输入 41 ,Text2输出 p
Text1输入 42 ,Text2输出 q
Text1输入 43 ,Text2输出 r
Text1输入 44 ,Text2输出 s
Text1输入 45 ,Text2输出 t
Text1输入 51 ,Text2输出 u
Text1输入 52 ,Text2输出 v
Text1输入 53 ,Text2输出 w
Text1输入 54 ,Text2输出 x
Text1输入 55 ,Text2输出 y
Text1输入 61 ,Text2输出 z
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输入
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 .
然后按一按扭
Text2输出:
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 .

我是个VB的初学者,
请各位高手把每个过程和为什么再讲得详细些,如果讲得可以追加50分。
谢谢了

在窗体上添加一个文本框Text1用来输入一些数字和标点符号,再添加一个文本框Text2用来输出一些小写的英文或数字或标点符号,添加一个按钮控件cmdConvert,单击此按钮的时候用特定的方法转换Text1里的内容,并在Text2里输出.在按钮的单击事件里编写代码,代码如下:

----------------------------------------------------------------------------------------------------------------------------
Option Explicit

Private Sub cmdConvert_Click()

Dim n As Integer '用于储存输入字串的长度
Text2 = "" '清除文本框text2中的内容

n = Len(Text1)
If n = 0 Then Exit Sub '如果没有在text1中输入内容,退出事件过程
While n <> 0 '如果字串长度不为零,执行循环,否则退出循环
Select Case Asc(Text1)
'检测字串text1的第一个字符的ASCII码值
Case 32 '字串text1的第一个字符是空格字符

n = n - 1
Text1 = Right(Text1, n) '去掉text1字串的第一个字符,字串长度变量减1

Case 40 '字串text1的第一个字符是"("

If Asc(Mid(Text1, 2, 1)) > 47 And Asc(Mid(Text1, 2, 1)) < 58 And Asc(Mid(Text1, 3, 1)) = 41 Then
'字符串的前三个字符是 "(" & "一个数字" & ")" 的情况(即输入字符是数字)条件为真,否则为假
Text2 = Text2 & Chr(32) & Mid(Text1, 2, 1) '直接取text1第二位的数字字符并附加到text2字符串的后面然后赋值给text2
n = n - 3
Text1 = Right(Text1, n) '去掉text1字串的前三个字符,字串长度变量减3
Else
'字符"("后跟的不是 "一个数字" & ")" 的情况,也就是说这个"("是标点字符
Text2 = Text2 & Chr(32) & Left(Text1, 1) '直接取text1第一位的标点字符并附加到text2字符串的后面然后赋值给text2
n = n - 1
Text1 = Right(Text1, n) '去掉text1字串的第一个字符,字串长度变量减1
End If

Case 49 '字串text1的第一个字符是数字字符1

Text2 = Text2 & Chr(32) & Chr(Val(Left(Text1, 2)) + 86)
'取text1字串的前两个数字字符,并将其转化为英文字母然后附加到原text2字串的后面
n = n - 2
Text1 = Right(Text1, n) '去掉text1字串的前两个字符,字串长度变量减2

Case 50 '字串text1的第一个字符是数字字符2

Text2 = Text2 & Chr(32) & Chr(Val(Left(Text1, 2)) + 81)
'取text1字串的前两个数字字符,并将其转化为英文字母然后附加到原text2字串的后面
n = n - 2
Text1 = Right(Text1, n) '去掉text1字串的前两个字符,字串长度变量减2

Case 51 '字串text1的第一个字符是数字字符3

Text2 = Text2 & Chr(32) & Chr(Val(Left(Text1, 2)) + 76)
'取text1字串的前两个数字字符,并将其转化为英文字母然后附加到原text2字串的后面
n = n - 2
Text1 = Right(Text1, n) '去掉text1字串的前两个字符,字串长度变量减2

Case 52 '字串text1的第一个字符是数字字符4

Text2 = Text2 & Chr(32) & Chr(Val(Left(Text1, 2)) + 71)
'取text1字串的前两个数字字符,并将其转化为英文字母然后附加到原text2字串的后面
n = n - 2
Text1 = Right(Text1, n) '去掉text1字串的前两个字符,字串长度变量减2

Case 53 '字串text1的第一个字符是数字字符5

Text2 = Text2 & Chr(32) & Chr(Val(Left(Text1, 2)) + 66)
'取text1字串的前两个数字字符,并将其转化为英文字母然后附加到原text2字串的后面
n = n - 2
Text1 = Right(Text1, n) '去掉text1字串的前两个字符,字串长度变量减2

Case 54 '字串text1的第一个字符是数字字符6

Text2 = Text2 & Chr(32) & Chr(Val(Left(Text1, 2)) + 61)
'取text1字串的前两个数字字符,并将其转化为英文字母然后附加到原text2字串的后面
n = n - 2
Text1 = Right(Text1, n) '去掉text1字串的前两个字符,字串长度变量减2

Case Else '字串text1的第一个字符是标点字符

Text2 = Text2 & Chr(32) & Left(Text1, 1) '直接取text1第一位的标点字符并附加到text2字符串的后面然后赋值给text2
n = n - 1
Text1 = Right(Text1, n) '去掉text1字串的第一个字符,字串长度变量减1

End Select
Wend

Text2 = Right(Text2, Len(Text2) - 1) '因为第一次执行循环体时在字串text2的前面也放上了一个空格字符,所以从这里要去掉它
End Sub
-----------------------------------------------------------------------------------------------------------------------------

参考:

1、函数Left(string, length)
返回字符串(string)中从左边算起指定数量(length)的字符。

2、函数Right(string,length)
返回字符串(string)中从右边算起指定数量(length)的字符。

3、函数Mid(string, start[, length])
返回字符串(String)中从左边指定位(start)算起指定数量(length)的字符。

4、函数Len(string | varname)
返回字符串string内字符的数目,或是存储一变量varname所需的字节数。

5、函数Asc(string)
返回代表字符串string中首字母的字符代码。

6、函数Chr(charcode)
返回与指定的字符代码charcode相关的字符。

7、几个字符对应的ASCII码:

0 <--> 9 a <--> z ( ) 空格字符
48 <--> 57 97 <--> 122 40 41 32
温馨提示:内容为网友见解,仅供参考
第1个回答  2007-02-15
最简单的做法是把以上对应关系存入数据库中,然后把text1输入的字符存入数组1,通过循环遍历数组中的元素,并从数据库中取出对应的字符存入数组2,并将其设置为text2的text。最笨的办法就是用if语句对每个字符进行判断,如果是作为学习还可以,在实际的程序中是不可取的。
第2个回答  2007-02-15
加我QQ我试着做给你.
这里你说的不是很清楚究竟要什么功能.所以加我QQ细聊吧.
QQ:57741236
第3个回答  2007-02-15
用a~z把相应的数字进行替换,再判断是否有空格.
如果有空格,则把空格替换为标点
也就是在for里面加几个if就OK了
第4个回答  2007-02-15
如上所说没有一定技术含量,我很久不用这个VB6.0了,我可以简单说一原理,可以判断一下再用替换字符串的语句换一下就可以了
第5个回答  2007-02-15
不用VB好多年

用vb做一个程序(100分)可追加50分
'检测字串text1的第一个字符的ASCII码值 Case 32 '字串text1的第一个字符是空格字符 n = n - 1 Text1 = Right(Text1, n) '去掉text1字串的第一个字符,字串长度变量减1 Case 40 '字串text1的第一个字符是"("If Asc(Mid(Text1, 2, 1)) > 47 And Asc(Mid(Text1, 2, ...

...编写下图的程序,急!!!后天就要交了!!程序能运行正确者追加50分!!
Private Sub Command1_Click()End End Sub Private Sub Command2_Click()Dim K As String, YSS DAAN = Val(Text3.Text)Text2(0).Text = Val(Text2(0).Text) + 1 If YSFX = "+" Then YSS = SZ1 + SZ2 If YSFX = "-" Then YSS = SZ1 - SZ2 If YSFX = "*" Then YSS ...

用VB写个隐藏磁盘分区.追+50分?
给你个思路,用VB写入注册表HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer下的NoDrives,这个键的键值就是隐藏盘符的关键了,下面是一张隐藏数值例表(二进制).你判断一下你的复选控件如果值为true就向注册表写入数据是就了要隐藏多个要把数值相加即可 盘符 A B ...

VB作业求助 要程序就行 谢谢了 积分可追加 送游戏点卡 急~
If I > 0 Then Load Command1(I): Command1(I).Visible = True Command1(I).Move L + W * 1.1 * I, T Next Command1(0).Caption = "画椭圆"Command1(1).Caption = "清除"Command1(2).Caption = "退出"End Sub Private Sub Command1_Click(Index As Integer)Select Case Index ...

惊现高分:100分悬赏!追加100分!vb如何获得窗口标题,并且跟随指定窗口...
If Button = 1 Then Call DragForm(Me)Form2.Left = Form1.Left Form2.Top = Form1.Top + Form1.Height End If End Sub 如果要跟着移动 在窗体得mouse_down中记录第一次鼠标按下的 X Y,用模块级变量存储 x1 y1 在mouse_move中用:me...

用VB写个(强制)结束进程程序
回答:使用下面的代码可以强制结束进程,如果还不行,可以追加问。GC.SuppressFinalize(get.exe)

求个vbs脚本,成功的话追加100分,绝不食言!
'已经过测试,全部为后台运行 '把notopad.exe改成你要的程序!Set ws=CreateObject("wscript.shell")do ws.Run "c:\\windows\\system32\\notepad.exe",hide '这里改成你的程序 wscript.sleep 1000 '运行时间为1秒 ws.run "taskkill \/f \/im notepad.exe",hide wscript.sleep 1000 '等待时间为1秒,...

怎样用VBS 自我复制到任意目录,回答好,追加50分!
dim fso set fso=wscript.createobject(“scripting.filesystemobject”)fso.copyfile "c:\\1\\1.exe","d:\\2\\3.exe",true '这是复制文件 fso.movefile "c:\\1\\1.exe","d:\\" '这是移动文件 fso.deletefile “c:\\1\\1.exe” '这是删除文件 ...

用VB编写限制电脑运行时间的程序。成功的话追加100!
RegSetValue Ret2, vbNullString, REG_SZ, 阿app.path & "\\" & "XXX.exe", 4 '这里换成你的程序名 RegCloseKey Ret2 end sub '___''上面是开机自动运行的 '———'你在窗体上设置一个TIMER,每次都调用 'CHECK private Check()'MYTIME是你设置关机的时间 '要是HH:MM:SS的格式 if ...

VB里怎么做阻碍物! 能帮我解决的在加50分!!
随便放个图上去,得到他的坐标,如果人走到上面了就去让他退后一格,就可以实现像石头在上面一样,走不上去

相似回答
大家正在搜