完成下列问题:
考生文件夹下有一个工程文件sjt4.vbp,其中的窗体上已有如图4所示的控件。程序功能如下:
①单击“读数据”按钮,则将考生文件夹下in4.dat文件内容(该文件中仅含有字母和空格)显示在Text1文本框中。
②在Text1中选中部分文本,并单击“统计”按钮,则以不区分大小写字母的方式,自动统计选中文本中同时出现“o”、“n”两个字母单词的个数(如:million、company都属于满足条件的单词),并将统计结果显示在Text2文本框内。
在横线处填写正确的内容,以实现上述程序功能。
注意:考生不得修改窗体文件中已经存在的控件和程序,最后将程序按原文件名存盘。
[题目提供的源程序]
Dim s As String
Private Sub Command1_Click()
Open App.Patb & "\in4.dat" For Input As #1
s=Input(LOF(1),#1)
Close #1
Text1.Text=s
End Sub
Private Sub Command2_Click()
Dim m As Integer
If Len(s)= (1) Then
MsgBox "请先使用"读数据"功能!"
Else
If Text1. (2) =0 Then
MsgBox "请先选中文本!"
Else
t=""
For i=1 To Text1.SelLength
c=Mid(Text1.SelText,i,1)
If c<>"" Then
t=t+c
Else
x= (3)
If InStr(x, "o") <> 0 And InStr(x, "n") <> 0 Then
m=m+1
End If
t=""
End If
Next i
(4) =Str(m)
End If
End If
End Sub
参考答案:[操作步骤]
第1步:打开工程文件sjt4.vbp。
第2步:修改程序。
第3步:调试、运行并保存程序。
[1]0 [2]SelLength [3]LCase(t) [4]Text2
解析: 程序的思路是首先在Command1_Click中将文件内容读入到文本框Text1中。然后在Command2_Click中,使用Len()函数判断文本框中是否有字符,如果文本框中文本长度为0,则提示“请先使用‘读数据’功能!”;在已经读取文件内容的基础上,再检查是否已经选取了部分文字,利用文本框的SelLength属性可判断是否已选择了部分文字,如果SelLength的值为0,则提示“请先选中文本!”;在读入文字并选中部分文字的情况下再做单词的判断。分解单词时,从选取的文本内容中每次取一个字符,若该字符为空格字符,则说明空格前面的字符就是一个单词,否则将取出的一个字符连接到变量t中。找出一个单词后,用InStr()函数判断该单词是否同时含有字符“o”和“n”,题目要求不区分大小写,可以先将找到的单词统一转换为大写或小写再做检查。