在考生文件夹下有一个工程文件sjt4.vbp,及其窗体文件sjt4.frm,窗体上有一个标签和一个文本框,控件及其属性均已设置完毕。现使用KeyPress事件编写一个口令程序,程序运行后,在文本框中输入口令.如果正确,则显示相应的信息,单击“确定”按钮后,将显示一行信息;如果口令不正确,则要求重新输入。3次输入的口令都不正确,则停止输入,并结束程序。程序运行的画面如下图所示。
要求:题目中所给的程序不完整,请读懂程序后将其补充完整,以原文件名保存。
试题源程序如下:
1 Private Sub Form Load( )
2 Text1.Text=""
3 Text1.FontSize=10
4 Label1.FontSize=12
5 Label1.FontBold=True
6 Label1.Font0="隶书"
7 Label1.Caption="请输入口令..."
8 End Sub
9 Private Sub Text1_KeyPress(KeyAscii As Integer)
10 Static PWord As String
11 Static Counter As Integer
12 Static Numberftries As Integer
13 Numberftries=Numberftries+1
14 ’If Then End
15 Counter=Counter+1
16 ’PWord=PWord+
17 KeyAscii=0
18 Text1.Text=String$(Counter,"*")
19 If LCase$(PWord)="abcd"Then
20 Text1.Text=""
21 PWord=0
22 MsgBox"口令正确, 继续..."
23 Counter=0
24 Print "continue..."
25 ’Else If Then
26 Counter=0
27 PWord=""
28 Text1.Text=""
29 MsgBox"口令不对,请重新输入"
30 End If
31 End Sub
参考答案:
第一步:启动Visual Basic,打开考生文件夹下的工程文件sjt4.vbp。
第二步:双击窗体中的命令按钮,进入代码编辑窗口,对确定按钮的单击事件进行代码编辑如下:
1 PriVate Sub C1_Click( )
2 If Op1.Value=True Then
3 Text1.Text="需要1小时"
4 Else If Op2.Value = True
Then
5 Text=1.Text="需要10小时"
6 Else
7 Text1.Text="需要15小时"
8 Enci If
9 End Sub
第三步:填写完毕,调试成功后,以原文件名保存。
解析:
本题主要考查对单选按钮的操作和选择结构程序的运用。
单选按钮的一个重要属性是Value属性,该属性用来决定是否选中了该选项。若此属性值为True,代表该选项被选中,否则,代表该选项没有被选中。一般系统默认值为False。
条件语句也称为If语句,它有两种格式,一种是单行结构,一种是块结构。单行条件语句比较简单,其格式为:If条件Then then部分[Else else部分]。块结构条件语句以If开头,以End If结束,中间有多个else if分支.可以用于对多个不同条件进行比较判断,从而执行对应的语句。
在本题中主要是通过对每个单选按钮的选中与否进行判断,也就是对单选按钮的Value属性值进行判断,当某一个单选按钮的Value属性值为真时,在文本框中显示对应的信息。
在本题所给出的一段程序中,是在窗体的Unload事件中对文件进行写操作,写入最后一次执行后各个单选按钮的Value值和文本框中的信息。首先用Open语句打开文件名为out4.txt的文件,然后用Print#语句将对应的字段写入该文件中。窗体的Unload事件用来清除内存中指定的窗体,当关闭窗体或执行Unload语句时触发该事件。将文件的写操作放在这个事件,因此在程序运行并执行了某个操作后,关闭窗口将触发该事件,也就将这次执行后的情况写入指定文件中。这也是本题最后所给的两点要求的原因。