二、代码设计
1.设置变量
Dim i,j,k As Integer
2.单击“多个函数”按钮的事件代码
利用InStr函数可以找出子串在字符串中的起始位置,利用Len函数求出子串的长度,利用Left函数取出子串前面的字符,Mid函数取出子串后面的字符。
Private Sub Button1_Click(ByVal sender As System.Object,ByVal e As System.EventArgs)Handles Button1.Click i = InStr(TextBox1.Text,TextBox2.Text) '在TextBox1中查找出现TextBox2内容的位置存放在i变量中 k = i + Len(TextBox2.Text) TextBox4.Text = Microsoft.VisualBasic.Left(TextBox1.Text,i -1) + TextBox3.Text + Mid(TextBox1.Text,k) End Sub
3.单击“替换函数”按钮的事件代码
直接使用Replace函数进行替换。代码如下。
Private Sub Button2_Click(ByVal sender As System.Object,ByVal e As System.EventArgs)Handles Button2.Click TextBox4.Text = "" TextBox4.Text = Replace(TextBox1.Text,TextBox2.Text,TextBox3.Text) End Sub
4.单击“调用Word”按钮的事件代码
Private Sub Button3_Click(ByVal sender As System.Object,ByVal e As System.EventArgs)Handles Button3.Click i = Shell("C:\Program Files\Microsoft Office\Office14\winword.exe",1) '调用Word 2010,具体路径参考当前使用的计算机 End Sub
5.设置窗口标题滚动效果
利用时钟控件,在设计时设置时钟的Enabled属性值为True,使得只要启动程序,时钟就会自动启动。
Private Sub Timer1_Tick(ByVal sender As Object,ByVal e As System.EventArgs) Handles Timer1.Tick Me.Text = Space(35- j)& "查找与替换" '随着j的增加,空格数减少,视觉上窗口标题栏字符串向左移动 j = j + 1 If j > 35 Then j = 0 End Sub Private Sub Button4_Click(ByVal sender As System.Object,ByVal e As System.EventArgs)Handles Button4.Click TextBox4.Text = "" End Sub
注意
(1)Left可以是函数名也可以是属性名,因此当作为函数使用时,应加上前缀“Microsoft. VisualBasic.”。
(2)用Me来表示当前窗体,不能使用Form1。
(3)使用替换函数Replace函数可以将主串(TextBox1)中的子串(TextBox2)全部替换为要替换的子串(TextBox3)。使用多个函数进行查找,只能替换掉一个字符串,若主串(TextBox1)中含有多个要替换的字符串,则不能全部替换,当替换完第一个字符串时,可以将按钮的标题改为“下一个”,单击该按钮,重新执行一次查找和替换。当变量i的值小于等于0时,表示全部替换完毕。“多个函数”按钮的事件过程修改如下。
i = InStr(TextBox1.Text,TextBox2.Text) If i > 0 Then k = i + Len(TextBox2.Text) TextBox4.Text = Microsoft.VisualBasic.Left(TextBox1.Text,i -1) + TextBox3.Text + Mid(TextBox1.Text,k) Button1.Text = "下一个" TextBox1.Text = TextBox4.Text Else MsgBox("全部替换完!") Button1.Text = "多个函数" End If
试一试
1.编写一个程序,具有以下功能:在文本框中输入书名后单击“添加”按钮,如果书名中含有“计算机”三个字,将书名列在左面的标签中,否则列在右面的标签中。然后清除文本框中的内容,并将插入点重置于文本框中,界面如图2-8“书名”程序界面所示。
图2-8 “书名”程序界面
提示
① 判断书名是否含有“计算机”三个字的表达式为
TextBox1.Text Like "*计算机*"
② 将文本框中的书名添加到标签Label2中的语句是
Label2.Text = Label2.Text & vbCrLf & TextBox1.Text
拓展:如果要判断书名中不含“计算机”三个字,应如何编写程序?
2.编写一个程序,其窗体上有2个文本框和1个标签,当在左面的文本框中输入一个字符,在右面的文本框中立即显示出该字符,并将该字符插入最前面。同时在窗体的标题栏上显示出共输入了几个字符。例如,依次输入字母a、b、c,在右面的文本框中依次显示:a、ba、cba,在标签栏上先后显示:输入了1个字符、输入了2个字符、输入了3个字符。如图2-9“倒序的字符”程序界面所示。
图2-9 “倒序的字符”程序界面
提示:在文本框的KeyPress事件过程中编写程序,用e.KeyChar获得当时按键的字符。