问题 问答题

[说明]
下图是一个简易文本编辑器程序的运行界面:


用户打开磁盘上的某个文件后,可以直接对文本进行编辑,也可以利用界面提供的按钮完成相应操作。主要操作介绍如下:
(1)打开文件:打开文件对话框,其中仅显示“*.txt”类型的文件。用户选中某一文件后,其内容将呈现于界面文本框内;
(2)查找:提示用户输入要查找的内容,将首次出现的查找内容以蓝色高亮标记;
(3)替换:若文本框中已选中某段文本,则提示用户输入要替换的内容,在文本框中完成替换。
在开发过程中,文本框名为Text1,“打开文件”、“保存文件”、“查找”、“替换”、“退出”按钮分别命名为Command1至Command5。
[Visual Basic代码]
Dim fileName As String
Dim fso As New (1) , ts As Object
’打开文本文件
Private Sub Command1_Click()
CommonDialog1.Filter = "*.txt"
CommonDialog1.ShowOpen
fileName = (2) ’保存所打开的文件名
Set fso=CreateObjeet("Scripting.FileSystemObject")
Set ts=fso.OpenTextFile(fileName, ForReading)
If Not ts.AtEndOfStream Then
Text1.Text = (3)
End If
ts. Close
End Sub
’保存文本文件
Private Sub Command2_Click()
Set ts = fso.OpenTextFile(fileName, ForWriting)
(4)
ts.Close
End Sub
’查找字符串
Private Sub Command3_Cliek()
Dim search As String, position As Integer
search = InputBox("输入要查找的字符串:")
position = InStr(Text1.Text, search) ’在文本中查找字符串
If position >0 Then ’若找到指定的字符串
Text1.SelStart = position - 1 ’设置选定文本的起始位置
Text1.SelLength = Len(search) ’设置选定文本的长度
Else
MsgBox "没有发现要查找的字符串"
End If
End Sub
’替换选中的字符串
Private Sub Command4_Click()
Dim object As String
If (5) >0 Then’若已经选中了要替换的文本
object = InputBox("输入要替换的字符串:")
Text1.SelText = object ’替换文本
Else
MsgBox "请先选中要替换的文本!"
End If
End Sub
’退出程序
Private Sub Command5_Click()
End
End Sub

答案

参考答案:(1) FileSystemObject (2) CommonDialog1.filename (3) ts.ReadAll (4) ts. Write Text1.Text
(5) Text1.SelLength

解析: (1)FSO对象的声明格式是:Dim对象名 As New FileSystemObject;
(2)文件对话框中选中的文件名称(含磁盘路径)包含在filename属性中;
(3)此处要获取文件的全部内容,因此需用ReadAll方法读取整个文件;
(4)此处要将文本框内容Text1.Text更新至文件,应使用Write方法一次性写入;
(5)文本框中是否选定了内容可以根据属性SelLength (选定长度)是否为零来判断。

解答题
多项选择题