1.14 ActiveX 组件

2016-02-19 13:35 8 1 收藏

下面图老师小编跟大家分享一个简单易学的1.14 ActiveX 组件教程,get新技能是需要行动的,喜欢的朋友赶紧收藏起来学习下吧!

【 tulaoshi.com - Web开发 】

当你用 ASP 编写服务器端应用程序时,必须依靠 ActiveX 组件来强大 Web 应用程序的功能,譬如:你需要连接数据库,对数据库进行在线操作等等,本文从本篇开始将陆续给大家介绍 ASP ActiveX 组件的使用方法。

     从今天开始我们将正式学习 ASP 的精华部分 --ActiveX 组件。事实上,当你用 ASP 编写服务器端应用程序时,必须依靠 ActiveX 组件来强大 Web 应用程序的功能,譬如:你需要连接数据库,对数据库进行在线操作或者对 WEB 服务器上的文件系统进行操作,亦或你需要一个 WEB 广告交换程序,所有这一切你都必须通过调用 ASP 内建的 ActiveX 组件或自己编写所需的组件来完成。

      那么,究竟什么是 ActiveX 组件呢?它又是如何运作的呢?其实 ActiveX 组件是一个存在于 WEB 服务器上的文件,该文件包含执行某项或一组任务的代码,组件可以执行公用任务,这样就不必自己去创建执行这些任务的代码。例如,股票行情收报机组件可以在 Web 页上显示最新的股票报价。当你在 WEB 服务器上安装完 ASP 环境后,就可以直接使用它自带的几个常用组件,如 Database Access 组件。当然你也可以从第三方开发者处获得可选的组件 , 也可以编写自己的组件。你可以利用组件作为脚本和基于 Web 应用程序的基本构造块,只要知道如何访问组件提供的对象,即使你是位编写脚本的新手,也可以在不了解组件运作方式的情况下编写 ASP 程序。总而言之, ActiveX 组件使您不用学习复杂的编程就能够写出强大的 WEB 服务器端脚本。如果您是位 Web 应用程序的开发者,可以使用任何支持组件对象模型(COM)的语言来编写组件,如, C、 C++、 Java 或 Visual Basic。如果你熟悉 COM 编程, ActiveX 组件就是 Automation 服务器。但是要在 Web 服务器上运行, ActiveX 组件不能有图形用户接口元素,如 Visual Basic 的 MsgBox 函数。组件是可以重复使用的。在 Web 服务器上安装了组件后,就可以从 ASP 脚本、 ISAPI 应用程序、服务器上的其他组件或由另一种 COM 兼容语言编写的程序中调用该组件。

     那么我们在 ASP 中应该如何调用组件呢?如前所述,组件是包含在动态链接库 (.dll) 或可执行文件 (.exe) 中的可执行代码。组件可以提供一个或多个对象以及对象的方法和属性。要使用组件提供的对象,我们首先要创建对象的实例并将这个新的实例分配变量名。使用 ASP 的 Server.CreateObject 方法可以创建对象的实例。接着,使用脚本语言的变量分配指令为对象实例命名。创建对象实例时,必须提供实例的注册名称PROGID。如下要创建一个 Ad Rotator 对象的实例 :

  <% Set MyAds = Server.CreateObject("MSWC.AdRotator") %

     我们必须使用 ASP 的 Server.CreateObject 方法来创建对象实例,否者 ASP 无法跟踪脚本语言中对象的使用。
使用 HTML< OBJECT标签同样可以创建对象实例,但必须为 RUNAT 属性提供服务器值,同时也要为将在脚本语言中使用的变量名提供 ID 属性组。使用注册名 (PROGID) 或注册号码 (CLSID) 可以识别该对象。下面的例子使用注册名 (PROGID) 创建 Ad Rotator 对象的实例:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

   <OBJECT RUNAT=Server ID=MyAd PROGID="MSWC.AdRotator"< /OBJECT

 

下面列出了 ASP 可安装的常用组件。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

 

