第11章 使用activex服务器组件

上传人:kms****20 文档编号:40333576 上传时间:2018-05-25 格式:DOC 页数:21 大小:623KB
返回 下载 相关 举报
第11章 使用activex服务器组件_第1页
第1页 / 共21页
第11章 使用activex服务器组件_第2页
第2页 / 共21页
第11章 使用activex服务器组件_第3页
第3页 / 共21页
第11章 使用activex服务器组件_第4页
第4页 / 共21页
第11章 使用activex服务器组件_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《第11章 使用activex服务器组件》由会员分享,可在线阅读,更多相关《第11章 使用activex服务器组件(21页珍藏版)》请在金锄头文库上搜索。

1、第第 11 章章 使用使用 ActiveX 服服务务器器组组件件ASP 真正的威力在于它用组件扩展其功能的能力。这些功能包括文件管理、广告轮换 等,实际上,前一章中讨论的数据库管理也是服务器上的一套组件。基于组件开发项目的 思想是你不必自己编写每一件东西,而是可以利用别人编写的部件(组件) ,并将它们的功 能添加到自己的项目中。在 ASP 编程中,脚本编程语言只提供了内部对象和功能,其他需 要的每一项功能都必须由组件提供。 当你安装好 ASP 使用环境后,就可以使用一些它附带的组件,你还可以从 Internet 上 下载无数的组件。你甚至可以创建自己的组件。 本章主要讨论以下内容: 文件访问组

2、件 广告轮播组件 浏览器信息组件 内容链接组件 创建自己的组件 通过本章的学习,能让你成功地使用组件进行工作。11.1 文件访问ASP 提供了 FileSystemObject 对象用于获得对文件、文件夹和驱动器的访问。使用 FileSystemObject 对象,可以创建 File、Folder 和 Drive 对象,分别用来代表计算机上 的文件、文件夹和驱动器。每一个对象都有一些属性和方式来完成所需的任务。11.1.1 使用文本文件使用文本文件可以方便地记录一些少量的信息或者记录一些没有格式要求的信息。如 网页的点击次数等。1. 创建新文件要创建新文件,首先要使用 Server 对象的 C

3、reateObject 方法创建文件系统对象 (FileSystemObject) ,再用文件系统对象的 CreateTextFile 方法创建文本流文件 (TextStream) ,其后就可以使用该对象上的写方法写入一些内容,写完后用 close 方法关 闭这些对象,最后释放这些对象。 最简单的创建一个新文件并写入一些内容的方式如例 11-1 所示: 【例 11-1】创建一个文本文件为了验证本例中的代码,首先应使用任一文本编辑器输入代码,以 asp 作为扩展名存 放到指定目录中,启动浏览器后输入地址。完成后可通过文本编辑器打开 C 盘根目录下 asp.txt 文件,观察写入的内容。 代码中,

4、第 2 行通过服务器对象创建一个文件系统对象(FileSystemObject)objRS。 第 3 行通过执行文件系统对象的 CreateTextFile 方法,建立一个文本文件对象,并打开一 个新建的文本文件。CreateTextFile 方法完整格式为: Set 文件变量名=CreateTextFile(文件路径,覆盖方式,编码方式) 其中,文件路径是必须的,它指出要创建文件所在的目录路径及文件名。注意参数使 用的是服务器上的物理路径,如果要得到某虚拟目录下的文件的物理路径,需要使用 Server 对象的 MapPath 方法。 覆盖方式是可选的,默认为 TRUE,表示如果存在同名的文件

5、,则覆盖该文件,即删除 原来的文件内容,创建新的文件,若设置为 FALSE,则当存在同名文件时会返回错误信息。编码方式是可选的,默认为 FALSE,表示使用 ASC 码形式进行创建和保存。如果选择 TRUE,将以 Unicode 方式创建和保存。 代码中第 4 行向文件中写入一行内容为“hello,world!” 。向文件中写入内容的方法主 要有如下几种: write(字符串):将一个字符串写入文本文件,但不换行。 writeLine(字符串):将一个字符串写入文本文件,并随后写入一个换行符。字符串缺 省时,表示只写入一个换行符。 WriteBlankLines(n):写入 n 个换行符。 代

