中国网管论坛's Archiver

ruby 发表于 2003-12-8 00:21

ASP技巧

创 建 一 个 简 单 的  ASP  页

学 习  ASP  页 的 最 佳 途 径 是 动 手 编 写 自 己 的  ASP  页 。 创 建  ASP  页 其 实 很 简 单 , 只
要 使 用 文 本 编 辑 器 将 脚 本 命 令 插 入 到  HTML  页 中 就 行 了 。 将 这 个 主 页 以  .asp  为
文 件 扩 展 名 保 存 , ASP  服 务 器 就 知 道 处 理 其 中 的 脚 本 命 令 了 。 若 要 查 看 脚 本 的 结
果 , 只 要 使 用  HTTP  协 议 在  Web  浏 览 器 中 请 求 查 看 该 页 就 行 了 。 也 就 是 键 入  ht
tp://localhost/iishelp/iis/htm/tutorial/filename.asp 。   在 本 课 中 , 您 将 创
建 流 行 的 “ Hello World! ” 脚 本 , 方 法 是 从 教 程 中 将  HTML  和  ASP  脚 本 命 令 复 制
到 文 本 编 辑 器 中 。 当 您 在 文 本 编 辑 器 中 保 存 文 件 后 , 就 能 用 浏 览 器 查 看 脚 本 的 输
出 效 果 了 。

下 面 的  HTML  创 建 一 个 简 单 的 主 页 , 其 中 只 有 以 大 字 体 显 示 的 文 字 “ Hello Worl
d! ” :

〈 HTML 〉   

〈 BODY 〉

〈 FONT SIZE=7 〉   

Hello World! 〈 BR 〉   

〈 /FONT 〉   

〈 /BODY 〉

〈 /HTML 〉   

如 果 您 想 将 这 段 文 字 重 复 几 次 , 并 且 每 次 字 体 越 来 越 大 。 一 种 方 法 是 重 复 字 体 标
记 和  HTML  文 本 , 每 次 重 复 分 别 给 出 不 同 的 字 体 大 小 。 当 浏 览 器 打 开 这 个  HTML  
页 的 时 候 , 这 行 文 字 将 被 显 示 好 几 次 。

另 一 种 方 法 是 , 使 用  ASP  来 生 成 相 同 的 内 容 , 不 过 方 式 将 更 加 灵 活 。

创 建 并 保 存 主 页

启 动 文 本 编 辑 器 ( 如 “ 记 事 本 ” ) 或 字 处 理 软 件 ( 如  Microsoft? Word ) 。 在 屏
幕 上 调 整 一 下 编 辑 器 窗 口 和 浏 览 器 窗 口 , 以 便 能 够 同 时 看 到 它 们 。   

将 下 列  HTML  标 记 复 制 并 粘 贴 到 文 件 的 开 头 :   

〈 %@ LANGUAGE = "VBScript" % 〉

〈 HTML 〉

〈 BODY 〉   

注 意   第 一 个 标 记 是 一 个 特 殊 的  ASP  标 记 , 用 来 将 您 的 默 认 脚 本 语 言 设 置 为  VBS
cript 。 一 定 要 将 该 标 记 添 加 到 您 所 有  .asp  文 件 的 第 一 行 。

 

将 文 件 以  Hello.asp  保 存 到  localhost Web  服 务 器 的  Tutorial  目 录  (C:\WIN
NT\Help\iis\htm\tutorial)  中 。 如 果 您 使 用 的 是 字 处 理 软 件 ( 包 括 “ 写 字 板 ”
) , 请 确 保 以 纯 文 本 方 式 保 存 该 文 件 。 ASP  页 必 须 以  .asp  作 后 缀 才 能 正 常 工 作
。   

如 果 在 此 之 前 , 另 一 个 用 户 已 经 创 建 了  Hello.asp  文 件 并 且 学 完 了 教 程 的 这 一 部
分 , 您 就 可 以 覆 盖 旧 的  Hello.asp  文 件 了 。

 

在   〈 BODY 〉   标 记 后 另 起 新 行 , 将 下 列 脚 本 命 令 复 制 并 粘 贴 过 去 :   

〈 % For i = 3 To 7 % 〉   

脚 本 命 令 用   〈 %  和  % 〉   符 号 括 起 来 , 这 两 个 符 号 通 常 叫 做   起 止 符 ) 。 起 止 符 中 的
文 字 将 作 为 脚 本 命 令 处 理 。 右 侧 起 止 符 以 后 的 任 何 文 字 都 将 作 为  HTML  文 本 显 示
在 浏 览 器 中 。 上 面 这 段 脚 本 命 令 开 始 了 一 个  VBScript  循 环 , 用 于 控 制 显 示 “ He
llo World ” 的 次 数 。 循 环 的 第 一 次 , 计 数 器 变 量  (i)  被 设 置 为  3 。 循 环 的 第 二
次 , 计 数 器 被 设 置 为  4 。 循 环 将 继 续 下 去 , 直 到 计 数 器 大 于  7  为 止 。

按 下 回 车 键 , 然 后 复 制 并 粘 贴 下 列 行 :  

〈 FONT SIZE= 〈 % = i % 〉 〉   

在 每 次 循 环 中 , 字 体 大 小 都 设 置 为 计 数 器 变 量  (i)  的 当 前 值 。 因 此 , 文 字 第 一 次
显 示 的 时 候 , 字 体 大 小 是  3 。 第 二 次 , 字 体 大 小 是  4 。 最 后 一 次 , 字 体 大 小 是  7
。 注 意 脚 本 命 令 是 可 以 包 含 在  HTML  标 记 中 的 。

按 下 回 车 键 , 然 后 复 制 并 粘 贴 下 列 行 :  

Hello World! 〈 BR 〉

〈 /FONT 〉

〈 % Next % 〉

〈 /BODY 〉

〈 /HTML 〉

VBScript  的  Next  命 令 重 复 循 环 , 直 到 计 数 器 大 于  7  为 止 。

完 整 的  Hello.asp  文 件 还 必 须 包 含 以 下 文 字 :  

〈 %@ LANGUAGE = "VBScript" % 〉

〈 HTML 〉

〈 BODY 〉

〈 % For i = 3 To 7 % 〉   

〈 FONT SIZE= 〈 % = i % 〉 〉   

Hello World! 〈 BR 〉

〈 /FONT 〉

〈 % Next % 〉

〈 /BODY 〉

〈 /HTML 〉

保 存 文 件 。 注 意 要 以 纯 文 本 格 式 保 存 , 并 且 文 件 名 后 缀 必 须 是  .asp 。   

在 某 些 文 本 编 辑 器 中 , 当 您 在 “ 保 存 ” 对 话 框 中 选 择 “ 纯 文 本 ” 格 式 时 , 编 辑 器
会 自 动 将 文 件 名 后 缀 更 改 为  .txt 。 如 果 出 现 了 这 种 情 况 , 需 要 先 将  .txt  后 缀 改
为  .asp , 然 后 再 单 击 “ 保 存 ” 按 钮 。

退 出 文 本 编 辑 器 。 因 为 当  HTML  页 被 文 本 编 辑 器 打 开 时 , 浏 览 器 可 能 无 法 再 访 问
它 。   

若 要 查 看 您 的 工 作 成 果 , 请 将 您 的 浏 览 器 导 向  [url]http://localhost/iishelp/iis/[/url]
htm/tutorial/hello.asp 。 ( 此 后 若 要 返 回 本 教 程 , 只 要 在 浏 览 器 中 单 击 “ 上 一
页 ” 或 “ Back ” 按 钮 即 可 。 )   

您 将 看 到 一 个 主 页 显 示 了  5  次 “ Hello World ” , 每 次 的 字 体 都 越 来 越 大 。

 

祝 贺 您 ! 您 已 经 完 成 了 您 的 第 一 个  ASP  主 页 。 正 象 您 已 经 学 过 的 内 容 一 样 , 创 建
ASP  主 页 的 过 程 就 是 如 此 简 单 。 您 可 以 使 用 任 何 文 本 编 辑 器 来 创 建  HTML  内 容 ,
将  ASP  脚 本 命 令 写 在   

