应用题 1. 在考生文件夹下有一个工程文件sjt5.vbp,包含了所有控件和部分程序。当程序运行时,单击“打开文件”按钮,则弹出“打开”对话框,默认目录为考生目录,默认文件类型为“文本文件”。选中in5.txt文件(如图1所示),单击“打开”按钮,则把文件中的内容读入并显示在文本框(Text1)中;单击“修改内容”按钮,则将Text1中的大写字母“E”、“N”、“T”改为小写,把小写字母“e”、“n”、“t”改为大写;单击“保存文件”按钮,则弹出“另存为”对话框,默认文件类型为“文本文件”,默认文件夹为考生文件夹,默认文件为“out5.txt”(如图2所示),单击“保存”按钮,则将Text1中修改后的内容存到out5.txt文件中。
   

   
【正确答案】【操作步骤】
   步骤1:打开本题工程文件。
   步骤2:打开代码编辑窗口,去掉程序中的注释符“'”,将问号改为正确的内容。
   参考答案(字体加粗部分是需考生填入的内容)
   Private Sub Command1_Click()
   Dim s As String
   CommonDialog1.Filter="所有文件*.*|文本文件|*.txt"设置过滤条件,过滤文件类型
   CommonDialog1.FilterIndex=2 '指定文件类型列表框中的值为所有文件
   On Error GoTo openerr '如果出错则转回openerr
   CommonDialog1.InitDir=App.Path '指定打开对话框中的初始目录为App.Path
   CommonDialog1.ShowOpen '显示打开对话框
   Open CommonDialog1.FileName For Input As #1 '打开指定文件
   Input #1,s '读取文件到s
   Close #1 '关闭文件
   Text1.Text=s's中记录了读取内容
   openerr:
   End Sub
   Private Sub Command2_Click()
   '考生需要编写的程序
   Dim ch As String
   Dim s As String
   Dim n As Long
   s=Text1.Text
   Text1.Text=""
   For n=1 To Len(s) '查找文本中的"E"、"N"、"T"、"e"、"n"、"t"并做相应的改变
   ch=Mid(s,n,1)
   If ch="E" Or ch="N" Or ch="T" Then
   ch=LCase(ch) '将大写字母转换为小写
   ElseIf ch="e" Or ch="n" Or ch="t" Then
   ch=UCase(ch) '将小写字母转换为大写
   End If
   Text1.Text=Text1&Ch
   Next n
   End Sub
   Private Sub Command3_Click()
   CommonDialog1.Filter="文本文件|*.txt|所有文件|*.*"
   CommonDialog1.FilterIndex=1 '指定文件类型列表框中的值为文本文件
   On Error GoTo openerr
   CommonDialog1.FileName="out5.txt" '所选文件默认名
   CommonDialog1.InitDir=App.Path
   CommonDialog1.Action=2 '显示另存为对话框
   Open CommonDialog1.FileName ForOutput As #1
   Print #1,Text1
   Close #1
   openerr:
   End Sub
   步骤3:调试并运行程序,关闭程序后按题目要求存盘,如图所示。
   
【答案解析】[考点] 本题考点有:文件操作,通用对话框的InitDir、FiherIndex、Filter和Action属性,通用对话框的ShowOpen方法,For循环语句,If判断选择语句,App.Path相对路径,Mid()函数,Len()函数,Ucase()函数以及Lcase()函数。
打开文件的命令是Open,其常用形式为:
   Open"文件名"For模式As[#]文件号[Len=记录长度]
   模式有Output(打开文件,对其进行写操作)、Input(打开文件,对其进行读操作)以及Append(打开文件,在文件末尾追加记录)。
   通过通用对话框的InitDir、FilterIndex、Filter、Action属性设置对话框,并且通过ShowOpen方法打开对话框。运用For循环语句和If判断选择语句寻找字母,并按照要求使用大小写转换函数实现大小写的转换。