2024年4月5日发(作者:)

ASP 在线文本编辑器

在上个练习中我们制作了一个资源管理器,运行后可对程序所在目录中的文件

和文件夹进行浏览、新建和删除操作。本次练习以此为基础进行扩展,完成一个简

单的在线文本编辑器。即在资源管理器的文件列表中单击链接,然后在进入的页面

中对文本中的内容进行修改,最后并保存。

按照下列步骤来完成最终实例:

(1)打开“资源管理器”实例中的文件,找到显示文件名称的代

码“<%=%>”,将其修改为如下的代码:

<%=%>

(2)保存文件,上一步为文件名称添加了超链接,单击之后将转

向文件并指定file为要编辑的文本名称。在同一目录中以为命名创

建一个文件。

(3)作为编辑器,显示正在编辑的文件名称是很必要的。如下所示为在Edit.

asp文件中接收传递file值显示文件名称的代码,其中还提供了一个“关

闭窗口”链接。

文件名称:

<%

sFile=tring("File")

(sFile)

%>

width="144" align="left" >

class="STYLE3" >关闭窗口

(4)除了显示文件名,另一个重要的功能就是显示文件中的内容。这里要注

意,显示内容的位置同时也是编辑文件所在位置,这就要求内容是可读写的。如下

所示是定义好的表单代码,它包含一个多行文本域即可以显示也可以编辑文件内

容。

name="FORM1">


(5)在表单中有一“保存”按钮,单击它将触发表单的提交事件,将多行文

本域中的内容提交到文件处理,该文件也是它自身,因此也可称为自提交。

提交的方式为post,这就要求在处理时使用来获取内容。如下所示为

完成这些操作所需的ASP代码:

<%

Set fso = Object("stemObject")

action=tring("action")

Set ts = xtFile (h (sFile) , 1)

'如果是保存

If Action="save" then

Set ts = TextFile (h (sFile), 1)

("FileContent")

Set ts = xtFile (h (sFile) , 1)

PutMsg( "文件保存成功!")

end if

%>

(6)在上述的核心代码中,创建了FileSystemObject对象的实例fso,并通过

OpenTextFile或CreateTextFile方法创建TextStream对象的实例ts。使用之后,添加

如下代码释放内存。

<%

%>

Set fso = Nothing

Set ts = Nothing

(7)保存成功后会以对话框形式弹出,如图4-6所示为编辑文件的效

果。

图4-6 编辑文件效果

(8)如图4-6所示,在页面右侧列出了当前目录下的文件,如果单击文件名链

接可直接在页面中编辑其内容,读者可以根据上次练习独立完成。

(9)至此,最终实例就制作完成了。在最后介绍一下思路:首先读取用户所

选文件的文件名,然后使用FileSystemObject对象的OpenTextFile打开所选的文件,

并使用TextStream对象的ReadAll方法读取文件内容并将其显示在一个窗口中,在

用户编辑过文件内容之后,使用FileSystemObject对象的CreateTextFile方法以可覆

盖的模式创建一个同名文件,然后使用TextStream对象的Write方法将用户更新后

的文件内容写入新创建的文件中。这样,就实现了文件的保存。