第一部分 VBScript:语言部分 2
第一章 介绍HTML 脚本编制 2
1.1 引言 3
1.2 制作Web页面 3
1.3 定义 3
1.4 起步——HTML 4
1.4.1 <HTML>标注 5
1.4.2 <HEAD>标注 5
1.4.3 <TITLE>标注 5
1.4.4 <BODY>标注 5
1.4.5 标头 6
1.4.6 段落 7
1.4.7 <FONT>标注 7
1.4.8 文档中的链接 8
1.4.9 图形 9
1.4.10 HTML中的多媒体 11
1.4.11 表 12
1.4.12 HTML中的窗体 15
1.4.13 在HTML中使用CGI脚本 17
1.4.14 其他的HTML标注 19
1.4.15 框架 20
1.5 脚本编制 20
1.6 对象 21
1.7 ActiveX控件 22
1.8 小结 22
第二章 VBScript语言 23
2.1 引言 24
2.2 Visual Basic和VBScript的区别 24
2.3 VBScript中的编程 24
2.3.1 创建一个测试页面 25
2.3.2 什么是程序 26
2.3.3 需要理解的概念:变量和进程 27
2.3.4 VBScript代码剖析 28
2.4 数据类型 29
2.4.1 变体类型的子类型(subtypes) 29
2.4.2 使用变量 30
2.4.3 常量 35
2.5 程序流程 36
2.5.1 操作符 36
2.5.2 程序中的判决 37
2.5.3 If匱hen匛lsc 37
2.5.4 For匩ext... 38
2.5.5 Do匧oop 39
2.5.6 For Each匩ext 40
2.5.7 While匴end 40
2.6 小结 40
第三章 VBScript函数 41
3.1 引言 42
3.2 脚本中的过程 42
3.2.1 Sub过程和Function过程 42
3.2.2 过程中的参数 44
3.2.3 创建并调用函数 44
3.3 固有函数 44
3.4 基本函数 45
3.4.1 InputBox 45
3.4.2 Ien 46
3.4.3 MsgBox 46
3.4.4 VarType 49
3.5 字符串函数 49
3.5.1 Asc 49
3.5.2 Chr 50
3.5.3 InStr 50
3.5.4 Lcase 51
3.5.5 Left 51
3.5.6 LTrim 51
3.5.7 Mid 51
3.5.8 Right 52
3.5.9 RTrim 52
3.5.10 Str() 52
3.5.11 StrComp 52
3.5.12 String 53
3.5.13 Trim 53
3.5.14 UCase 53
3.5.15 Val 53
3.6 转换函数 53
3.6.1 CByte 54
3.6.2 CDbl 54
3.6.3 CInt 54
3.6.4 CLng 54
3.6.5 CStr 54
3.6.6 CVErr 54
3.7 数学函数 54
3.7.2 Array 55
3.7.3 Atn 55
3.7.4 Exp 55
3.7.5 Hex 55
3.7.6 Int 55
3.7.7 Fix 55
3.7.8 Log 56
3.7.9 Oct 56
3.7.10 Rnd 56
3.7.11 Sgn 57
3.7.12 Sqr 58
3.7.13 Sin 58
3.7.14 Tan 58
3.8 时间和日期函数 58
3.8.1 Date 58
3.8.2 DateSerial 59
3.8.3 DateValue 59
3.8.4 Day 59
3.8.5 Hour 59
3.8.6 Year 59
3.8.7 Weekday 59
3.8.8 Minute 60
3.8.9 Month 61
3.8.10 Now 61
3.8.11 Second 61
3.8.12 Time 61
3.8.13 TimeSerial 61
3.8.14 TimeValue 61
3.9 布尔(Boolean)函数 62
3.10 小结 63
第四章 固有控件 64
4.1 引言 65
4.2 VBScript中的事件 65
4.3 在一个GUI环境下的消息 65
4.4 在HTML中放置控件 66
4.5 固有控件 68
4.5.1 按钮(Button) 68
4.6 选择框(CheckBox) 69
4.6.1 Hidden 71
4.6.2 Text 71
4.6.3 Textarea 73
4.7 Select 74
4.8 在文档中使用控件 75
4.9 小结 78
第五章 Web页面中的VBScript 79
5.1 使用VBScript和HTML 80
5.1.1 使用onLoad事件 80
5.1.2 在HTML中嵌入VBScript 81
5.1.3 用VBScript创建一个新的页面 81
5.2 使用VBScript和CGI/ISAPI 85
5.3 支持数据库 86
5.3.1 定义一个ODBC数据源 86
5.3.2 创建IDC脚本文件 86
5.3.3 创建输出模板文件 87
5.3.4 查看结果 88
5.4 小结 92
第六章 脚本编制模板 93
6.1 Windows(窗口)、Documents(文档)和Frames(框架) 94
6.1.1 window对象的属性 96
6.1.2 方法 98
6.2 document对象 102
6.2.1 document对象的属性 102
6.2.2 document对象的方法 105
6.3 使用document属性和方法 106
6.3.1 自动变更文档 107
6.3.2 颜色循环 109
6.3.3 年历 109
6.4 history对象 114
6.4.1 HistoryObject工程 115
6.5 navigator对象 116
6.5.1 BrowserInfo工程 117
6.5.2 NavigatorObject工程 118
6.6 location对象 120
6.6.1 LocationObject工程 121
6.7 link对象 123
6.7.1 LinksObject工程 124
6.8 小结 125
第二部分 VBScript中的对象 128
第七章 使用ActiveX控件 128
7.1 客户控件的简短历史 129
7.3 登记您的ActiveX控件 130
7.4 在您的Web页面中放置一个ActiveX控件 130
7.5 安装和发布ActiveX控件 131
7.6 了解ActiveX控件 132
7.6.1 Animated Button(动画按钮)控件 132
7.6.2 Chart(图表)控件 133
7.6.3 Label(标签) 136
7.6.4 Popup Menu(弹出菜单)控件 139
7.6.5 Preloader(预装载)控件 141
7.6.6 StockTicker(证券报价器)控件 142
7.6.7 Timer(计时器)控件 142
7.7 使用第三方控件 145
7.8 使用标记控件 145
7.9 创建ActiveX控件 145
7.9.1 使用Control Wizard来创建主干文件 146
7.9.2 编译控件 146
7.9.3 登记您的控件 146
7.9.4 测试您的控件 147
7.10 创建非MFC ActiveX控件 147
7.11 为用于Internet而标记您的对象 147
7.12 小结 147
第八章 ActiveX Control Pad(ActiveX控件面板) 148
8.1 游历于ActiveX Control Pad 149
8.1.1 Text Editor(文本编辑器) 149
8.1.2 Object Editor(对象编辑器) 150
8.1.3 Page Editor(页面编辑器) 150
8.1.4 Seript Wizard(脚本巫师) 150
8.2 使用ActiveX控件 150
8.3 用Script Wizard创建VBScript 152
8.4 使用HTML布局 153
8.5 看一看可以得到的控件 154
8.6 在工具栏中添加控件 163
8.7 创建交互内容 164
8.8 将VBScript与ActiveX布局一起使用 165
8.9 小结 166
第九章 其他ActiveX控件 167
9.1 弹出菜单和菜单控件 169
9.1.1 Popup Menu 169
9.1.2 Menu(菜单)控件 175
9.1.3 弹出窗口(Popup Window)控件 178
9.1.4 选取框(Marquee)控件 181
9.1.5 Marquee示例 184
9.1.6 图表(Chart)控件 186
9.1.7 Chart示例 190
9.2 小结 198
第十章 错误处理 200
10.1 VBScript 页面中的错误处理 201
10.1.1 语法错误 201
10.1.2 ActiveX控件使用错误 202
10.1.3 运行时刻错误 203
10.2 避免错误的编码 203
10.2.1 使用ActiveX Control Pad 203
10.2.2认识ActiveX Control Pad 203
10.2.3 使用ActiveX控件 204
10.2.4 编辑VBScript代码 205
10.2.5 使用Option Explicit 206
10.2.6 使用编码规范 207
10.3 错误处理的编码 208
10.3.1 错误捕获 208
10.3.2 使用Err对象 209
10.3.3 Err对象的属性 209
10.3.4 Err对象的方法 210
10.4 错误处理的例子 211
10.4.1 捕获运行时刻错误 211
10.4.2 使用Raise方法 213
10.5 小结 214
第十一章 代码优化 215
11.1 代码的组织 216
11.1.1 混沌定理101 216
11.2 错误检查和调试 220
11.3 函数的使用和语法 220
11.3.1 参考变量 221
11.3.2 数据类型 222
11.4 ActiveX控件 222
11.4.1 质量,而不是数量 222
11.4.2 分而治之 223
11.5 开发工具 223
11.5.1 仍然使用文本编辑器? 223
11.5.2 Active Control Pad 223
11.5.3 Visual Basic到VBScript的转换 224
11.5.4 未来的集成开发环境? 224
11.6 小结 225
第十二章 调试 226
12.1 VBScript错误处理 227
12.1.1 语法错误:所说的必须是要说的! 227
12.1.2 语义错误:要说的必须是所说的! 228
12.2 简单的调试技术 229
12.2.1 使用MsgBox语句 232
12.2.2 使用On Error Resume Next语句 233
12.2.3 使用Err对象 234
12.2.4 更进一步了解Err对象 237
12.3 高级调试技术 239
12.3.1 使用消息框跟踪代码 239
12.3.2 饱和的使用消息框 240
12.3.3 使用变量和消息框观察程序 242
12.3.4 分解复杂语句发现错误 243
12.4 使用其他工具帮助调试 244
12.5 传统的调试环境用于VBScript 245
12.6 使用Visual Basic调试VBScript应用 245
12.6.1 使用Visual Basic 4.0的跟踪能力 245
12.6.2 在Visual Basic中调试VBScript代码 246
12.7 HTML错误处理 247
12.8 确认错误已经排除 247
12.9 创建自己的用于跟踪的调试窗口 249
12.10 建立自己的跟踪例程 251
12.11 一个简单的变量分析子例程的例子 252
12.12 VBScript不便于调试的进一步原因 255
12.13 问题的本质 256
12.14 小结 257
第十三章 动态Web页面的建立 258
13.1 使用Internet Explorer Document 对象 259
13.1.1 属性和收集(Collections) 259
13.1.2 方法 262
13.2 使用ActiveX Timer控件 264
13.3 将当前日期和时间写入页面 265
13.4 使用客户方刷新创建随机框架 271
13.5 改变文档的颜色 273
13.6 使用Cookies维护用户信息 277
13.7 小结 281
第十四章 使用cookie定制Web 页面 282
14.1 安全性的考虑 283
14.2 cookie是什么? 285
14.2.1 创建cookie 286
14.2.2 怎样测试带有cookie的页面 287
14.3 cookie文件夹 289
14.4 抽取cookie值 290
14.5 小结 295
第十五章 为公司内部网创建动态文档 298
15.1 客户方处理 299
15.2 分布式应用 300
15.2.1 数据库 300
15.3 功能性和灵活性 301
15.3.1 本原文档宿主 301
15.3.2 部件体系结构 302
15.3.3 第三方革新 302
15.4 投资的回报(ROI) 302
15.4.1 维护 303
15.4.2 可扩展性和集成 303
15.4.3 标准 303
15.4.4 投资保护 304
15.4.5 雇员效率 304
15.4.6 公司形象 305
15.5 小结 305
第十六章 在Web页面中控制MS Office文档 306
16.1 ActiveX 309
16.2 ActiveX脚本编制 310
16.3 ActiveX Control Pad 311
16.4 投资的高额回报 313
16.5 Microsoft Office Suite 315
16.6 有关的Web站点 316
16.7 小结 316
第十七章 动画 318
17.1 有动画能力的ActiveX控件 319
17.2 使用Image和Timer控件制作动画 320
17.3 使用Label控件旋转文本 323
17.4 使用Active Movie播放数字音频和视频 326
17.5 用于卷动页面的Marquee控件 328
17.6 提供多媒体播放的其他HTML标记 332
第十八章 VBScript和Java 333
18.1 Java是什么? 335
18.2 Java ,Java Applets和JavaSeript 338
18.3 Java类 339
18.4 JavaSeript对象 340
18.5 JavaSeript语言结构 341
18.5.1 JavaSeript运算符 341
18.5.2 JavaSeript流程控制语句 342
18.6 VBScript语言结构 343
18.6.1 VBScript例子 344
18.6.2 VBScript变量 345
18.6.3 VBScript运算符 345
18.6.4 VBScript Err对象 346
18.6.6 VBScript常量 347
18.6.7 VBScript流程控制语句 348
18.6.8 VBScript函数 348
18.6.9 VBScript子过程 348
18.6.10 ActiveX 348
18.7 标准和规范 349
18.8 比较Java,JavaSeript和VBScript:总结 350
18.9 例子 350
18.10 有关的Web站点 354
18.11 小结 355
第十九章 VBScript和DLL 356
19.1 静态与动态库 358
19.2 DLL的结构 359
19.2.1 入口函数 359
19.2.2 LibMain函数 360
19.2.3 Exit函数 360
19.3 程序员定义的函数 361
19.3.1 出口函数 361
19.3.2 非出口(内部)函数 361
19.5 使用DLL的缺点 362
19.6 一个示例DLL 363
19.7 VBScript和DLL 366
19.8 有关的Web站点 367
19.9 小结 368
第二十章 CGI和VBScript 369
20.1 理解CGI 370
20.2 CGI规范 381
20.3 CGI环境变量 382
20.4 CGI应用软件的体系结构 383
20.5 CGI和VBScript 384
20.6 示例 385
20.7 相关的Web站点 389
20.8 小结 389
第二十一章 安全性和保密性 390
21.1 信任危机 391
21.1.1 能够支持VBScript的保密性吗? 392
21.2 VBScript的固有防护措施 392
21.3 在危险中摇摆—ActiveX部件 394
21.3.1 可靠控件—朋友还是敌人? 394
21.3.2 无赖控件 396
21.3.3 防止有意无意的破坏 397
21.4 偏执狂,自卫和适度风险 397
第二十二章 VBScript在其他应用软件里用作部件 398
22.1 把VBScript移植到VBA和Visual Basic 399
22.2 ActiveX脚本编制大全 399
22.2.1 脚本引擎 400
22.2.2 脚本宿主 403
22.2.3 脚本编制引擎和宿主之间的通信 404
22.3 许可 405
22.3.1 二进制路线 405
22.3.1 二进制路线 405
22.3.2 源代码 406
22.4 把所有东西放在一起—Microsoft的“Spruuids”示例 406
22.5 未来宿主 408
第五部分 VBScript工程示一例 410
第二十三章 转换和计算 410
23.1 公制转换 411
23.1.1 用户界面 411
23.1.2 TabStrip控件 412
23.1.3 实现转换的工具 415
23.1.4 编写应用程序 415
23.2 金融计算器 418
23.2.1 用户界面 418
23.3 数学计算器 422
23.3.1 用户界面 422
23.3.2 编写应用程序 423
23.3.3 改进计算器 426
23.3.4 进一步的改进 427
23.4 小结 427
第二十四章 WWW个人信息管理器 428
24.1 综述 429
24.2 工作原理 429
24.3 创建页面 436
24.3.1 用“cookie”来工作 436
24.3.2 创建动态HTML 438
24.3.3 显示信息 442
24.3.4 把所有的东西连在一起 446
24.4 小结 447
第二十五章 定单登录 448
25.1 确保在Web上安全交易 449
25.1.1 厂商认证 449
25.1.2 购买者认证 450
25.1.3 保障Web的通信秘密 450
25.2 回顾Cookie 450
25.3 设计定单登录窗体 451
25.4 创建定单登录窗体 456
25.5 检查VBScript代码 456
25.6 测试应用程序 456
25.7 小结 456
第二十六章 RTFEditor 467
26.1 通过VBScript使用OCX控件 468
26.1.1 RTFEditor(RTF编辑器)应用程序 468
26.1.2 Rich Textbox控件 471
26.1.3 设计用户界面 474
26.1.4 道具后面的代码 478
26.1.5 保存和重新调用RTF文档 481
26.2 小结 486
第二十七章 Chart和Grid控件 487
27.1 Chart示例 489
27.2 GridChart示例 494
27.2.1 Grid控件 495
27.2.2 完成应用程序 497
27.3 小结 507
第六部分 附录 509
附录A VBScript语言参考 509
A.1 变量、常量和表达式 510
A.2 运算符 511
A.2.1 算术运算符 511
A.2.2 连接运算符 513
A.2.3 逻辑运算符 513
A.3.1 Call语句 518
A.3.2 Dim语句 518
A.3.3 Do匧oop语句 518
A.3.4 Erase语句 518
A.3.5 Exit语句 519
A.3.6 For匩ext语句 519
A.3.7 For Each匩ext语句 519
A.3.8 Function语句 519
A.3.9 If匱hen语句 520
A.3.10 On Error语句 520
A.3.11 Randomize语句 520
A.3.12 ReDim语句 520
A.3.13 Rem语句 521
A.3.14 Select Case语句 521
A.3.15 Set语句 521
A.3.16 Sub语句 522
A.3.17 While匴end语句 522
A.4 函数 522
A.4.1 变量和转换函数 522
A.4.2 日期/时间函数 526
A.4.3 条件函数 528
A.4.4 字符串函数 530
A.4.5 输入函数 533
A.4.6 数学函数 535