(1)在考生文件夹下有一个工程文件sjt3.vbp。程序运行后,单击“读入数据”按钮,可将考生文件夹下in3.txt文件中的所有英文单词读入,并在Text1文本框中显示;单击“插入列表框”按钮,则按顺序将每个单词作为一项添加到List1列表框中(如图所示)

admin2019-06-24  25

问题 (1)在考生文件夹下有一个工程文件sjt3.vbp。程序运行后,单击“读入数据”按钮,可将考生文件夹下in3.txt文件中的所有英文单词读入,并在Text1文本框中显示;单击“插入列表框”按钮,则按顺序将每个单词作为一项添加到List1列表框中(如图所示)。
    在in3.txt文件中,每个单词之间用一个空格字符隔开,最后一个单词的后面没有空格。已经给出了所有控件和程序,但程序不完整。
    要求:请去掉程序中的注释符,把程序中的?改为正确的内容,使其能正确运行,但不能修改程序中的其他部分和控件属性。最后用原来的文件名保存工程文件和窗体文件。
            
    (2)在考生文件夹下有一个工程文件sjt4.vbp,窗体上已经添加所有控件,如图所示。在程序运行时,如果单击“开始”按钮,则每隔0.1秒窗体上的汽车图标向右移动一次(初始状态下不移动);如果单击“停止”按钮,则停止移动。
  请完成以下工作:
        
    ①设置适当控件的适当属性,使得每0.1秒汽车图标向右移动一次,而初始状态下不移动。
    ②请去掉程序中的注释符,把程序中的?改为正确的内容。
    ③为两个命令按钮编写适当的事件过程,最后以原文件名存盘。
    注意:不得修改已经给出的程序。编写事件的过程中不能使用变量,每个事件过程中只能有一条语句。

选项

答案(1)【操作步骤】 步骤1:打开本题工程文件。 步骤2:打开代码编辑窗口,去掉程序中的注释符“*”,将问号改为正确的内容。 参考答案(画线部分是需考生填入的内容) Private Sub Commandl_Click() Dim st $.ch $ Open App.Path &"\in3.txt"For Input As#1’打开文件 Do While Not EOF(1)’文件指针是否到达文件末尾 Input#1,ch’达到文件末尾返回true,否则返回false st=st&ch’将读出的数据加到原有数据末尾 Loop Close#1’关闭文件 Text1=st’将内容显示在文本框中 End Sub Private Sub Command2_Click() Dim St$,word$,c$ st=Text1 n=Len(st) For k=1 To n c=Mid(st,k,1)’从st中依次取出1个字符进行比较 If c<>""Then word=Word&c Else List1.AddItem word word=""’将word清空,为下一次作准备 End If Next List1.AddItem Word End Sub 步骤3:调试并运行程序,关闭程序后按题目要求存盘。 (2))【操作步骤】 步骤1:打开本题工程文件,设置计时器Interval的属性为100,将Enabled属性设置为False。 步骤2:打开代码编辑窗口,在指定位置编写如下代码。 参考答案 Private Sub Timer1_Timer() P1.Left=P1.Left+20 End Sub ’需要考生编写的内容 Private Sub C1_Click() Timer1.Enabled=True End Sub Private Sub C2_Click() Timer1.Enabled=False End Sub 步骤3:调试并运行程序,关闭程序后按题目要求存盘。

解析 (1)本题首先要从文件中读入数据,再逐一检查文本框中每一个字符,如果发现空格则将其之前或两个空格之间的字符串作为一个单词用AddItem方法添加到列表框中。循环语句的上限为Len(st),赋值给变量n,判断语句的判断条件应为Mid(st,k,1)<>””,其中st=Text1.Text。每添加一个单词后清空变量word,将所取字符的起始位置加1,再次执行循环得到下一个单词。
    (2)首先通过计时器的Interval和Enabled属性设置计时器每次改变的时间间隔和计时器是否可用,根据题意,在初始状态下Enabled属性设置为False,在计时器的Timet事件过程中,通过图片框的Left属性值的改变来实现自左向右移动的功能。在“开始”按钮的单击事件过程中应启用计时器,在“停止”按钮的单击事件过程中必须停止计时器。
转载请注明原文地址:https://kaotiyun.com/show/kqUp777K
0

最新回复(0)