〈 %

和   

% 〉   

起 止 符 之 间 , 然 后 将 文 件 以  .asp  后 缀 名 保 存 。 若 要 测 试  ASP  页 并 看 一 看 结 果 ,
只 要 在 浏 览 器 中 请 求 该 主 页 即 可 ( 若 该 主 页 已 经 被 打 开 , 只 要 刷 新 即 可 ) 。

ruby 发表于 2003-12-8 00:22

创 建  HTML  表 格

Intranet  和  Internet  服 务 器 应 用 程 序 的 一 个 常 用 功 能 , 是 处 理 浏 览 器 提 交 的 表
格 。 以 前 , 您 需 要 编 一 个 程 序 来 处 理 表 格 提 交 的 数 据 。 有 了  ASP , 您 可 以 将  VBS
cript  脚 本 直 接 嵌 入 到  HTML  文 件 中 来 处 理 表 格 。 ASP  服 务 器 将 处 理 脚 本 命 令 并
将 结 果 返 回 给 浏 览 器 。

在 本 课 中 , 您 将 创 建 一 个  ASP  主 页 , 用 来 处 理 用 户 通 过  HTML  表 格 提 交 的 数 据 。


若 要 查 看  .asp  文 件 是 如 何 工 作 的 , 请 首 先 填 写 下 面 的 表 格 。 使 用  Tab  键 可 以 在
表 格 中 移 动 。 然 后 单 击   提 交   按 钮 , 将 您 的 数 据 发 送 到  Web  服 务 器 并 交 给  ASP  
处 理 。

 

----------------------------------------------------------------------
----------

表 格 样 本

请 提 供 下 列 信 息 , 然 后 单 击 “ 提 交 ” :

 

名 字 :   

姓 氏 :   

称 呼 :   先 生   女 士   

 

创 建 表 格

我 们 已 经 创 建 了 一 个 表 格 来 询 问 用 户 信 息 , 您 可 以 在  Tutorial  目 录  (/iishelp
/iis/htm/tutorial)  下 的  Form.htm  文 件 中 找 到 它 :

〈 HTML 〉

〈 HEAD 〉 〈 TITLE 〉 Order 〈 /TITLE 〉 〈 /HEAD 〉

〈 BODY 〉

〈 H2 〉 示 范 订 购 表 格 〈 /H2 〉

〈 P 〉

请 提 供 以 下 信 息 , 然 后 单 击 “ 提 交 ” :

〈 FORM METHOD="POST" ACTION="response.asp" 〉

〈 P 〉

姓 氏 :  〈 INPUT NAME="lname" SIZE="48" 〉

〈 P 〉

名 称 :  〈 INPUT NAME="fname" SIZE="48" 〉

〈 P 〉

称 谓 :  〈 INPUT NAME="title" TYPE=RADIO VALUE="mr" 〉 先 生

〈 INPUT NAME="title" TYPE=RADIO VALUE="ms" 〉 女 士

〈 P 〉 〈 INPUT TYPE=SUBMIT VALUE=" 提 交 " 〉 〈 INPUT TYPE=RESET VALUE=" 重 置 " 〉

〈 /FORM 〉

〈 /BODY 〉

〈 /HTML 〉

象 所 有  HTML  表 格 一 样 , 这 个 表 格 将 数 据 按 变 量 和 数 值 成 对 发 送 到  Web  服 务 器 。
例 如 , 用 户 在 “ 名 ” 文 字 框 中 键 入 的 内 容 将 赋 值 给 变 量 “ fname ” 。 ASP  提 供 内 建
的 对 象 , 您 能 够 使 用 这 些 对 象 来 访 问 表 格 提 供 的 变 量 的 名 称 和 数 值 。

创 建  ASP  响 应 页

现 在 要 学 习 的 内 容 是 如 何 处 理  Web  服 务 器 从  HTML  表 格 收 到 的 数 据 。 在 本 课 中 ,
我 们 已 经 创 建 了 一 个  .asp  文 件  Response.asp , 它 将 处 理 并 显 示 从  Form.asp  收
到 的 数 据 , 不 过 需 要 您 添 加 一 些 额 外 的 脚 本 命 令 才 行 。

使 用 您 的 文 本 编 辑 器 , 打 开  localhost Web  服 务 器  Tutorial  目 录  (C:\WINNT\
Help\iis\htm\tutorial)  下 的  Response.asp  文 件 。   

查 找 文 字 “ Define Scripting Language ” , 将 以 下 脚 本 复 制 并 粘 贴 到 这 一 行 下 面
:   

〈 %@ LANGUAGE = "VBScript" % 〉

请 记 住 将 这 个 标 记 作 为 第 一 行 脚 本 添 加 到 您 的  .asp  文 件 中 , 这 样  Web  服 务 器 才
知 道 您 的 脚 本 是 用 哪 种 语 言 编 写 的 。

 

现 在 查 找 文 字 “ Tutorial Lesson ” , 将 以 下 脚 本 复 制 并 粘 贴 到 找 到 的 行 后 面 :   


〈 %  

Title = Request.Form("title")  

如 果 在 此 以 前 , 另 一 个 用 户 已 经 学 完 了 教 程 的 这 一 部 分 , 那 么 此 脚 本 命 令 就 已 经
在 “ Tutorial Lesson ” 命 令 行 下 了 。 用 复 制 的 脚 本 覆 盖 已 有 的 脚 本 , 或 者 将 未 使
用 过 的  Response.asp  从  Template  目 录 复 制 到  Tutorial  目 录 中 。

 

您 的 表 格 向  ASP  提 交 了  3  个 不 同 的 变 量 或 值 :

 

fname

lname

title

ASP  将  HTML  表 格 提 供 的 信 息 存 储 在  Request  对 象 的  Forms  集 合 中 。 若 要 进 一
步 学 习 表 格 和 对 象 的 知 识 , 请 参 阅   使 用  HTML  表 格   和   内 建 的  ASP  对 象 。   

 

若 要 从  Request  对 象 获 取 信 息 , 您 只 需 键 入 :  Request.  集 合 名 称  ( 或 属 性 名 称
) 。 所 以 , Request.Form ("title")  将 得 到  mr  或  ms , 依 用 户 提 交 的 值 而 定 。


 

复 制 以 下 脚 本 , 并 粘 贴 到 第  2  步 中 插 入 的 行 之 后 :   

LastName = Request.Form("lname")

If Title = "mr" Then  

% 〉   

〈 %= LastName % 〉 先 生   

〈 % ElseIf Title = "ms" Then % 〉   

〈 %= LastName % 〉 女 士

如 果 在 此 以 前 , 另 一 个 用 户 已 经 学 完 了 教 程 的 这 一 部 分 , 那 么 这 些 脚 本 就 已 经 存
在 了 。 用 复 制 的 脚 本 覆 盖 已 有 的 脚 本 , 或 者 将 未 使 用 过 的  Response.asp  从  Tem
plate  目 录  (C:\WINNT\Help\iis\htm\tutorial\template)  复 制 到  Tutorial  目
录 中 。

 

VBScript  语 句  If...Then..Else  语 句 将 依 据 “ 称 谓 ” 的 值 执 行  3  种 不 同 的 操 作
。 如 果 称 谓 是  mr , 将 称 用 户 为 “ 先 生 ” 。 如 果 称 谓 是  ms , 将 称 用 户 为 “ 女 士 ”
。 否 则 , 将 称 用 户 的 全 名 。 使 用 表 达 式   〈 %=  变 量 名  % 〉   可 以 显 示 变 量 的 值 。

 

 

如 果 需 要 当 用 户 没 有 选 择 称 谓 时 显 示 全 名 , 请 将 以 下 脚 本 复 制 并 粘 贴 到 在 第  3  步
插 入 的 行 之 后 :   

〈 % Else % 〉

〈 %= LastName & Request.Form("fname") % 〉

〈 % End If % 〉   