6、码中第 5 行使用文本文件对象的 close 方法关闭文本文件。第 6 行撤消文本文件对 象,第 7 行撤消文件系统对象。2. 读取文件要读取文件中的数据,首先需要用文件系统对象的打开文本文件(OpenTextFile)方 法来创建一个 TextStream 对象,再用该对象的有关 read 或 readline 方法来对文件进行读 取操作。 【例 11-2】读取文件内容 “loopobjTextS.Closeset objTextS=Nothingset objFS=nothing%为了验证上述代码,需要输入并保存成 asp 文件到指定目录中,启动浏览器,输入网 页地址后,可得到如图 11-

7、1 所示结果。图 11-1 读出文件内容代码中在第 2 行创建文件系统对象后,第 3 行通过执行文件系统对象的 OpenTextFile 方法,建立文本文件对象并打开一个文本文件。OpenTextFile 方法的完整格式为: Set 文件变量=objFS.OpenTextFile(文件路径,打开方式,创建选项,编码方式) 其中:打开方式是可选参数,指出打开该文件是用来进行读、写还是追加。默认为 1 表示读,设置为 2 时表示进行写操作,8 表示进行追加操作。 创建选项是可选参数,默认为 False,当设为 TRUE 时,表示若该文件不存在,创建该 文件。 格式中的“文件路径”和“编码方式”的含

8、义与 CreateTextFile 方法的相应参数相同。代码中第 4 行用 do while 循环首先用文本文件对象的 AtEndOfStream 属性判断文件是 否结束。在对文件进行读时,可以利用文件变量的以下各属性,来决定是否要继续读取文 件内容: AtEndOfLine 表示当前是否处于行末。 AtEndOfStream 表示当前是否处于文件结束位置。 Column 用于返回当前字符的列号,第一个字符的列号为 1。 Line 用于返回当前行处于文件中的第几行。 代码中第 5 行从文件中读入一行,第 6 行输出该行内容。要从文本文件中读取数据, 一般可选用以下方法: Read(n) 从文本

9、文件中读取 n 个字符。VBScript+ASP 动态网页制作 220 ReadLine 用于从文本文件中读取给定行号的一行内容。 ReadAll 用于读取文件的所有内容。 Skip(n) 跳过 n 个字符 SkipLine(n) 跳过 n 行。 代码中第 7 行继续循环,以后各行依次关闭文件,撤消对象。3. 文件中追加数据要向已经存在的文件中添加内容,可以使用添加方式打开文件,即在上述打开文件的 方法中选择打开方式为 8。其后就可以象创建文件时那样写入内容了。以下是在前面创建 的文件中写入内容的一个例子。 【例 11-3】本例中使用缺省方式,当指定文件不存在时,不创建文件,这样打开文件操作将

10、返回 错误信息。因此,在使用本例前,应先执行例 11-1 的脚本。本例脚本执行完后,可通过运 行例 11-2 中的脚本来观察结果,显示形式如图 11-2 所示。也可直接使用其它编辑程序打 开文件“C:asp.txt”观察结果。第 11 章 ActiveX 组件使用 221 图 11-2 添加内容后的文本文件11.1.2 文件夹对象通过文件系统对象的 GetFolder 方法,可以创建文件夹对象,形式为:set 文件夹变量=文件系统对象.GetFolder(“目录名”) 这里的目录名使用物理路径的形式,如果要为某个虚拟目录建立文件夹对象,可以先 使用 Server 对象的 MapPath 方法来

