在考生文件夹下在一个工程文件sj5.vbp,窗体上有一个菜单“编辑”,名称为Edit,下面有一个二级菜单,含两个菜单项,名称分别为Read和Search,标题分别为“读取”和“查找”。另有一个文本框,名称为Textl,内容为空;3个标签名称分别为Label

admin2009-08-26  24

问题 在考生文件夹下在一个工程文件sj5.vbp,窗体上有一个菜单“编辑”,名称为Edit,下面有一个二级菜单,含两个菜单项,名称分别为Read和Search,标题分别为“读取”和“查找”。另有一个文本框,名称为Textl,内容为空;3个标签名称分别为Labell、Label2与Label3,标题分别为“文件内容”、“查找结果”和“空”。要求考生编写适当的程序,实现下面描述的功能。
    本程序模拟Word中的查找功能,描述如下:程序运行时,如果单击“读取”菜单项,则把考生文件夹下的in5.txt文件中的数据读入到文本框Text:1中;如果单击“查找”菜单项,则弹出对话框,输人需要查找的内容,将查找到的个数显示到Label3中,并把个数存入out5.txt中。程序运行时的窗体界面如图67—5所示。

注意:考生不得修改程序控件及控件的属性,最后应把修改后的文件按原文件名存盘。

选项

答案InputBox()函数用于显示一个输入框,提示用户输入一个数据,该函数返回值默认为字符串类型,其常用语法格式为:InputBox(Prompt[,Title][,Default])。EOF()函数用来测试文件的结束状态,以避免在文件输入时出现“输入超出文件尾”的错误。对顺序文件来说,如果已经到文件末尾,则EOF函数返回True,否则返回False。 程序中先用Open语句打开文件in5.txt,然后用Input#语句读人数据存人到变量,将变量内容显示到文本框中;单击“查找”菜单项要实现的功能可用InputBox()函数、Len()函数、Mid()函数及For循环来完成。 根据题意,在菜单编辑器中添加一个主菜单,名称为Edit;Caption属性为“编辑”,在其下面添加两个子菜单,名称分别为Read和Search、Caption属性分别为“读取”和“查找”,内缩一位,再在Forml中添加3个标签和一个文本框控件,Lable的名称分别为Labell和Label2、Label3、Caption属性分别为“文件内容”、“查找结果”和“空”,文本框的名称为Textl、Text属性为空、MultiLine属性为True、ScrollBar属性为2。单击菜单自选项进入代码窗口,补充后的代码如下: Private Sub Read_Click() Dim str As String Dim tmp As String str="" Open"App.Path&\in5.txt"For Input As #1’打开文件准备读取 While EOF(1)=False ’利用Whille来保证完全读取文件 Input#1,tmp’每次读取到trap中 str=str+trap’将读到的数据放人字符串中 Wend Close#1 Textl.Text=str’在Textl中显示读取的内容 End Sub Private Sub Search Click() Dim trap As String Dim rets tr As String Dim i As Integer retstr=InputBox("输入要查找的字符串") For i=1 To Len(Textl.Text)-Len(retstr) tmp=Mid(Textl.Text,i,Len(retstr)) ’读取其中的字符串 If retstr=tmp Then’如果该段字符串与Text2输入的相同 total=total+1 End If Next i Open"App.Pathgc\out5.txt"For Output As#1’打开文件准备写人 Print#1,total Close#1 ’关闭文件 Label3.Caption=total End Sub 单击[*]按钮运行程序,并按要求保存。

解析
转载请注明原文地址:https://kaotiyun.com/show/uc1p777K
0

最新回复(0)