再 说 一 遍 , 如 果 在 此 以 前 , 另 一 个 用 户 已 经 学 完 了 教 程 的 这 一 部 分 , 则 这 些 脚 本
就 已 经 存 在 了 。 请 用 复 制 的 脚 本 覆 盖 已 有 的 脚 本 , 或 者 将 未 使 用 过 的  Response.
asp  从  Template  目 录 ( C:\WINNT\Help\iis\htm\tutorial\template)  复 制 到   
Tutorial  目 录 中 。

 

其 中 的 “ 并 ” 号  (&)  将 变 量 的 值 合 并 到 一 个 字 符 串 中 。 最 后 的  End If  语 句   表
明 条 件 语 句 结 束 了 。

 

保 存 文 件  Response.asp  并 退 出 文 本 编 辑 器 。 注 意 文 件 后 缀  .asp  不 要 被 文 本 编
辑 器 替 换 。   

若 要 验 证 您 创 建 的 表 格 是 否 正 常 运 行 , 请 将 您 的 浏 览 器 导 向  [url]http://localhost/[/url]
iishelp/iis/htm/tutorial/form.htm 。 ( 此 后 若 要 返 回 本 教 程 , 只 要 在 浏 览 器 中
单 击 “ 上 一 页 ” 或 “ Back ” 按 钮 即 可 。 )   

祝 贺 您 ! 您 的 第 一 个 能 将 结 果 发 送 到  .asp  文 件 的  HTML  表 格 已 经 运 行 了 。 若 要
学 习  ActiveX  服 务 器 组 件 , 请 转 到   模 块  2 : 使 用  ActiveX  组 件 。

 

----------------------------------------------------------------------
----------

模 块  2 : 使 用  ActiveX  组 件

请 选 择 本 课 的 脚 本 语 言 。   

ActiveX  服 务 器 组 件 增 强 了 脚 本 语 言 的 功 能 , 它 提 供 简 洁 、 可 重 用 和 安 全 的 方 法
来 访 问 信 息 。 例 如 , ASP  的  Database Access  ( 数 据 库 访 问 ) 组 件 , 使 得 脚 本 可
以 查 询 数 据 库 。 因 此 , 无 论 何 时 要 从 脚 本 查 询 数 据 库 , 您 都 可 以 使 用  Database  
Access  组 件 , 而 不 必 编 写 复 杂 的 脚 本 。 您 还 能 从 任 何 脚 本 或 支 持  Automation  的
编 程 语 言 来 调 用 这 些 组 件 ( ActiveX  服 务 器 组 件 就 是  Automation  服 务 器 ) 。 在
本 模 块 中 , 您 将 使 用 插 入 到  ASP  中 的  ActiveX  组 件 , 来 运 行 一 个 示 范  Web  节 点


现 在 , 您 通 常 应 该 具 备 了 编 写  .asp  文 件 的 基 本 知 识 。 如 果 您 还 不 具 有 , 请 首 先
学 完 本 教 程 的 “ 模 块  1 ” 。

要 点   

要 保 存 并 查 看 您 在 本 模 块 中 的 工 作 结 果 , 必 须 在  localhost Web  服 务 器 上 对  /i
ishelp/iis/htm/Tutorial  虚 拟 目 录 具 有 “ 写  (Write) ” 和 “ 改 编  Web  服 务 器   
(Script Web server) ” 权 限 , 当 然 必 须 已 经 安 装 了  Active Server Pages 。   

第 二 课 演 示 了 一 个 动 态  HTML  脚 本 小 程 序 。 这 个 脚 本 小 程 序 显 示 了 一 系 列 交 替 显
示 的 广 告 图 像 , 每 幅 图 像 之 间 都 动 态 过 渡 。 若 要 运 行 这 个 脚 本 小 程 序 并 查 看 效 果
, 您 必 须 使 用  Internet Explorer 4.0  或 更 高 版 本 。 关 于  Internet Explorer  
的 详 细 信 息 , 请 访 问  Microsoft  的  Web  节 点  [url]http://www.microsoft.com[/url] 。

ruby 发表于 2003-12-8 00:23

使 用  Ad Rotator ( 广 告 轮 换 器 ) 组 件

Internet Web  节 点 通 常 提 供 广 告 空 间 。 要 让 节 点 看 起 来 有 趣 , 并 且 要 在 有 限 的 空
间 内 显 示 好 几 个 客 户 的 广 告 , 您 也 许 希 望 循 环 显 示 不 同 的 广 告 。 Ad Rotator  组 件
简 化 了 按 顺 序 显 示 每 幅 广 告 的 任 务 , 并 且 让 添 加 新 广 告 的 工 作 变 得 更 轻 松 。 另 外
, 您 能 够 轻 松 地 添 加 或 更 改 广 告 的 超 级 链 接 , 这 样 用 户 就 可 以 通 过 单 击 广 告 来 访
问 广 告 客 户 的  Web  节 点 。 在 本 课 中 , 您 将 创 建 一 个 脚 本 , 通 过 调 用  Ad Rotator
  组 件 来 轮 换  4  个 随 机 选 择 的 广 告 。 单 击 下 面 的 “ 演 示  (Show Me) ” 按 钮 , 可 以
看 到 一 个 示 例 广 告 , 然 后 再 次 单 击 该 按 钮 , 轮 换 到 另 一 个 广 告 。

 

----------------------------------------------------------------------
----------

 

 

 

 

----------------------------------------------------------------------
----------

创 建 广 告 文 件

我 们 已 经 为 一 项 虚 构 的 业 务 创 建 了 一 个  Web  页 , 名 叫 “ Bayshore Travel ” , 您
将 在 该 页 中 插 入 广 告 轮 换 脚 本 。 您 可 以 创 建 一 个 简 单 的 文 本 文 件 来 告 诉  Ad Rota
tor  组 件 要 插 入 哪 些 广 告 以 及 每 个 广 告 显 示 时 间 的 百 分 比 。 我 们 已 经 为 您 创 建 了
一 个 包 含 广 告 的 文 件 。 要 查 看 它 , 请 用 文 本 编 辑 器 打 开  localhost Web  服 务 器 上
Tutorial  目 录  (C:\WINNT\Help\iis\htm\tutorial)  中 的  Adrot.txt  文 件 。   


文 件 第 一 行 设 置 的 脚 本 文 件 ( 此 处 是  Redirect.asp ) 将 在 用 户 单 击 广 告 时 被 调 用
。 通 过 修 改  Redirect.asp  文 件 , 可 以 在 链 接 到 广 告 客 户 的  Web  节 点 之 前 执 行 指
定 的 操 作 , 比 如 追 踪 广 告 受 欢 迎 的 程 度 。 后 面  3  行 规 定 了 广 告 图 像 的 宽 、 高 和 边
框 。

redirect /iishelp/iis/htm/tutorial/redirect.asp

width 180

height 180

border 1

接 下 来 , 文 件 包 含 了 广 告 数 据 。 对 每 一 个 广 告 , 都 包 括 使 用 的 图 像 、 用 户 单 击 时
转 向 的  URL ( 此 处 是 调 用  Redirect.asp  之 后 ) 、 图 像 的 说 明 文 字 以 及 广 告 显 示
时 间 的 百 分 比 :

/iishelp/iis/htm/tutorial/nyc.jpg

[url]http://www.microsoft.com[/url]

Big Deals in the Big Apple

35

通 过 在 分 离 的 文 件 中 维 护 广 告 信 息 , 您 单 位 中 的 不 同 小 组 就 能 够 更 新  Adrot.txt
  文 件 , 而 不 用 您 来 更 新  ASP  页 。 不 同 的 小 组 能 够 维 护 节 点 中 不 同 部 分 的 广 告 文
件 。   

创 建 脚 本

用 文 本 编 辑 器 打 开  localhost Web  服 务 器 上  Tutorial  目 录  (C:\WINNT\Help\i
is\htm\tutorial)  中 的  Bayshore.asp  文 件 。   

 

在  Bayshore.asp  文 件 的 开 头 , 在 任 何  HTML  标 记 或  ASP  语 句 之 前 , 粘 贴 以 下 脚
本 :   

〈 %@ LANGUAGE = "VBScript" % 〉

此 脚 本 是 一 个  ASP  指 令 语 句 , 告 诉  Web  服 务 器 您 的 脚 本 是 用  VBScript  编 写 的
。 这 个 指 令 语 句 必 须 位 于  ASP  文 件 的 第 一 行 。

 

