程序窗体如图6-8,由于窗体比较简单,无需修改更多的属性,一共有三个文本框(Text1到3),分别用来显示输入字符,显示把空格换成星号的字符,和经过处理的字符,还有三个无线钮(Option1到3),要修改的只有Caption属性,分别是“删除左边的空格”、“删除右边的空格”和“删除两边的空格”。因为空格在我们在文本框中无法看到空格,所以我们通过一个称作AddStar的函数把原有字符串中的空格转换为星号,使我们能够看到函数的效果。下面在程序中添加代码,首先在General中声明窗体级变量:
Dim LTrimmedword$, RTrimmedword$ 删除左边空格和右边空格后的字符串
Dim LRTrimmedword$ 删除两边空格后的字符串
然后,我们通过一个叫做addstar的函数为字符串加上星号,以前曾说过函数与过程的分别,函数会返回一个函数值,所以addstar也就相当于一个变量,其实这很好理解,就象中学代数中的函数,函数就相当于变量Y,而函数中的参数则相当于自变量X,当然可能有很多自变量X1、X2……请原谅,我并不想在这里上数学课,因为我厌恶那玩意儿,特别是上了大学之后,好在大二以后就再也不会有数学课了,哈哈……
Function addstar(tempword As String) As String
Dim charindex% Dim pasteword$ 加星号后的字符串 For charindex = 1 To Len(tempword)
If Mid(tempword, charindex, 1) = \" \" Then 如果字符为空格
pasteword = pasteword + \"*\"
Else: pasteword = pasteword + Mid(tempword, charindex, 1) End If
Next addstar = pasteword 返回函数值
End Function
下面的代码很简单,并且我为它做了注释,就不再一一解释了,我只想简要的提几句,Ltrim和Rtrim只有一个参数(字符型),另外下面用到了焦点事件,我们曾在第三章中介绍过,当Text1得到焦点(GotFocus)时,清空所有的文本框,当它失去焦点(LostFocus)时,对字符进行addstar并且在Text2中显示。
Private Sub Text1_GotFocus() 但焦点于Text1
清除所有文本框中的字符 Text1.Text = \"\" Text2.Text = \"\" Text3.Text = \"\"
End Sub
Private Sub Text1_LostFocus()
Dim Origionword As String Origionword = Text1.Text Text2.Text = addstar(Origionword) LTrimmedword = addstar(LTrim(Origionword)) RTrimmedword = addstar(RTrim(Origionword)) LRTrimmedword = LTrim(RTrim(Origionword))
End Sub
Private Sub Option1_Click()
Text3.Text = LTrimmedword 显示删除左空格后的字符串
End Sub
Private Sub Option2_Click()
Text3.Text = RTrimmedword 显示删除右空格后的字符串
End Sub
Private Sub Option3_Click()
Text3.Text = LRTrimmedword 显示删除两边空格后的字符串
End Sub
最后结果如图6-9。
与无线钮相对的是检查框,在同一范围内一组无线钮只能有一个被选中,而检查框则可以有多个选择,就象在添表时,性别那项只能有一个选择,而在描述你以前的职业时可以有学生、程序员、家庭教师或者什么,总之有很多选择,下面我们举一个简单的例子加以说明。
假设编写了一个共享软件,在让用户注册的时候你想知道你的用户使用的计算机情况,你就需要一个调查表,为了使这个调查表不止枯燥,可以在这个程序中加入一些图形。新建一个项目文件,窗体布局如图6-10。
程序很简单,一共有两个框架(Frame1和Frame2),它们的Caption分别为“选择你的计算机拥有的配置”和“这是你的计算机系统”,在Frame1有四个检查框(Check1到Check4),Caption分别为“网络系统”、“鼠标”、“密码保护”和“电子邮件”,另把Check4的Enabled属性改为False,使其无效;在Frame2中放置四个图片框(Picture1到Picture4)与四个检查框向对应,请把所有图片框的BorderStyle属性设为0(无边框),它们的Picture属性请根据上图,在存放图标的目录中找到相对的图标。下面是程序代码:
Private Sub Check1_Click()
If Check1.Value Then
Check4.Enabled = -1 Picture1.Visible = -1
Else: Check4.Enabled = 0 Picture1.Visible = 0 Check4.Value = 0 Picture4.Visible = 0
End If
End Sub
Private Sub Check2_Click()
If Check2.Value Then
Picture2.Visible = -1
Else: Picture2.Visible = 0
End If
End Sub
Private Sub Check3_Click()
If Check3.Value Then
Picture3.Visible = -1
Else: Picture3.Visible = 0
End If
End Sub
Private Sub Check4_Click()
If Check4.Value Then
Picture4.Visible = -1
Else: Picture4.Visible = 0
End If
End Sub
这个程序比我们见过的任何程序都简单,就不再做说明。 |