Ad Rotator创建一个 AdRotator对象,该对象可按指定计划在同一页上自动轮换显示广告。 Browser Capabilities创建一个 BrowserType对象,该对象决定访问 Web 站点的每个浏览器的性能、类型及版本。 Database Access提供用 ActiveX Data Objects (ADO) 对数据库的访问。 Content Linking创建一个 NextLink 对象,该对象可生成 Web 页内容列表,并象书一样将各页顺续连接。 File Access 组件 提供文件的输入输出访问。 Collaboration Data Objects for NTS 组件 可以快速、简便的在 Web 页上添加收发邮件功能。该组件只适用于 Internet Information Server for Windows NT? Server 。 MyInfo创建一个 MyInfo对象,该对象追踪个人信息,例如站点管理员的姓名、地址及显示选择。 Counters创建一个 Counters对象,该对象可以创建、保存、增加或检索任意数量的独立计数器。 Content Rotator自动翻转 Web 主页上的 HTML 内容字符串。 Page Counter记录并显示 Web 页被打开的次数。

      现在 WEB 广告几乎充斥了整个网络,那么究竟如何在你自己的网站上建立一个符合广告领域标准功能的广告系统呢?答案是利用 ASP AD Rotator 组件 ! 它允许在每次访问 ASP 页面时在页面上显示新的广告,并且提供了很强的功能,例如 : 旋转显示在页面上的广告图象的能力、跟踪特定广告显示次数的能力以及跟踪客户端在广告上单击次数的能力。 AD Rotator 组件的工作是通过读取 AD Rotator 计划文件来完成的,该文件包括与要显示的图象文件的地点有关的信息以及每个图象的不同属性,下面就是一个标准的 AD Rotator 计划文件 :
---ADROT.TXT---
REDIRECT /scripts/adredir.asp
WIDTH 440
HEIGHT 60
BORDER 1
*
ads/homepage/chinabyte.gif
http://www.chinabyte.com/
Check out the IT site
2
ads/homepage/gamichlg.gif
-
Sponsored by Flyteworks
3
ads/homepage/asp.gif
http:// www.aspallian.com/
Good ASP site on net
3
ads/homepage/spranklg.gif
http://www.clocktower.com/
The #1 Sports site on the net
2

     该段代码的前四行包含广告的全局设置。 Redirect 行指出广告将成为其热连接的 URL, 注意这里不是为广告本身指定的 URL,而是将调用的中间页面的 URL,这样我们就可以通过这个中间页面跟踪单击广告的次数。该 Redirect URL 将与包含两个参数的查询字符串一起调用 : 特定广告主页的 URL 和图象文件的 URL。星号上面的其余三行简单说明如何显示广告。前两行以像素为单位指定网页上广告的宽度和高度,默认值是 440 和 60 个像素。后一行,同样是以像素为单位指定广告四周超链接的边框宽度 , 默认值是 1 个像素。如果将该参数设置为 0,则将没有边框。

     星号下面的行以每四行为一个单位描述每个广告的细节。在此例中共有 16 行,描述四个广告。每个广告的描述包含图象文件的 URL、广告的主页 URL(如果广告客户没有主页,请在该行写上一个连字符-,指出该广告没有链接)和图象的替代文字以及指定该页与其他页交替显示频率的数值。

     图象是重定向页面的热连接,它在查询字符串中设置了两个值, url=/scripts/adredir.asp 以及 image=/ads/homepage/asp.gif。要确定广告显示的频率,可以将计划文件中所有广告的权值相加,在该例中总数是 10,那么 aspallian 的广告权值为 3,这意味着 AdRotator 组件每调用十次,它则显示 3 次。

     重定向文件是用户创建的文件。它通常包含用来解析由 AdRotator 对象发送的查询字符串的脚本并将用户重定向到与用户所单击的广告所相关的 URL。用户也可以将脚本包含进重定向文件中,以便统计单击某一特定广告的用户的数目并将这一信息保存到服务器上的某一文件中。增加计数器和重定向用户是通过下面两行 ASP 脚本来实现的 :
< %
Counter.Increment(request.querystring("url"))
response.redirect(request.querystring("url"))
%

     现在我们看一下 Ad Rotator 组件是如何在页面中使用的,首先必须使用 Server.CreateObject 方法实例化 Ad Rotator 对象。 Ad Rotator 组件的 PROGID 属性是 MSWC.AdRotator。完整的代码如下 :