查 找 文 字 “ Tutorial Lesson: Ad Rotator. ”   , 您 的 脚 本 将 插 入 到 这 一 行 之 后 。


 

下 列 脚 本 命 令 创 建 一 个  Ad Rotator  组 件 实 例 , 然 后 将 其 赋 值 给 变 量  Ad 。 请 将 下
列 脚 本 命 令 复 制 并 粘 贴 到 文 本 编 辑 器 中 ( 在 上 一 步 找 到 的 文 字 行 之 下 ) :   

〈 % Set Ad = Server.CreateObject("MSWC.Adrotator") % 〉   

将 一 个 组 件 实 例 赋 值 给 一 个 变 量 , 这 样 就 能 在 随 后 的 脚 本 中 引 用 这 个 组 件 。

 

如 果 在 此 以 前 , 另 一 个 用 户 已 经 学 完 了 教 程 的 这 一 部 分 , 那 么 此 脚 本 命 令 就 已 经
存 在 了 。 请 用 复 制 的 脚 本 覆 盖 已 有 的 脚 本 , 或 者 将 未 使 用 过 的  Bayshore.asp  从
Template  目 录 (C:\WINNT\Help\iis\htm\tutorial\template) 复 制 到  Tutorial
  目 录 中 。

 

若 要 显 示 新 广 告 , 可 以 使 用  Ad Rotator  组 件 的  GetAdvertisement  方 法 。 将 以
下 命 令 添 加 到 您 的 脚 本 中 :   

〈 %= Ad.GetAdvertisement("adrot2.txt")% 〉   

GetAdvertisement  方 法 需 要 一 个 参 数 , 就 是 包 含 广 告 信 息 的 文 件 的 名 称 。 该 名 称
可 以 与  Adrot.txt  不 同 , 此 处 是  Adrot2.txt 。 以 该 参 数 为 基 础 , 此 方 法 返 回 一
个 全 格 式 的  HTML  〈 IMG 〉   标 记 , 其 中 包 含 适 当 的 广 告 。 您 赋 予  Ad Rotator  组 件
实 例 的 变 量 名  Ad  在 前 , 然 后 是  GetAdvertisement  方 法 , 最 后 是 文 件 路 径  Adr
ot2.txt 。 等 号 将 方 法 返 回 的 值 ( 真 正 的 广 告 ) 发 送 给 用 户 的 浏 览 器 。

 

以 纯 文 本 格 式 保 存 文 件  Bayshore.asp , 然 后 退 出 文 本 编 辑 器 。 注 意 文 件 后 缀  .a
sp  不 要 被 文 本 编 辑 器 替 换 。   

 

若 要 验 证 您 创 建 的  ASP  页 是 否 正 常 运 行 , 请 将 您 的 浏 览 器 导 向  [url]http://localho[/url]
st/IISHelp/IIS/Help/Htm/Tutorial/Bayshore.asp 。 ( 此 后 若 要 返 回 本 教 程 , 只
要 在 浏 览 器 中 单 击 “ 上 一 页 ” 或 “ Back ” 按 钮 即 可 。 )

ruby 发表于 2003-12-8 00:24

使 用  Browser Capabilities ( 浏 览 器 性 能 ) 组 件

并 不 是 所 有 浏 览 器 都 支 持 现 今  Internet  技 术 的 方 方 面 面 。 有 一 些 特 性 , 某 些 浏
览 器 支 持 而 另 一 些 浏 览 器 却 不 支 持 , ActiveX  控 件 、 影 像 流 、 动 态  HTML  以 及 脚
本 小 程 序 就 是 这 样 的 。 使 用  ASP  的  Browser Capabilities  组 件 , 就 能 够 设 计 “
智 能 ” 的  Web  页 , 以 适 合 浏 览 器 性 能 的 格 式 呈 现 内 容 。 例 如 , 可 以 设 计 一 个  We
b  页 , 使 用  Browser Capabilities  组 件 来 检 测 用 户 的 浏 览 器 是 否 支 持 您 的 主 页
上 由  ActiveX  驱 动 的 徽 标 , 并 且 如 果 浏 览 器 不 支 持 , 可 以 在 替 代 的 表 格 中 显 示 该
徽 标 ( 如 静 态 图 像 ) 。   

在 本 课 中 , 您 将 扩 展 在 第 一 课 中 创 建 的  Ad Rotator  脚 本 , 包 含 激 活 脚 本 小 程 序
的 脚 本 。 脚 本 小 程 序 是 一 些 简 单 的  Web  页 , 其 中 包 含 了 脚 本 和  HTML , Web  编 撰
人 员 可 以 将 它 创 建 为 可 重 用 的 客 户 端 对 象 。 若 要 在  Web  页 中 包 含 脚 本 小 程 序 , 只
需 要 插 入 一 个  HTML  〈 OBJECT 〉   标 记 , 其 中 包 含 脚 本 小 程 序 的 类 型 和 位 置 信 息 。 在
本 课 中 , 您 要 插 入  Ad Rotator  脚 本 中 的 脚 本 小 程 序 , 使 用 了 “ 动 态  HTML (DHT
ML) ” 来 创 建 一 个 激 动 人 心 的 广 告 轮 换 器 , 它 的 每 一 幅 图 像 之 间 都 进 行 动 态 过 渡 。


目 前 , 只 有  Microsoft Internet Explorer 4.0  或 更 高 版 本 才 支 持 脚 本 小 程 序 和
一 定 的  DHTML  特 性 。 这 就 意 味 着 , 您 的  Ad Rotator  脚 本 必 须 能 够 检 测 浏 览 器 类
型 : 如 果 浏 览 器 是  Internet Explorer 4.0  或 更 高 版 本 , 用 户 将 能 够 看 到 一 组 连
续 出 现 的 广 告 , 并 且 有 变 化 的 动 态 过 渡 。 如 果 浏 览 器 不 是  Internet Explorer 4
.0  或 更 高 版 本 , 每 当 用 户 刷 新  Web  页 时 都 将 看 到 交 替 显 示 的 静 态 广 告 ( 它 们 由
Ad Rotator  组 件 生 成 ) 。

单 击 “ 演 示 ” 按 钮 , 可 以 看 到 一 个 由 脚 本 小 程 序 方 式 生 成 的  DHTML  广 告 轮 换 器 示
例 。 ( 如 果 您 的 浏 览 器 不 是  Microsoft Internet Explorer 4.0  或 更 高 版 本 , 您
将 看 到 与   第 一 课   相 同 的 静 态 广 告 。 )

 

----------------------------------------------------------------------
----------

 

----------------------------------------------------------------------
----------

创 建 脚 本   

要 点   开 始 本 课 以 前 , 您 必 须 学 完   第 一 课 。   

启 动 文 本 编 辑 器 并 打 开  Tutorial  目 录  (C:\WINNT\Help\iis\htm\tutorial)  中
的  Bayshore.asp  文 件 。

 

查 找 文 字 “ Tutorial Lesson: Start Browser Capabilities. ” , 您 的 脚 本 将 插
到 这 一 行 之 后 。

 

下 列 脚 本 命 令 创 建 一 个  Browser Capabilities  组 件 的 实 例 , 并 且 将 它 赋 值 给 变
量  objBrowser 。 请 将 这 些 脚 本 命 令 复 制 并 粘 贴 到  Bayshore.asp  文 件 中 :

〈 % Set objBrowser = Server.CreateObject("MSWC.BrowserType") % 〉

如 果 在 此 以 前 , 另 一 个 用 户 已 经 学 完 了 教 程 的 这 一 部 分 内 容 , 那 么 这 些 脚 本 就 已
经 存 在 了 。 用 复 制 的 脚 本 覆 盖 已 有 的 脚 本 , 或 者 将 未 使 用 过 的  Bayshore.asp  从
Template  子 目 录  (C:\WINNT\Help\iis\htm\tutorial\template)  复 制 到  Tuto
rial  目 录 中 。

 

