第 7章 ASP中的 ActiveX组件
本章主要讲解:
什么是 ActiveX组件
常用的几个 ActiveX组件的使用方法
7.1 什么是 ActiveX组件
ActiveX 组件是一个存在于 WEB 服务器上的文
件,该文件包含执行某项或一组任务的代码,组件
可以执行公用任务,这样就不必自己去创建执行这
些任务的代码。
7.1 什么是 ActiveX组件
( 1) ActiveX控件
ActiveX控件可不依赖于其它任何控件而建立,
也可以被建立在另一个控件之上,或者可容纳多个
已经有的控件
7.1 什么是 ActiveX组件
( 2) ActiveX文档
当用户打开一个 ActiveX文档时,将不仅拥有应
用程序的全部功能,而且能保持和发布应用程序原
有数据的“备份”,因而,“文档”实际上是主动
的。
7.1 什么是 ActiveX组件
( 3)代码成分
组件是包含在动态链接库 (.dll) 或可执行文件
(.exe) 中的可执行代码。
要使用组件提供的对象,首先要创建对象的实例
并将这个新的实例分配变量名。
7.1 什么是 ActiveX组件
例如下面是创建一个 Ad Rotator 对象的实例,
< % Set MyAds = Server.CreateObject("MSWC.AdRotator") %>
7.2 广告轮显组件
7.2.1 创建广告轮显对象实例
Ad Rotator组件可以在 adroot.dll中找到
如下面的代码所示:
< OBJECT RUNAT=Server ID=MyAd PROGID="MSWC.AdRotator">
</OBJECT>
7.2.2 创建轮显列表文件
REDIRECT URL
WIDTH width
HEIGHT height
BORDER border
*
adURL
adHomePageURL
altText
impressions
REDIRECT 6-11.asp
WIDTH 440
HEIGHT 60
BORDER 1
*
image/mainpage.bmp
http://www.whpu.edu.cn/
武汉工业学院主页
5
image/computer.bmp
http://www.whpu.edu.cn/computer/
武汉工业学院计算机与信息工程系
3
image/netcenter.bmp
http://ntc.whpu.edu.cn/
武汉工业学院网络中心
2
7.2.3 使用重定向文件
是用户创建的文件, 通 常 包含 用 来 解 析 由
AdRotator 对象发送的查询字符串的脚本并将用户
重定向到与用户所单击广告相关的 URL。
< %
response.redirect(request.querystring("url"))
%>
7.2.3 使用重定向文件
是用户创建的文件, 通 常 包含 用 来 解 析 由
AdRotator 对象发送的查询字符串的脚本并将用户
重定向到与用户所单击广告相关的 URL。
< %
response.redirect(request.querystring("url"))
%>
<%@ Language=VBScript %>
<HTML><HEAD></HEAD><BODY>
<%
if request.querystring("url")<>"" then
response.redirect(request.querystring("url"))
else
Set MyAds = Server.CreateObject("MSWC.AdRotator")
Response.Write (myads.GetAdvertisement("adr.txt"))
end if
%>
</BODY></HTML>
7.2.4 使用广告轮显组件的属性和方法
1,方法
Ad Rotator 组件支持的唯一方法是,
GetAdvertisement
<A HREF="6-
11.asp?url=http://www.whpu.edu.cn/computer/&image=images/computer.bmp" >
<IMG SRC="images/computer.bmp" ALT="武汉工业学院计算机与信息工程系 "
WIDTH=800 HEIGHT=90 BORDER=1>
</A>
7.2.4 使用广告轮显组件的属性和方法
2,属性
( 1) Border属性
该属性返回或设置广告周围边框的大小 。 其语法如下:
Integer = AdRotator.Border
7.2.4 使用广告轮显组件的属性和方法
( 2) Clickable属性
该属性用于限定广告是否以超级链接的形式进行显示,
缺省值为 True,语法如下:
Boolean = AdRotator,Clickable
AdRotator,Clickable= Boolean
7.2.4 使用广告轮显组件的属性和方法
( 3) TargetFram属性
该属性值是字符串类型, 设置或返回目标框 (Frame)
的名字 。 如果用户单击图像文件的话, 这个框用于
显示广告的页面 。
7.2.4 使用广告轮显组件的属性和方法
< %
Set ad = Server.CreateObject("MSWC.AdRotator")
ad.Border = 0
ad.Clickable = true
ad.TargetFrame = AdFrame
ad.GetAdvertisement("adr.txt")
%>
7.3 使用页面计数器组件
7.3.1 创建页面计数器组件对象实例
< %
Set ad = Server.CreateObject("MSWC,PageCounter ")
%>
7.3.2 使用页面计数器组件的方法
1,Hits方法
该方法用于从建立了 Page Counter组件实例的任何页面中, 提
取当前的单击次数, 其语法如下:
变量= PageCounter.Hits(PagePath)
7.3.2 使用页面计数器组件的方法
<%
Dim MyPageCount
Set MyPageCount = Server.CreateObject("MSWC.PageCounter")
Response.Write "当前页的点击次数是,"& MyPageCount.Hits &
"<br>"
%>
7.3.2 使用页面计数器组件的方法
2,PageHit方法
该方法增加当前页面保存在 HibCnt.cnt文件中的
单击次数, 其语法如下:
变量值= PageCounter.PageHit
7.3.2 使用页面计数器组件的方法
<%
Dim MyPageCount
Set MyPageCount =
Server.CreateObject("MSWC.PageCounter")
Response.Write " 新 的 点 击 次 数 是, " &
MyPageCount.PageHit & "<br>"
%>
7.3.2 使用页面计数器组件的方法
3,Reset方法
该方法设置给定页面的单击次数为 0,其语法如下:
PageCounter.Reset(pagePath)
7.3.2 使用页面计数器组件的方法
<%
Dim MyPageCount
Set MyPageCount = Server.CreateObject("MSWC.PageCounter")
MyPageCount.Reset
%>
<%@ Language=VBScript %>
<HTML><HEAD></HEAD><BODY>
<%
Dim MyPageCount
Set MyPageCount = Server.CreateObject("MSWC.PageCounter")
MyPageCount.PageHit
Response.Write "当前页的点击次数是,"& MyPageCount.Hits & "<br>"
if MyPageCount.Hits()=5 then
MyPageCount.Reset
Response.Write ("点击次数被清 0")
end if
%>
</BODY></HTML>
7.4.2 使用计数器对象的方法
1,Get方法
该方法用于从一个命名的计数器中提取一个值, 其语
法如下:
变量值= Counters.Get(CountName)
7.4.2 使用计数器对象的方法
<%
dim Mycounter
set Mycounter=Server.CreateObject("MSWC.Counters")
Response.Write Mycounter.Get("computer")
%>
7.4.2 使用计数器对象的方法
2,Increment方法
该方法限定计数器的值每次加 1,其语法如下:
变量值= Counters.Increment(CounterName)
<%
dim Mycounter
set Mycounter=Server.CreateObject("MSWC.Counters")
Response.Write Mycounter.Increment("computer")
%>
7.4.2 使用计数器对象的方法
3,Remove方法
Remove方法用来清除指定的计数器, 其语法如下:
Mycounter.Remove(CounterName)
<%
Mycounter.Remove("computer")
%>
7.4.2 使用计数器对象的方法
4,Set方法
该方法用于设置一个特定计数器的值, 其语法如下:
Counters.Set(CounterName,Value)
7.4.2 使用计数器对象的方法
<%
dim Mycounter
set Mycounter=Server.CreateObject("MSWC.Counters")
Mycounter.Set "computer",1000
%>
7.5 使用文件存取组件
7.5.1 文件存取组件概述
主要用来提供访问计算机文件系统的方法和属性 。 可以
使用 File Access组件创建 FileSystemObject对象, 该对象
提供用于访问文件系统的方法, 属性和集合 。
7.5.1 文件存取组件概述
1,用于文件操作的各个组件的介绍
( 1) FileSystemObject组件对象
该组件对象包含了一些基本的, 对文件系统进行操作
的方法 。
7.5.1 文件存取组件概述
( 2) File组件对象
该组件对象提供了对某个单独文件的所有操作 。
( 3) Folder组件对象
该组件对象提供对文件夹所有的操作 。
( 4) TextStream组件对象
该组件对象用来提供方法来读写文件 。
7.5.1 文件存取组件概述
( 5) Drive对象
该组件对象用来提供对磁盘驱动器或网络共享属性的
访问 。
2,File Access组件的应用
File Access组件是针对文件系统的操作, 主要
是对文件, 文件夹和驱动器的操作 。
1) 在服务器的所有驱动器中提取或操作信息 。
2) 从服务器上所有驱动器的文件夹或子目录中提取或操作信息 。
3) 从服务器一个文件夹的所有文件中提取或操作信息 。
7.5.2 创建文本文件
可以使用 FileSystemObject和 TextStream对象来创建
一个文本文件并在其中写入文字 。 方法是首先创建一个
FileSystemObject 对 象 的 实 例, 然后, 再 利 用
CreateTextFile()创建一个 TextStream对象的实例, 最后利
用 TextStream对象的 WriteLine()方法来写入文件 。
<%@ Language=VBScript %>
<HTML>
<HEAD>
</HEAD>
<BODY>
<%
Set fs=CreateObject("Scripting.FileSystemObject")
set MyTextFile=fs.CreateTextFile("c:\mm\7-4.txt",True)
MyTextFile.writeLine("这是一串调试文字 ")
MyTextFile.close
%>
这是一个创建文本文件的例子 。
</BODY>
</HTML>
7.5.2 创建文本文件
可以使用 FileSystemObject和 TextStream对象来创建
一个文本文件并在其中写入文字 。 方法是首先创建一个
FileSystemObject 对 象 的 实 例, 然后, 再 利 用
CreateTextFile()创建一个 TextStream对象的实例, 最后利
用 TextStream对象的 WriteLine()方法来写入文件 。
7.5.3 读取文本文件
创建了文件后还可以向文件中追加数据或读取数据 。
方法依然是创建一个 FileSystemObject对象的实例, 然后利
用 OpenTextFile()来创建一个 TextStream对象的实例 。 最后,
用 TextStream对象的 ReadLine()方法来读取文件 。 。
<%@ Language=VBScript %>
<HTML>
<HEAD>
</HEAD>
<BODY>
<h2>文件中的内容如下,</h2><hr>
<%
Set fs=CreateObject("Scripting.FileSystemObject")
set MyTextFile=fs.OpenTextFile("c:\mm\7-4.txt")
While not MyTextFile.AtEndOfStream
Response.Write(MyTextFile.readline)
Wend
MyTextFile.close
%>
</BODY>
</HTML>
7.5.4 文件操作
1,文件是否存在
通过 FileSystemObject组件对象的 FileExists方法可以
确定指定的文件是否存在 。 其使用的语法如下所示:
FileSystemObjectFile,FileExists (Path)
<%@ Language=VBScript %>
<HTML>
<HEAD>
</HEAD>
<BODY>
<h2>文件是否存在,</h2><hr>
<%
Set fs=CreateObject("Scripting.FileSystemObject")
if fs.FileExists("c:\mm\7-4.txt") then
Response.Write " c:\mm\7-4.txt文件已经存在 "
end if
%>
</BODY>
</HTML>
2,文件的复制
通过 FileSystemObject组件的 CopyFile方法可以将指定
的文件复制成一个新的文件, 如果所指定的文件名已经存在,
通过参数设置可覆盖原来的文件 。 其使用的语法如下所示:
FileSystemObject,CopyFile (sourceFileName,destFileName,overwrite)
3,文件的删除
通过 FileSystemObject组件的 DeleteFile方法删除由完
全限定路径指定的文件 。 如果指定的文件不存在, 不引发异
常 。 其使用的语法如下所示:
File.Delete(filepath,force)
3,文件的删除
<%
Set fs=CreateObject("Scripting.FileSystemObject")
if fs.FileExists("c:\mm\7-4.txt") then
fs.DeleteFile("c:\mm\7-4.txt")
Response.Write "c:\mm\7-4.txt文件已经删除 "
else
Response.Write "c:\mm\7-4.txt文件不存在 "
end if
%>
4,文件的移动
通过 FileSystemObject组件的 MoveFile方法将指定文件
移到新位置, 并可提供指定新文件名的选项 。 其使用的语法
如下所示:
File,Move (sourceFileName,destFileName)
7.5.5 文件夹操作
1,获取目录或文件夹是否存在
可使用 FileSystemObject组件的 FolderExists方法来判断在
Web服务器上某一个特定目录或文件夹是否存在 。 其使用语
法如下:
FileSystemObject,FolderExists (Folderspace)
7.5.5 文件夹操作
2,创建新的目录或文件夹
使用 FileSystemObject 组件 CreateFolder方法可在 Web服务器
上创建目录或文件夹 。 其使用语法如下:
FileSystemObject,CreateFolder (Path)
7.5.5 文件夹操作
3,删除目录或文件夹
使用 FileSystemObject 组件 DeleteFolder方法可在 Web服务器
上删除指定的目录及其中的子目录 。 其使用语法如下:
Directory,Delete (Path,recursive)
7.5.6 驱动器操作
Drive对象可以代表本地计算机上的一个驱动器, 也可
以代表一个映射网络驱动器 。
<%
Set fs=CreateObject("Scripting.FileSystemObject")
Set MyDrives = fs.Drives
Set objDrives = MyDrives.Item("C")
%>
<%@ Language=VBScript %>
<HTML><HEAD></HEAD><BODY>
<h2>驱动器的有关信息 </h2><hr>
<%
Set fs=CreateObject("Scripting.FileSystemObject")
Set MyDrives = fs.GetDrive("C")
%>
<br>驱动器号,<%=MyDrives.DriveLetter%>
<br>驱动器序列号,<%=MyDrives.SerialNumber%>
<br>驱动器卷标,<%=MyDrives.VolumeName%>
<br>驱动器类型,<%=MyDrives.DriveType%>
<br>驱动器文件系统,<%=MyDrives.FileSystem%>
<br>驱动器总容量,<%=MyDrives.TotalSize%>
<br>驱动器可提供容量,<%=MyDrives.FreeSpace%>
</BODY></HTML>
7.6 上传组件
7.6.1 上传组件的安装
下载的网址是 http://www.aspsmart.com/aspSmartUpload/,
文件大小约 180K。
7.6.1 上传组件的安装
下面说明其如何进行安装注册:
( 1) 在 解压 后的文 件夹中 找到 两个 DLL文件, 分别 是
AspSmartUpload.dll和 AspSmartUploadUtil.dll文件, 把它
们拷贝到 Web 服务器的, Winnt/System32” 或
,Windows/System”目录下 。
( 2) 在命令提示符下分别用
regsvr32 AspSmartUpload.dll
7.6.1 上传组件的安装
7.7.1 小结
本章首先介绍了什么是 ActiveX组件, 然后介
绍了几个常用的 ActiveX组件, 主要包括:广告
轮显组件, 页面计数器组件, 文件存取组件和上
传组件 。 通过这些组件的介绍使读者能够熟练使
用 ASP内置组件的使用方法, 并能掌握在获得一
个第三方的 ActiveX组件后, 如何进行注册及使
用的方法 。 通过本章的学习, 读者应能对一些比
较复杂的网页设计有了初步的认识 。