< % Set ad = Server.CreateObject("MSWC.AdRotator") %
< %= ad.GetAdvertisement("/ads/adrot.txt") %

      Ad Rotator 组件支持的唯一方法是 GetAdvertisement,它只有一个参数 :AdRotator 计划文件的名称。注意指向文件的路径是从当前虚拟目录的相对路径,物理路径是不允许的。 GetAdvertisement 方法从 Rotator 计划文件中获取下一个计划广告的详细说明并将其格式化为 HTML 格式。下面的 HTML 由 GetAdvertisement 方法生成且被添加到网页的输出中,以便显示 Rotator 计划文件中的下一个广告。
< A HREF="http://www.chinabyte.com/scripts/adredir.asp?http://www.aspallian.com/"< IMG
SRC="http://www.chinabyte.com/ads/homepage/asp.gif" ALT="Good ASP site on net" WIDTH=440 HEIGHT=60 BORDER=1< /A

    使用 AdRotator 组件我们可以直接通过对象属性而不是计划文件中的设置来直接控制某些广告特性,其可用属性如下 :

Border 指定广告边框的大小。

Clickable 指定广告是否为超链接。
TargetFrame 指定显示广告的框架的名称。
< %
Set ad = Server.CreateObject("MSWC.AdRotator")
ad.Border = 0
ad.Clickable = true
ad.TargetFrame = AdFrame
ad.GetAdvertisement("/ads/adrot.txt")
%

     通过上面的学习,相信你已经能够熟练运用 ASP 的内建 AdRotator 组件为自己的网站建立一个标准的广告显示程序了。你是否难以相信一切竟是如此的简单?其实真正能令你震惊的还在后头呢,敬请关注下一篇 ASP ActiveX 组件大揭密!

来源:https://www.tulaoshi.com/n/20160219/1604703.html

延伸阅读
  Authorware作为一种主要面向非程序员的多媒体创作工具,具有简单易用、编程灵活的特点,但其软件功能相对比较简单。为了满足一些高级设计人员进行复杂程序创作的需要,Authorware从4.0版本开始提供了对ActiveX控件的支持,允许用户在Authorware文件中嵌入ActiveX控件,与其它支持ActiveX控件的环境中一样方便快捷地使用。由于有许多软件...
标签: autocad教程
Auto CAD 与ActiveX Automation     ActiveX Automation是微软公司推出的一个技术标准,该技术是OLE技术的进一步扩展,其作用是在Windows系统的统一管理下协调不同的应用程序,允许应用程序之间相互控制、相互调用。目前,ActiveX Automation技术已经在Internet、 Office 系列 办公软件 的开发中得到了广泛的应用...
4.1 OLE技术的应用 OLE(Object Linking and Embedding,对象链接与嵌入,简称OLE)技术是为了改进联结文档的设计,也就是在一个文件或一个程序中能够包含多种不同数据格式的数据内容而产生的。在多媒体应用程序的开发过程中,虽然Authorware功能强大,但是任何一个应用开发程序都不是全能的,Authorware也是有所能而有所不能,因此它...
标签: flash教程
组件的样式 1、组件的样式方法 提供给我们的组件很单调,无论是颜色还是样式,都不能满足多姿多彩的网络的需求。庆幸的是我们可以通过组件的 FStyleFormat对象 来改变组件的颜色,可以通过手工的方式修改UI组件的外观。也可以自己来制作组件。 在库中有一个“Component Skins”元件文件夹,该文件夹里存储着...
这将是最后一个组件了,目标定为非可视化,事实上非可视化组件要比可视化组件难做,因为是从TComponent继承而来,就没有了很多属性和事件。而这些都要我们从头来做过。 这个非可视化组件,我决定为托盘组件,其中用到的技术较多,我不如列一个表出来,然后再来讲解好一点。另外,可能篇幅会多一些,请耐心看。 用到的技术: ...

经验教程

596

收藏

90

精华推荐

JavaScript组件开发:分析和设计组件

JavaScript组件开发:分析和设计组件

打小就看国安

优化大师ActiveX清理

优化大师ActiveX清理

梁军544

Flash组件之旅(2):组件样式(2)

Flash组件之旅(2):组件样式(2)

悲伤未止步

微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部