使 用  VBScript  的  If...Then...Else  语 句 来 检 测 用 户 的 浏 览 器 是 不 是  Interne
t Explorer 4.0  或 更 高 版 本 。 如 果 是 , 将 使 用 脚 本 小 程 序 ; 如 果 不 是 , 则 不 支 持
脚 本 小 程 序 , 就 使 用 服 务 器 端 的  Ad Rotator  组 件 。 要 完 成 该 逻 辑 判 断 功 能 , 请
将 下 列 脚 本 复 制 并 粘 贴 到 第  2  步 插 入 的   〈 % Set objBrowser...% 〉   语 句 之 后 :   


〈 % If objBrowser.browser = "IE" and objBrowser.majorver  〉 = 4 Then

% 〉

〈 OBJECT ID="scriptlet"  

STYLE = " position:relative;height:200;width:200"

TYPE = "text/x-scriptlet"

DATA = "..\tutorial\rotate5.htm" 〉

〈 /OBJECT 〉

〈 % Else % 〉   

如 果 在 此 以 前 , 另 一 个 用 户 已 经 学 完 了 教 程 的 这 一 部 分 , 那 么 这 些 脚 本 就 已 经 存
在 了 。 请 用 复 制 的 脚 本 覆 盖 已 有 的 脚 本 , 或 者 将 未 使 用 过 的  Bayshore.asp  从  T
emplate  子 目 录  (C:\WINNT\Help\iis\htm\tutorial\template)  复 制 到  Tutori
al  目 录 中 。   

 

Browser Capabilities  组 件 的  browser  和  majorver  属 性 可 以 检 测 用 户 的 浏 览
器 是 不 是  Internet Explorer 4.0  或 更 高 版 本 。 使 用  HTML  〈 OBJECT 〉   标 记 可 以
将 脚 本 小 程 序 插 入 到  Web  页 中 。 这 个 标 记 的 属 性 指 定 了 脚 本 小 程 序 的 类 型  (x-s
criptlet) 、 位 置 和 大 小 。 真 正 的 脚 本 小 程 序 源 文 件 名 叫  Rotate5.htm 。 如 果 您 感
兴 趣 , 可 以 在  Tutorial  目 录  (C:\WINNT\Help\iis\htm\tutorial)  中 找 到 它 。
您 可 以 用 “ 记 事 本 ” 或 任 何  HTML  编 辑 工 具 来 打 开 它 。

 

查 找 文 字 “ Tutorial Lesson - End Browser Capabilities. ” , 将 以 下 脚 本 命 令
复 制 并 粘 贴 到 找 到 的 文 字 行 之 后 , 以 结 束  If...Then...Else  语 句 :   

〈 %End If % 〉   

如 果 在 此 以 前 , 另 一 个 用 户 已 经 学 完 了 教 程 的 这 一 部 分 , 那 么 这 些 脚 本 命 令 就 已
经 存 在 了 。 请 用 复 制 的 脚 本 覆 盖 已 有 的 脚 本 , 或 者 将 未 使 用 过 的  Bayshore.asp  
从  Template  子 目 录  (C:\WINNT\Help\iis\htm\tutorial\template)  复 制 到  Tu
torial  目 录 中 。

 

以 纯 文 本 格 式 保 存  Bayshore.asp  文 件 , 并 且 退 出 文 本 编 辑 器 。 注 意 文 件 后 缀  .
asp  不 要 被 文 本 编 辑 器 替 换 。   

 

若 要 验 证 您 创 建 的  ASP  页 是 否 正 常 运 行 , 请 将 您 的 浏 览 器 导 向  [url]http://localho[/url]
st/IISHelp/IIS/Help/Htm/Tutorial/Bayshore.asp  。 ( 此 后 若 要 返 回 本 教 程 ,
只 要 在 浏 览 器 中 单 击 “ 上 一 页 ” 或 “ Back ” 按 钮 即 可 。 )   

注 意  Browscap.ini  文 件 ( 默 认 情 况 下 位 于  Winnt\System32\Inetsrv ) 包 含 了 必
需 的 数 据 , Browser Capabilities  组 件 用 该 文 件 识 别 浏 览 器 及 其 性 能 。 当 新 浏 览
器 开 发 出 来 后 , 需 要 将 新 数 据 添 加 到 该 文 件 中 。 如 果 正 使 用 的 浏 览 器 独 有 特 性 没
有 列 在 默 认 的  Browscap.ini  文 件 中 , 也 需 要 将 新 数 据 添 加 进 去 。

ruby 发表于 2003-12-8 00:25

使 用  Database Access  ( 数 据 库 访 问 ) 组 件   

ASP  的  Database Access  组 件 使 用  ActiveX Data Objects (ADO)  提 供 一 种 轻 而
易 举 的 方 法 , 可 以 访 问 存 储 在 数 据 库 或 其 他 表 格 式 数 据 结 构 ( 如 电 子 表 格 ) 中 的
信 息 , 只 要 它 们 遵 循  Open Database Connectivity (ODBC)  标 准 即 可 。 在 本 课 中
, 您 将 连 接 到 一 个  Microsoft? Access  客 户 数 据 库 , 并 且 显 示 目 录 列 表 。 您 将 学
习 如 何 使 用  SQL SELECT  语 句 来 检 索 数 据 , 并 且 创 建 一 个  HTML  表 格 来 显 示 结 果


 

----------------------------------------------------------------------
----------

 

 

       

 

       

 

       

 

 

----------------------------------------------------------------------
----------

识 别 数 据 库

在 通 过  Database Access  组 件 使 用 一 个 数 据 库 之 前 , 必 须 在 “ 控 制 面 板 ” 的  OD
BC  程 序 中 识 别 这 个 数 据 库 。 在 本 例 中 , 您 将 使 用 本 教 程 提 供 的 一 个  Microsoft?
Access  数 据 库 。

在 运 行  Web  服 务 器  (localhost)  的 计 算 机 上 , 打 开 “ 控 制 面 板 ” 。   

 

双 击 “ ODBC ” 图 标 , 然 后 单 击 “ 系 统  DSN ” 选 项 卡 。   

DSN  将 告 诉 数 据 库 驱 动 程 序 ( 用 来 配 置 数 据 库 并 与 其 通 讯 的 程 序 ) 数 据 库 文 件 所
在 的 位 置 。 您 可 以 创 建  3  种 类 型 的  DSN:  用 户  DSN (User DSN) , 只 能 对 您 起 作
用 ;   系 统  DSN (System DSN) , 可 以 对 计 算 机 的 所 有 用 户 起 作 用 ;   文 件  DSN (F
ile DSN) , 将  DSN  信 息 保 存 为 文 件 , 并 且 允 许 所 有 用 户 使 用 相 同 的 数 据 库 驱 动 程
序 。 本 教 程 使 用 的  DSN  必 须 是 系 统  DSN (System DSN)  。

单 击 “ 添 加 ” , 选 择 “ Microsoft Access  驱 动 程 序 ” , 然 后 单 击 “ 完 成 ” 。   

 

在 “ 数 据 源 名 称 ” 框 中 , 键 入  ASPTutorial , 然 后 单 击 “ 选 择 ” 。 选 择  BTCustm
r.mdb  文 件 ( 默 认 情 况 下 位 于  WINNT\Help\IIS\Htm\Tutorial  目 录 中 ) , 然 后 单
击 “ 确 定 ” 。   

 

单 击 “ 确 定 ” 关 闭 对 话 框 。   

创 建 组 件 实 例

用 文 本 编 辑 器 打 开  localhost Web  服 务 器 上  Tutorial  目 录  ( C:\WINNT\Help\
iis\htm\tutorial)  中 的  Database.asp  文 件 。

 

查 找 文 字 “ Define Scripting Language ” , 将 下 列 脚 本 插 入 找 到 的 文 字 行 之 后 :
  

〈 %@ LANGUAGE = "VBScript" % 〉

必 须 保 证 这 个 标 记 是 所 有  .asp  文 件 的 第 一 个 脚 本 行 。

 

查 找 文 字 “ Tutorial Lesson - ADO Connection ” , 脚 本 将 插 入 到 找 到 的 文 字 行
之 后 。   

 

