下面出现的“考生文件夹”均为c:\wexam\25160001。 在考生文件夹中有工程文件sjt5.vbp及其窗体文件sjt5.frm,该程序是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即’号)但不能修改其他部分。存盘时不得改

admin2009-02-25  18

问题 下面出现的“考生文件夹”均为c:\wexam\25160001。
    在考生文件夹中有工程文件sjt5.vbp及其窗体文件sjt5.frm,该程序是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即’号)但不能修改其他部分。存盘时不得改变文件名和文件夹。
   本题描述如下:
   在名称为Form1的窗体上有一个文本框,名称为Text1,MuitiLine属性为True,ScrollBars属性为2,两个命令按钮,名称分别为Cmd1和Cmd2,标题分别为“读入数据”和“排序显示保存”,如图4-6所示。程序运行后,如果单击“读入数据”按钮,则读入“in.txt”文件中的100个整数,放入一个数组中(数组下界为1):如果单击“排序显示保存”按钮,则对这100个整数按从小到大进行排序,把排序后的全部数据在文本框Text1中显示出来,然后存入考生文件夹中的文件“result.txt”中(在程序中的标准模块prog.bas过程可以把指定个数的数组元素存入result.txt文件)。
   注意:文件必须存放在考生文件夹下,窗体文件名为sjt5.frm,工程文件名为sjt5.vbp,排序结果存入 result.txt文件,否则没有成绩。

选项

答案在窗体上建立好控件后,先设置控件属性,再编写事件过程。 文本框显示的内容由Text属性设置:按钮的标题由Caption属性没置,单击命令按钮触发Click事件:在本题中涉及到文件的操作,读入顺序文件以顺序的方式打开,用Input#语句读取数据,另外需要注意的是对文件操作完后,一定要关闭文件。解题步骤: 第一步:建立界面并没置控件属性。程序中用到的控件及其属性见表4-4。 [*] 第二步:编写程序代码。 程序提供的代码。 标准模块代码: Sub putdata(a() As Integer, n As Integer) Dim sFile As String sFile = "\result.txt" Open App. Path& sFile For Output As #1 For i = 1 To n Print #1, a(i) ; Next Close #1 End Sub 窗体代码: Option Explicit Dim i(1 To 100) As Integer Private Sub Cmd1_Click() Dim j As Integer Open "in.txt" For Input As #1 For j = 1 To 100 ’ ? #1, i(j) Text1.Text = Text1.Text & i(j) & Space(5) Next Close #1 End Sub Private Sub Cmd2_Click() Dim j As Integer Dim k As Integer Dim temp As Integer Dim flag As Boolean For j = 1 To 100 ’flag = ? For k = 1 To 100 - j If i(k) > i(k + 1) Then temp = i (k) i(k) = i(k + 1) i(k + 1) = temp flag = True End If Next If Not flag Then Exit For End If Next ’Text1.? = "" For j = 1 To 100 Text1.Text = Text1.Text & i(j) & Space(5) Next putdata i, 100 End Sub 参考代码: Option Explicit Dim i(1 To 100) As Integer Private Sub Cmdl Click() Dim j As Integer Open "in.txt" For Input As #1 For j = 1 To 100 Input #1, i(j) Text1.Text = Text1.Text & i(j & Space(5) Next Close #1 End Sub Private Sub Cmd2_Click() Dim j As Integer Dim k As Integer Dim temp As Integer Dim flag As Boolean For j = 1 To 100 flag = False For k = 1 To 100 - j If i(k) > i(k + 1) Then temp = i (k) i(k) = i(k + 1) i(k + 1) = temp flag = True End If Next If Not flag Then Exit For End If Next Text1.Text = "" For j = 1 To 100 Text1.Text = Text1.Text & i(j) & Space(5) Next putdata i, 100 End Sub 第三步:调度并运行程序。 第四步:按题目要求存盘。

解析
转载请注明原文地址:https://jikaoti.com/ti/COq0FFFM
0

最新回复(0)