在考生文件夹下有一个工程文件sj5.vbp,其窗体上有两个文本框,名称分别为Textl和Text2,Text2可以多行显示;有一个名称为Commonl的通用对话框;有3个命令按钮,名称分别为Commandl、Command2和Command3,标题分别为“

admin2010-07-13  24

问题 在考生文件夹下有一个工程文件sj5.vbp,其窗体上有两个文本框,名称分别为Textl和Text2,Text2可以多行显示;有一个名称为Commonl的通用对话框;有3个命令按钮,名称分别为Commandl、Command2和Command3,标题分别为“打开文件”、“删除”和“保存”。程序运行时窗体界面如图26—5所示。
    命令按钮的功能是:单击“打开文件”按钮,弹出“打开文件”对话框,默认打开文件的类型为“TeXt Fites(*.txt)”。选择考生文件夹下的in5.txt文件后,该文件中的内容显示在Textl中;单击“删除”按钮,程序将把Textl中的所有与Text2中相同的字符串删除,并将结果显示在Textl中;单击“保存”按钮,把Textl中的内容存入考生文件夹下的out5.txt文件中。在窗体中已经给出了部分程序。

    注意:请去掉程序中的注释符“’”,把程序中的“?”改为正确的内容。但不能修改程序中的其他部分,也不能修改控件的属性。编写“删除”按钮的Click事件过程,最后把修改后的文件按原文件名存盘。考生不得修改已有的程序和控件的属性。必须对考生文件夹下的in5.txt文件进行转换,并把转换结果通过“保存’’按钮存入考生文件夹下的out5.txt文件中,否则无成绩。

选项

答案根据题意,将两个Text控件、3个Command控件和一个CommonDialog控件添加到窗体上,Text的名称分别为Textl和Text2、Text属性为空,Command的名称分别为Commandl、Command2和Command3,Caption属性分别为“打开文件”、 “删除,,和“保存”,其中CommonDialog控件需要选择“工程”→“部件’’命令,或在左侧工箱中单击鼠标右键,选择“部件”菜单,打开“部件,,对话框,将Microsoft Common Dialog Control 6.0前面的复选按钮钩上,单击“确定”按钮,则添加成功,再同其他控件一样添加到窗体上,其名称为Commonl。双击Commandl命令按钮,编写如下代码: Dim str As String Private Sub Commandl_Click() Dim tmp As String str="" Commonl.DialogTitle="打开" ’设置CommonDialog对话框标题 Commonl.InitDir=".\"’设置起始目录 Commonl.Filter="Text Files(*.txt)|*.txt" ’设置选取的文件类型 Commonl.FileName="" ’文件名为空 Commonl.ShowOpen’打开CommonDialog If Commonl.FileName◇""Then Open Commonl.FileName For Input As#1 ’如果文件存在则进行读取 While EOF(1)=False Input#1,tmp’判断是否读取完成 str=str+tmp’将读取的字符串放入str Wend End If Close#1 Textl.Text=str’在Textl中显示读取的字符串 End Sub Private Sub Command2_Click() Dim tmp As String Dim tel As String Dim i As Integer rel="" For i=1 To Len(str)-Len(Text2.Text) tmp=Mid(str.i,Len(Text2.Text)) ’读取其中的字符串 If Text2.Text=tmp Then’如果该段字符串与Text2输入的相同 tmp="" ’则将该段置为"" rel=rel+tmp i=i+Len(Text2.Text)-1 ’并向后移动Text2的长度减1位 Else rel=rel+Mid(tmp,1,1) End If Next i Textl.Text=tel’在Textl中显示修改后的字符串 End Sub Private Sub Command3_Click() Open"App.Path&\out5.txt"For Output As#1 Print#1,Textl.Text’将修改后的字符串写入文件中 Close#1 End Sub 单击[*]按钮运行程序,并按要求保存。

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

最新回复(0)