必 须 先 创 建 一 个 对 象 的 实 例 , 然 后 才 能 使 用 它 。 请 复 制 并 粘 贴 以 下 脚 本 命 令 :   


〈 %  

Set objConnection = Server.CreateObject("ADODB.Connection")  

如 果 在 此 以 前 , 另 一 个 用 户 已 经 学 完 了 教 程 的 这 一 部 分 , 那 么 这 些 脚 本 命 令 就 已
经 在 “ Tutorial Lesson ” 注 释 行 以 下 了 。 请 用 复 制 的 脚 本 覆 盖 已 有 的 脚 本 , 或 者
将 未 使 用 过 的  Database.asp  从  Template  子 目 录  (C:\WINNT\Help\iis\htm\tu
torial/template)  复 制 到  Tutorial  目 录 中 。

 

对 于  Database Access  组 件 来 说 , 您 必 须 指 定  ODBC  数 据 源 ( 要 从 其 中 检 索 数 据
的 数 据 库 ) , 方 法 是 打 开 一 个 到 数 据 库 的 连 接 。 复 制 并 粘 贴 以 下 脚 本 命 令 :   

objConnection.Open "ASPTutorial"  

使 用  Database Access  组 件 的  Execute  方 法 , 可 以 向 数 据 库 发 送 一 个 将 结 构 化
查 询 语 言  (Structured Query Language, SQL)  的  SELECT  命 令 , 并 且 将 返 回 的
记 录 保 存 到 结 果 集 合  (rsCustomersList)  中 。 请 将 下 列 脚 本 命 令 复 制 并 粘 贴 到   
objConnection.Open  语 句 之 后 :   

SQLQuery = "SELECT * FROM Customers"  

Set rsCustomersList = objConnection.Execute(SQLQuery)

% 〉

如 果 将  SQL  查 询 字 符 串 直 接 传 递 给  Execute  方 法 , 而 不 是 先 给 变 量  SQLQuery  
赋 值 , 就 可 以 将 这 两 行 合 并 。 当  SQL SELECT  行 比 较 长 时 , 为 使 脚 本 易 读 一 些 ,
可 以 将 字 符 串 赋 值 给 一 个 变 量 ( 如  SQLQuery ) , 然 后 将 变 量 名 传 递 给  Execute  
方 法 。   

 

显 示 返 回 的 结 果 集 合

您 可 以 将 结 果 集 合 视 为 一 个 表 格 , 这 个 表 格 的 结 构 由  SQL SELECT  语 句 中 的 字 段
决 定 。 显 示 检 索 返 回 的 行 , 就 象 在 结 果 集 合 中 按 行 数 执 行 循 环 一 样 简 单 。 在 本 示
例 中 , 返 回 的 数 据 显 示 在  HTML  表 格 行 中 。   

在  Database.asp  文 件 中 , 查 找 文 字 “ Tutorial Lesson - Display ADO Data ”
, 将 以 下 脚 本 复 制 并 粘 贴 到 找 到 的 行 之 后 :   

〈 % Do Until rsCustomersList.EOF% 〉

〈 tr 〉

〈 td bgcolor="f7efde" align=center 〉

〈 %= rsCustomersList("ContactFirstName")% 〉   

〈 %= rsCustomersList("ContactLastName") % 〉

〈 /td 〉

〈 td bgcolor="f7efde" align=center 〉   

〈 a href="mailto: 〈 %= rsCustomersList("ContactLastName")% 〉 " 〉

〈 %= rsCustomersList("ContactLastName")% 〉   〈 /a 〉

〈 /td 〉

〈 td bgcolor="f7efde" align=center 〉

〈 %= rsCustomersList("City")% 〉

〈 /td 〉

〈 td bgcolor="f7efde" align=center 〉

〈 %= rsCustomersList("StateOrProvince")% 〉

〈 /td 〉

〈 /tr 〉   

如 果 在 此 以 前 , 另 一 个 用 户 已 经 学 完 了 教 程 的 这 一 部 分 , 那 么 这 些 脚 本 命 令 就 已
经 存 在 了 。 用 复 制 的 脚 本 覆 盖 已 有 的 脚 本 , 或 者 将 未 使 用 过 的  Bayshore.asp  从
Template  目 录 复 制 到  Tutorial  目 录 中 。

当 条 件 为 “ 真 ” 时 , VBScriptDo...Loop  语 句 重 复 执 行 一 段 语 句 。 被 重 复 执 行 的
语 句 可 以 是 脚 本 命 令 或  HTML  文 本 和 标 记 。 因 此 , 在 循 环 的 每 次 重 复 中 , 您 都 可
以 用  HTML  画 出 表 格 行 , 并 且 用 脚 本 命 令 插 入 返 回 的 数 据 。

要 完 成 循 环 , 还 要 使 用  MoveNext  方 法 来 移 动 行 指 针 到 下 一 行 。 因 为 这 一 语 句 仍
然 在  Do...Loop  语 句 中 , 所 以 它 一 直 重 复 , 直 到 到 达 文 件 结 尾 才 停 止 。 请 复 制 以
下 脚 本 , 并 将 其 粘 贴 到 “ Tutorial Lesson - Retrieve Next Row ” 行 之 后 :   

〈 %  

rsCustomersList.MoveNext  

Loop  

% 〉

以 纯 文 本 格 式 保 存  Database.asp  文 件 , 并 且 退 出 文 本 编 辑 器 。 注 意 文 件 后 缀  .
asp  不 要 被 文 本 编 辑 器 替 换 。   

 

若 要 验 证 您 创 建 的  ASP  页 是 否 正 常 运 行 , 请 将 您 的 浏 览 器 导 向  [url]http://localho[/url]
st/IISHelp/IIS/Help/Htm/Tutorial/Database.asp 。 ( 此 后 若 要 返 回 本 教 程 , 只
要 在 浏 览 器 中 单 击 “ 上 一 页 ” 或 “ Back ” 按 钮 即 可 。 )   

自 学 参 考   

如 果 您 正 使 用  Windows NT , 要 参 阅 更 完 整 的  Database Access  组 件 示 例 , 可 以
访 问  Exploration Air  示 范 节 点 。 单 击  Behind the Scenes  图 像 , 可 以 学 习 用
来 创 建 这 个  Web  节 点 的 脚 本 的 更 多 知 识 。 在  Bayshore Travel Web  页 上 也 有 指
向  Exploration Air  示 范 节 点 的 链 接 。

注 意   如 果 您 还 没 有 访 问  Exploration Air  示 范 节 点 , 上 面 的 链 接 将 把 您 带 到  E
xploration Air  主 页 。 此 后 若 要 返 回 本 教 程 , 只 要 在 浏 览 器 中 单 击 “ 上 一 页 ” 或
“ Back ” 按 钮 即 可 。

现 在 , 您 已 经 用 过 了  ActiveX  组 件 , 让 我 们 来 学 习   模 块  3 : 编 写 自 己 的 组 件 。
  

 

----------------------------------------------------------------------
----------

模 块  3 : 编 写 自 己 的 组 件

请 选 择 本 课 的 脚 本 语 言 。

在 模 块  2  中 , 您 已 经 熟 悉 了  ASP  提 供 的 组 件 , 现 在 该 创 建 自 己 的 组 件 来 满 足 自
己 的 特 殊 需 要 了 。

假 设 您 需 要 创 建 一 个  ASP  程 序 , 以 便 通 过  Web  节 点 提 供 特 定 的 财 务 功 能 。 ASP  
没 有 直 接 提 供 这 样 的 功 能 , 不 过 您 可 以 通 过 创 建 自 己 的  Java  或  ActiveX  组 件 来
解 决 问 题 。 您 将 在 本 模 块 中 学 会 这 些 。

如 果 要 学 习 如 何 创 建 并 使 用 组 件 , 首 先 使 用 下 面 的 表 格 进 行 选 择 :

 

----------------------------------------------------------------------
----------

选 择 本 课 要 创 建 的 组 件 类 型 :

Visual Basic 5.0 ActiveX  组 件

Visual J++ 1.1 Java?  组 件

 

----------------------------------------------------------------------
----------

要 点   

若 要 保 存 并 查 看 您 在 本 模 块 中 的 工 作 结 果 , 需 要 :   

