在考生文件夹中有工程文件sis.vbp及其窗体文件sis.frm,该程序是不完整的,请在有“?”的地方填入正确内容,然后删除“?”及代码前的所有注释符(即“’”号),但不能修改其他部分。存盘时不得改变文件名和文件夹。
本题描述如下:
在名称为Form1的窗体上有一个文本框,名称为Textl,MultiLine属性为True,Scr01lBars属性为2;两个命令按钮,名称分别为Command1和Command2、标题分别为“读人数据”和“计算保存”,运行界面如图7-5所示。要求程序运行后,如果单击“读入数据”按钮,则读入in.txt文件中的50个整数,放入一个数组中(数组下界为1),同时在文本框中显示出来;如果单击“计算保存”按钮,则先进行升序排列,计算前25个数的和与后25个数的和之差,并把求得的结果在文本框Text2中显示出来,同时把该结果存入考生文件夹中的out.txt文件中。(在号生文件夹下的标准模块mode.bas中的writedata过程可以把结果存入指定的文件。)
注意:文件必须存放在考生文件夹下,窗体文件名为sj5.frm,工程文件名为sj5.vbp,计算结果存入out.txt文件,否则没有成绩。
件。本题涉及文件的操作,读入顺序文件以顺序的方式打开,用”Input#”语句读取数据。另外需要注意的是,对文件操作结束后,一定要关闭文件。
①建立界面并设置控件属性。程序中用到的控件及其属性如下表所示:
②打开工埕资源管理器,在其空白处右键添加模块pr09.bas(此文件已在考生文件夹里),模块代码
如下:
Option Explicit
Sub putdata(ByVal a As Long)
Dim sFile As String
sFile="\result.txt"
()pen App.Path&sFile For Output As#1
Print#1,a;
Close#1
End Sub
③打开工程资源管理器,右击窗体,选择查看代码项,在弹出的代码窗口输入代码如下:
Dim i(1 To 100)As Integer
Private Sub Cmd1 Click()
Dim j As Integer
j=0
Open App.Path&"\in.txt"For Input As#1
For j=1 To 100
Input#1,i(j)
Next j
Close#1
For j=1 To 100
Text1.Text=Text1.Text&i(j)&Space(5)
Next j
End Sub
Private Sub Cmd2 Click()
Dim sum As Long
Dim j.As Integer
sum=0
Text1.Text=""
For j=1 To 100
If i(j)>=400 And i(j)<800 Then
sum=sum i(i)
End If
Next j
Text1.Text=Text 1.Text&sum&Spaca(5)
putdata sum
End Sub
’标准模块代码
Option Explicit
Sub putdata(ByVal a As Long)
Dim sFile As String
sFile="\result.txt"
Open App.Path&sFiie For Output As#1
Print#1,a;
Close#1
End Sub
