问题 问答题

在名称为Form1的窗体中画三个命令按钮(名称分别为Command1、Command2和Command3,标题分别为“显示”、“统计”和“保存”),然后画一个文本框(名称为Text1,MultiLine属性设置为True,ScrolIBars属性设为2),如下图所示。

程序运行后,如果单击“显示”,则读入程序中的文本,并在文本框中显示出来,如下图所示。

如果单击“统计”,则统计文本框中ASCⅡ码大于等于70而小于等于100的字符的个数,并把结果在文本框中显示出来,如下图所示。

如果单击“保存”按钮,则把统计结果存到文件中。

注意:结束程序前必须用“保存”按钮将统计结果保存到文件中,否则没有成绩。最后必须用原文件名存盘。

答案

参考答案:

第一步:启动Visual Basic,打开考生文件夹下的工程文件T506.vbp。

第二步:单击工具箱,拖拉出一个文本框、三个命令按钮置于Form1上,属性设置如下:文本框的MultiLine属性设为True,ScrolIBars属性选择2,三个命令按钮的Caption属性分别为“显示”、“统计”和“保存”,其余均采用默认设置。

第三步:窗体设计完毕后,双击窗体中的任何位置,进入代码编辑窗口,编辑代码如下:

1 Dim sen0 As String

2 Dim sen As String

3 Private Sub Command1_Click()

4 Open App.Path&"\inzhyy10.txt"For Input As #l

5 Line Input #1,sen0

6 sen=sen+sen0

7 Close #1

8 Me.Text1.Text=sen

9 End Sub

10 Private Sub Command2 Click()

11 Dim n As Integer

12 Dim oldSen As String

13 Dim ch As String

14 oldSen=Text1 Text

15 strlen=Len(oldSen)

16 For i=1 To strlen

17 ch=Mid(oldSen,i,1)

18 If Asc(ch)>=70 And Asc(ch)<=100 Then

19 n=n+1

20 End If

21 Next i

22 Text1.Text=Me.Text1.Text+Str(n)

23 End Sub

24 Private Sub Command3_Click()

25 Open App.Path&"\outzhyy10.txt"For Output As #1

26 Write #1,Me Text1 Text

27 Close #1

28 End Sub

第四步:编写完毕,调试无误后,以原文件名保存到原文件夹下。

解析:

本题要求考生编写三个按钮的Click事件过程,三个代码的功能分别为:读取数据,统计数据以及保存数据。

Command1的Click事件为“显示”,即读文件并显示在文本框中的一个过程。待读的文本是一个多行文本,故我们一行行读入后赋给一个字符串变量,最后将此字符串变量赋给文本框的Text属性,具体代码为:

1 Open App Path&"\inzhyy10.txt"For Input As #1

2 Line Input #1,sen0

3 sen=sen+sen0

4 Close #1

5 Me.Text1.Text=sen

Command2的Click事件为统计读入的字符中ASCⅡ码值大于等于70且小于等于100的字符个数,程序通过一个For循环对读入的各个字符逐一检查,最后统计出总个数。具体核心代码为:

1 For i=1 To strlen

2 ch=Mid(oldSen,i,1)

3 If Asc(ch)>=70 And Asc(ch)<=100 Then

4 n=n+1

5 End If

6 Next i

Command3的Click事件为保存,即将文本框的内容写入文件,经过多次训练,这对于考生来说应该很简单,代码为:

1 Open App.Path&"\outzhyy10.txt"For Output As #1

2 Write #1,Me.Text1.Text

3 Close #1

这里我们采用了Write #语句。

单项选择题
多项选择题