对  localhost Web  服 务 器 上 的  /iishelp/iis/htm/tutorial  虚 拟 目 录 具 有 “ 写
(Write) ” 和 “ 改 编  Web  服 务 器  (Script Web server) ” 权 限 。 详 细 信 息 , 请 参
阅   设 置  Web  服 务 器 权 限 。   

您 的  Windows NT  帐 号 , 必 须 在  DriveLetter:\Winnt\System32\Inetsrv\  目 录
及 其 子 目 录 上 具 有  Windows NT File System (NTFS)  的 读 、 写 和 运 行 程 序 权 限 (
此 处 的  DriveLetter  代 表  localhost Web  服 务 器 的 适 当 的 驱 动 器 号 , 如 果 您 没
有 安 装 到 默 认 目 录 下 , 请 用 您 的 安 装 目 录 代 替  \Winnt\System32 ) 。   

要 完 成 本 模 块 , 必 须 在  localhost Web  服 务 器 上 安 装 :   

Microsoft? Visual Basic 5.0  专 业 版 的  32  位 版 本 或  Visual Basic 5.0  企 业
版 开 发 系 统 。   

如 果 已 经 禁 止 了  Web  浏 览 器 运 行  Java  程 序 功 能 , 请 在 开 始 教 程 以 前 启 用 该 功 能

ruby 发表于 2003-12-8 00:25

创 建  ActiveX  财 务 组 件

组 件 将 包 含 一 组 相 关 的 方 法 ( 函 数 ) , 用 来 提 供 脚 本 语 言 所 不 具 有 的 功 能 。 由 于
VBScript  不 提 供 财 务 函 数 , 所 以 您 必 须 通 过 自 己 的  Finance  服 务 器 组 件 来 提 供
对  Visual Basic  财 务 函 数 的 使 用 能 力 。 该 服 务 器 组 件 能 提 供 所 有 的  Visual Ba
sic  财 务 函 数 , 包 括  DDB  函 数 ( 双 倍 余 额 递 减 法 ) 、 FV  函 数 ( 未 来 值 ) 、 IPmt
  函 数 ( 支 付 利 息 ) 、 IRR  函 数 ( 内 部 回 报 率 ) 以 及 其 他 函 数 。 不 过 , 在 本 教 程 中
, 您 将 只 使 用  FV  函 数 , 基 于 固 定 利 率 及 等 额 定 期 支 付 方 式 , 返 回 一 笔 年 金 。   


 

启 动  Visual Basic

单 击 “ 开 始 ” 按 钮 , 指 向 “ 程 序 ” , 然 后 指 向 “ Microsoft Visual Basic 5.0 ”
  

单 击 子 菜 单 中 的 “ Visual Basic 5.0 ” , 运 行 编 程 环 境 。   

开 始 并 命 名 一 个 工 程

在 “ New Project ” 对 话 框 中 , 双 击 “ ActiveX DLL ” 。   

在 “ Project ” 菜 单 上 , 单 击 “ Project1 Properties ” 。   

在 “ General ” 属 性 页 的 “ Project Name ”   框 中 , 键 入 “ MS ” 。   

选 择 “ Unattended Execution ” 。   

注 意   选 择 该 选 项 表 明 这 个 工 程 运 行 时 不 需 要 用 户 交 互 , 并 且 将 不 具 有 用 户 交 互 的
基 础 。

 

单 击 “ OK ” 。   

现 在 工 程 被 命 名 为 “ MS ” 。 以 后 , 您 将 从  ASP  脚 本 中 以  MS.Finance  的 形 式 引 用
Finance  服 务 器 组 件 。   

 

将  Finance Class  添 加 到 工 程 中

在  Visual Basic  中 , 若 要 创 建 具 有 一 组 可 以 调 用 的 函 数 组 件 , 必 须 定 义 一 个   类
。 一 个 类 包 含 一 组 方 法 和 属 性 。 在 您 的 工 程 中 , 类 就 是 您 说 明 财 务 方 法 的 地 方 。


 

按 下  F4  键 打 开 类 模 块 的 “ Properties ” 窗 口 , 双 击 “ Name ” 属 性 并 键 入 “ Func
tion ” , 然 后 按  Enter 。   

双 击 “ Instancing ” 。   

单 击 箭 头 , 然 后 选 择 “ 5 - MultiUse ” 。   

进 一 步 学 习  Visual Basic  财 务 函 数

Visual Basic  的 帮 助 系 统 描 述 了 可 以 使 用 的 财 务 函 数 。

 

单 击 “ Help ” 。   

选 择 “ Microsoft Visual Basic Help Topics ” 。   

选 择 “ Index ” 选 项 卡 , 然 后 键 入 “ financial functions ” 作 为 查 找 的 文 字 。   


双 击 “ financial functions ” 索 引 条 。   

单 击 “ FV Function ” , 学 习 该 函 数 。   

学 习 完 财 务 函 数 后 , 关 闭 “ Visual Basic Help ” 对 话 框 。   

将  CalcFV  函 数 添 加 到  Finance  类

Finance  服 务 器 组 件 需 要 一 些 代 码 。 这 些 代 码 让 使 用 您 组 件 的 语 言 可 以 调 用  Vis
ual Basic  内 建 的 未 来 值 函 数 。   

 

将 下 列 行 复 制 并 粘 贴 到  Finance  类 的 代 码 窗 口 中 :

 

Public Function CalcFV(rate, nper, pmt, Optional pv, Optional whendue)
  

CalcFV = FV(rate, nper, pmt, pv, whendue)

End Function

添 加 组 件 的 入 口 点

所 有 服 务 器 组 件 都 需 要 一 个 入 口 ( 起 始 ) 点 。 这 是 当 对 象 第 一 次 可 用 于 一 种 语 言
时 , 将 被 调 用 的 代 码 。 在  VBScript  中 , 当 您 使 用  Server.CreateObject  时 , 将
创 建 对 象 的 一 个 实 例 。 当 执 行  Server.CreateObject  语 句 时 , ( 由  Visual Bas
ic  创 建 的 ) 服 务 器 组 件 上 的  Sub Main  过 程 将 被 调 用 。

当 您 的 财 务 组 件 被 调 用 时 , 它 不 需 要 任 何 特 殊 代 码 来 初 始 化 自 身 。 因 此 , 需 要 提
供 一 个 空 的 ( 没 有  Visual Basic  语 句 的 ) Sub Main  过 程 。   

 

选 择 “ Project ” 菜 单 中 的 “ Add Module ” 。   

在 “ Module 1 ” 对 话 框 中 , 双 击 模 块 图 标 。   

在  Module 1  代 码 窗 口 中 , 键 入  Sub Main 。   

按 下  Enter  键 。   

将 自 动 进 入 如 下 代 码 :

 

Sub Main()

End Sub

保 存  Finance  工 程

当 保 存 所 作 的 工 作 时 , 将 询 问 您 是 否 保 存  Visual Basic  工 程 的 全 部  3  部 分 。 其
中 包 括 工 程 文 件 、 类 模 块 和 代 码 模 块 。

 

打 开 “ File ” 菜 单 。   

选 择 “ Save Project ” 。   

在 “ File name ” 文 本 框 中 , 键 入 “ Finance ” 。 选 择  localhost Web  服 务 器 上 的
如 下 路 径 : DriveLetter:\Winnt\System32\Inetsrv\ , 其 中  DriveLetter  是 适 当
的 驱 动 器 号 。 ( 如 果 您 没 有 接 受 默 认 的 安 装 目 录 , 请 用 您 的 安 装 目 录 替 换  \Winn
t\System32 。 )   

单 击 “ Save ” 按 钮 。   

如 果 在 此 以 前 , 另 一 个 用 户 已 经 学 完 了 教 程 的 这 一 部 分 , 将 出 现 一 条 消 息 , 提 示
文 件 已 经 存 在 。 请 用 您 的 文 件 覆 盖 旧 文 件 。

 

双 击 “ File name ” 文 本 框 中 的 值   “ Project1 ” , 选 中 它 。   

为 工 程 文 件 键 入 名 称 “ Finance ”  (.vbp) 。   

