在考生文件夹中有工程文件sj5.vbp及其窗体文件sj5.frm,该程序是不完整的。在名称为Forml的窗体上有一个文本框,名称为Textl、MuItiLine属性为True、ScrollBars属性为2;两个命令按钮,名称分别为Commandl和Comm

admin2009-03-26  12

问题  在考生文件夹中有工程文件sj5.vbp及其窗体文件sj5.frm,该程序是不完整的。在名称为Forml的窗体上有一个文本框,名称为Textl、MuItiLine属性为True、ScrollBars属性为2;两个命令按钮,名称分别为Commandl和Command2、标题分别为“读取”和“排序保存”,如图18—5所示。程序运行后,如果单击“读取”按钮,则读入in.txt文件中的50个整数,放入一个数组中(数组下界为1);如果单击“排序保存”按钮,则对这50个整数按从小到大的顺序进行排序,把排序后的全部数据在文本框Textl中显示出来,然后存人考生文件夹的out.txt文件中。(考生文件夹下的标准模块mode5.
has中的writedata过程可以把指定个数的数组元素存入out.txt文件。)

    注意:请在有“?”的地方填入正确内容,然后删除“?”及代码前的所有注释符(即“’”号)但不能修改其他部分。文件必须存放在考生文件夹下,窗体文件名为si5.frm,工程文件名为si5.vbp,排序结果存入out.txt文件中,否则没有成绩。

选项

答案根据题意将一个文本框控件和两个命令按钮添加到窗体中,根据题意的要求设置属性,即文本框的名称为Textl,MultiLine属性为true,滚动属性为2,而两个命令按钮的控件的Caption属性分别为“读取”和“排列保存”,名称为Commandl和Command2,将mode5.has模板加入到工程中(右键单击工程名,然后选择进入modules(模板),选择mode5.has),模板的代码如下: Sub putdata(a()As Integer,n As Integer) Dim sFile AS String sFile="\out.txt" Open App.Path&sFile For Outpu!As#1 For i=1 To n Print#1,a(i); Next i Close#1 End Sub 双击Command1,进入代码编写窗Vl,采用边读取边排序的方法,一旦读取的数比某个位置n的数大,则n之后的数将向后移一个数,而将新读取的数放到n的位置上,代码如下: Option Explicit Dim i(1 To 50)As Integer Private Sub Commandl_Click() Dim j As Integer Open App.Path&"\in.txt"For Input As#1 For i=l TO 50 Input#1,i(j) Textl.Textm=Textl.Text&i(j)&Space(5) Next j Close#1 End Sub Private Sub Command2_Click() Dim j As Integer Dim k As Integer Dim ternp As Integer Dim[1ag AS Boolean For j=1 To 50 flag=False For k=1 To 50-j If i(k)temp flag=True End If Next k If Not flag Then Exit For End If Next j Text1.Text="" For j=1 To 50 Textl.Text=Textl.Text&.i(j)&Space(5) Next j putdata i,50 End Sub 单击[*]按钮运行程序,并按要求保存。

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

最新回复(0)