问答题 注意:下面出现的“考生文件夹”均为C:/wexam/25160002。 在考生文件夹下有一个工程文件sjt5.vbp在名称为Form1的窗体上画一个文本框,名称为Text1,允许多行显示:再画3个命令按钮,名称分别为C1、C2和C3,标题分别为“输入”、“转换”和“存盘”,如图26-5所示。请编写适当的事件过程,使得在运行时,单击“输入”按钮,则从考生文件夹中读入in5.txt文件(文件中只有字母和空格),放入Text1中;单击“转换”按钮,则把Text1中的所有小写字母转换为大写字母;单击“存盘”按钮,则把Text1中的内容存入out5.txt文件中。 注意:去掉程序中的注释符,把程序中的?改为正确的内容,考生必须把转换后的内容用“存盘”按钮存入out5.txt文件,否则无成绩。考生的工程文件以文件名sjt5.vbp存盘,窗体文件以文件名sjt5.frm存盘。
【正确答案】
【答案解析】[解析] 窗体上建立好控件后,先设置控件属性,再编写事件过程。
要使文本框允许多行显示,应将其MultLine属性设置为True。文本框的Text属性设置为空。命令按钮的标题通过Caption属性设置,单击命令按钮触发Click事件。
进行读文件的操作在“输入”按钮的Click事件过程中完成。将文件in5.txt以顺序文件输入方式打开,将读取的字符串赋值给文本框的Text属性。文件的操作一般按照如下步骤进行:
打开或建立文件;进行读/写操作;关闭文件。
要将字符串的小写字母转换成大写字母,可以有UCase函数实现。
UCase函数将小写字母转换成大写字母0。其语法格式为:
UCase(string)
string 不要参数为任何有效的字符串表达式。
只有小写的字母会转成大写:原本大写或非字母之字符保持不变。解题步骤:
第一步:建立控件并设置对象属性。程序中用到的控件及其属性见表26-5。
表 26-5
控 件
属 性
设置值
文本框 Name
Text
MultiLine
Text
空白
True
按钮 Name
标题
C1
"输入"
按钮 Name
标题
C2
"转换"
按钮 Name
标属
C3
"存盘"
第二步:编写程序代码。
程序所提供的代码:
Private Sub C1_Click()
Open App.Path & "/in5.txt" For Input AS #1
Do While Not EOF(1)
'Input #1, ?
Text1.Text = mystring
Loop
Close #1
End Sub
Private Sub C2_Click()
'Text1.Text = ?
End Sub
Private Sub C3_Click()
Open App.Path & "/out5.txt" For Output As #2
'Print #2, Text1.?
Close #2
End Sub
参考代码:
Private Sub C1_Click()
Open App.Path & "/in5.txt" For Input As #1
Do While Not EOF(1)
Input #1, mystring
Text1.Text = mystring
Loop
Close #1
End Sub
Private Sub C2_Click()
Text1.Text = UCase(Text1.Text)
End Sub
Private Sub C3_Click()
Open App.Path & "/out5.txt" For Output As #2
Print #2, Text1.Text
Close #2
End Sub
第三步:调试并运行程序
第四步:按题目要求存盘