单 击 “ Save ” 按 钮 保 存 工 程 。   

如 果 在 此 以 前 , 另 一 个 用 户 已 经 学 完 了 教 程 的 这 一 部 分 , 将 出 现 一 条 消 信 息 , 提
示 文 件 已 经 存 在 。 请 用 您 的 文 件 覆 盖 旧 文 件 。

 

成 为 “ 进 程 内  (In-Process) ” 组 件

Visual Basic  允 许 您 创 建 进 程 内  ActiveX  组 件 ( 通 常 称 为  OLE  自 动 服 务 器 ) 和
进 程 外  ActiveX  组 件 。 一 个 进 程 内  ActiveX  组 件 是 一 个 动 态 链 接 库 ( 带  .dll  
后 缀 ) , 由 调 用 它 的 进 程 进 行 加 载 。 一 个 进 程 外  ActiveX  组 件 是 一 个 可 执 行 文 件
( 带  .exe  后 缀 ) , 当 它 被 应 用 程 序 调 用 后 , 以 独 立 进 程 的 状 态 运 行 。 由 于 进 程
内 组 件 与 调 用 它 的 程 序 在 同 一 个 进 程 空 间 , 所 以 性 能 比 进 程 外 组 件 要 佳 。

使  Finance  服 务 器 组 件 成 为 进 程 内  ActiveX  组 件

打 开 “ File ” 菜 单 。   

选 定 “ Make Finance.dll ” 。   

单 击 “ Options ” 按 钮 。   

选 定 “ Auto Increment ” 复 选 框 。   

单 击 “ OK ” 。   

键 入  DriveLetter:\localhost\Winnt\System32\Inetsrv\Finance , 其 中  Drive
Letter  是 适 当 的 驱 动 器 号 。 ( 如 果 您 没 有 接 受 默 认 的 安 装 目 录 , 请 用 您 的 安 装 目
录 替 换  \Winnt\System32 。 )

如 果 在 此 以 前 , 另 一 个 用 户 已 经 学 完 了 教 程 的 这 一 部 分 , 将 出 现 一 条 消 信 息 , 提
示 文 件 已 经 存 在 。 请 用 您 的 文 件 覆 盖 旧 文 件 。   

退 出  Visual Basic 。   

注 册  Finance  服 务 器 组 件

所 有 服 务 器 组 件 都 必 须 注 册 。 Windows NT  和  Windows 95  用 系 统 注 册 表 来 追 踪 哪
个 服 务 器 组 件 是 可 用 的 。 在 您 的 计 算 机 上 将  Finance  服 务 器 组 件 注 册 后 , 就 可 以
在  VBScript  和 所 有 兼 容  OLE  的 语 言 中 调 用 它 了 。

打 开 一 个 命 令 提 示 符 窗 口 。   

在 命 令 提 示 符 后 键 入  cd Drive Letter:\localhost\Winnt\System32\Inetsrv ,
其 中  DriveLetter  是 适 当 的 驱 动 器 号 。 ( 如 果 您 没 有 接 受 默 认 的 安 装 目 录 , 请 用
您 的 安 装 目 录 替 换  \Winnt\System32 。 )   

按 下  Enter  键 。   

键 入  regsvr32 Finance.dll 。   

按 下  Enter  键 。   

当 出 现 一 个 对 话 框 显 示 “ DllRegisterServer in finance.dll succeeded ” 时 ,
请 单 击 “ OK ” 按 钮 。   

关 闭 命 令 提 示 符 窗 口 。

ruby 发表于 2003-12-8 00:26

从 脚 本 调 用  Finance  组 件

要 测 试 组 件 , 可 以 从  ASP 、 Visual Basic 、 Microsoft? Office  产 品 的  Visual  
Basic for Applications  或 任 何  OLE  自 动 控 件 来 调 用 组 件 。

要 使 用  VBScript  从  ASP  调 用  Finance  组 件 , 可 以 使 用 一 个  HTML  表 格 作 为 输
入 来 计 算 某 人 存 款 计 划 的 未 来 值 。

所 需 的  HTML  表 格

我 们 将 使 用 一 个  HTML  表 格 后 , 就 能 用  Request("APR")  的 方 式 引 用 。 HTML  标 记
  〈 INPUT TYPE=TEXT NAME=APR 〉   提 供 了 输 入 数 值 所 需 的 字 段 。

要 将 表 格 标 记 的  ACTION  属 性 指 定 的 网 页 。 “ Submit ” 按 钮 的  HTML  标 记  ( 〈 INP
UT TYPE=SUBMIT VALUE=" Calculate Future Value " 〉 )  使 用  ACTION  的 值 , 从
HTML  表 格 标 记  ( 〈 FORM METHOD=POST ACTION="Finance.asp" 〉 )  来 调 用  ASP  页
Finance.asp 。

我 们 已 经 为 您 创 建 好 了 表 格 。 用 文 本 编 辑 器 打 开  localhost Web  服 务 器 上  Tuto
rial  目 录  (C:\WINNT\Help\iis\htm\tutorial)  中 的  FVform.asp  文 件 即 可 。


脚 本

我 们 使 用  VBScript  来 调 用 您 的  Finance  服 务 器 组 件 。 脚 本 首 先 确 认 来 自  HTML
  表 格 中 任 何 没 有 输 入 的 变 量 赋 默 认 值 。   

Server.CreateObject  创 建 一 个  Finance  组 件 的 实 例 ( 也 就 是 使 组 件 可 用 ) , 名
为  MS.Finance 。 为 组 件 创 建 实 例 以 后 , 就 可 以 使 用 组 件 的 方 法 和 属 性 了 。 在 脚 本
中 紧 随  Server.CreateObject  之 后 , 使 用 了  CalcFV  方 法 来 计 算 存 款 计 划 的 未 来
值 。 计 算 结 果 将 出 现 在 请 求 这 个 信 息 的 浏 览 器 中 。

要 查 看 脚 本 , 请 用 文 本 编 辑 器 打 开  Tutorial  目 录  (C:\WINNT\Help\iis\htm\tu
torial)  中 的  Finance.asp  文 件 。

用 浏 览 器 进 行 测 试

要 运 行  Finance.asp ASP  页 , 请 打 开  FVform.asp  文 件 , 该 文 件 将 绘 制 一 个 表 格
并 调 用  Finance.asp  脚 本 来 计 算 表 格 中 描 述 的 存 款 计 划 的 未 来 值 。

要 打 开  FVform.htm , 请 将 浏 览 器 导 向  [url]http://localhost/iishelp/iis/htm/tut[/url]
orial/FVform.asp 。   

在 “ Savings Plan ” 表 格 中 输 入 数 值 。   

单 击 “ Calculate Future Value ” 按 钮 。 存 款 计 划 的 结 果 将 会 出 现 。   

经 过 不 长 时 间 的 学 习 , 您 已 经 创 建 了 一 个 有 用 的  ActiveX  服 务 器   组 件 。 如 果 需
要 使 用 其 他 财 务 函 数 , 只 要 通 过  Visual Basic  将 其 他 方 法 添 加 到  Finance  服 务
器 组 件 中 , 就 可 以 执 行 其 他 财 务 函 数 了 。 我 们 鼓 励 您 进 行 尝 试 并 提 出 创 造 性 的 方
法 来 利 用 自 己 的  ActiveX  组 件 。 您 很 快 将 会 发 现 , 用 组 件 来 开 发  Web  应 用 程 序
几 乎 没 有 任 何 限 制 。



----------------------------------------------------------------------
----------

 

Disillusion 发表于 2004-1-8 11:30

梵人太强了

木木 发表于 2004-1-9 08:26

加精,好难得看到Disillusion兄呀:)

笑笑 发表于 2004-4-22 00:51

写得太好了 看得头痛了 还要看 嘻嘻

zrx-power 发表于 2006-7-26 20:44

回复: ASP技巧

这帖不顶不是人

harries.li 发表于 2006-11-14 17:22

基本看不懂,全部复制到Word里面了

页: [1]

Powered by Discuz! Archiver 6.1.0  © 1999-2008 bbs.bitsCN.com