11、求出对应的物理路径。 创建文件夹对象后,就可以使用该对象的 name 属性求出该文件夹的名称,用 Files 集 合求出该文件夹中包含的所有文件,用 SubFolders 集合得到该文件夹中所包含的所有子文 件夹。还能使用 Attributes、DateCreated、DateLastAccessed、DateLastModified 等属 性求出文件夹的“文件属性” 、 “建立日期和时间” 、 “最后访问日期和时间” 、 “最后修改日 期和时间”等内容。还可以使用 Copy 方法、Delete 方法和 Move 方法进行复制、删除和移 动操作。以下作为一个例子来显示 C 盘根目录中所有文件和

12、文件夹。 【例 11-4】显示 C 盘根目录中所有文件和文件夹 “next for each file in objFolder.Filesstr=file.namefor i=18 to len(str) step -1 str=str “nextfor i=7 to len(file.size) step -1str=str “nextResponse.write str “Response.write file.DateLastModified “end ifif (nLindex图 11-14 显示第一页 图 11-15 显示中间某一页 内容列表文件如下所示。第 11 章 Active

13、X 组件使用 233 L11_11.asp第一节 L11_11a.asp 第一节(续) L11_11b.asp 第二节 为了验证本例中的代码,你需要先建立一个名为 L11_11.txt 的内容列表文件,输入上 述三行内容,再将例 11-11 的代码中的前面部分替换成实际内容,分别形成 L11_11.asp、L11_11a.asp 和 L11_11b.asp 等文件,最后通过浏览器,显示结果如图 11- 14、图 11-15 所示。11.5 自制 ActiveX 服务器组件为了进一步的开发,我们有必要了解自己制作 ActiveX 服务器组件的一般方法。在许 多不同的编程环境中都可以制作 Acti

14、veX 服务器组件,但对于本课程来说,用 Visual Basic 来制作 ActiveX 服务器组件是最方便的,具体过程如下: 1)建立组件文件(动态链接库) 2)注册组件 3)在 ASP 文件中使用组件11.5.1 建立组件文件首先,打开 Visual Basic 5.0,在出现的初始窗口中,选择新建 ActiveX DLL,如图 11-12 所示。图 11-16 创建 ActiveX DLL单击工程资源管理器窗口中的工程 1,从属性窗口中将其改名为 MyPrj,再单击类模块 名(Class1),从属性窗口中将其改名为 Math。VBScript+ASP 动态网页制作 234 这样就确定了

15、以后在 ASP 网页中需要创建的组件名称了。形式为:Set obj=Server.CreateObject(“MyPrj.Math”) 其中:MyPrj 为工程名,而不是工程文件名,Math 为工程中类模块名,而不是类模块 文件名。尽管两者可以同名。 在类模块的代码窗口输入函数定义,这些函数在 ASP 文件中将作为所创建的对象的方 法使用,本例中以定义一个求两个数的最大公约数为例,输入以下内容:Public Function gcd(a, b)Dim rIf b = 0 Thengcd = aElser = a Mod bWhile r “) thenVBScript+ASP 动态网页制作 2

16、36 a=Request.form(“a“)b=Request.form(“b“)set obj=Server.createobject(“MyPrj.Math“)Response.write “调用自制组件“Response.write a & “和“ & b & “的最大公约数为“ & obj.gcd(a,b) & “set obj=nothingelse%请输入两个数:a=b=最后执行时,首先显示如图 11-21 所示,输入两个数值后,单击确定,显示如图 11- 22 所示画面。图 11-21 使用自制组件的初始显示 图 11-22 提交后的显示验证本例代码时,若系统给出第 6 行对象不支持该属性或方法,是因为 Createobject 拼 写错误,若给出建立对象失败,可能是制作组件时工程名称或类名称没有改成 MyPrj 和 Math,或者没有注册成功。若给出第 8 行对象不支持该属性或方法,是因为编写的类文件 中没有定义相同名称的函数。另外,当对自制组件修改后必须重新注册。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号