目 录 1
上篇Turbo Pascal 7.0语言特性与面向对象程序设计 1
第一章Turbo Pascal 7.0初阶 1
1.1 关于Turbo Pascal 1
1.2Turbo Pascal程序基本结构与表记法 4
1.2.1 程序基本结构 4
1.2.2基本字符集与常字 6
1.2.3标识符 7
1.3简单数据类型 8
1.3.1标准标量类型 9
1.3.2枚举类型与子界类型 11
1.4注释、常数定义、变量说明和简单类型常数 14
1.4.1 注释 14
1.4.2常数定义 14
1.4.3 变量说明 15
1.4.4 简单类型常数 16
1.5表达式 18
1.5.1 运算符和优先级 18
1.5.2 一些常用的预定义标准函数 21
1.5.3类型转换 23
1.5.5常数表达式 24
1.5.4 算术表达式、关系表达式和布尔表达式 24
1.6简单输入、输出及赋值语句 25
1.6.1输入过程Read和Readln 25
1.6.2输出过程Write和Writeln 25
1.6.3标准标量类型数据的输出格式 26
1.6.4赋值语句 28
1.7小结与程序设计问题 29
1.7.1 小结 29
1.7.2程序设计问题 30
2.1.1 简单if 语句 32
2.1 条件控制结构 32
第二章程序控制结构 32
2.1.2复合语句 33
2.1.3 if语句的扩展与嵌套 34
2.1.4 case语句 37
2.2循环控制结构 38
2.2.1 while语句 38
2.2.2 repeat语句 40
2.2.3for语句 41
2.2.4 多重循环 43
2.2.5 标准过程Break,Continue,Exit和Halt 49
2.3.1 goto语句及标号 51
2.3 无条件控制结构 51
2.3.2如何评价goto语句 52
2.4 小结与程序设计问题 52
2.4.1 小结 52
2.4.2程序设计问题 53
第三章字符串、数组、记录与集合 55
3.1 字符串 55
3.1.1 字符串类型定义和变量说明 56
3.1.3字符串表达式和赋值语句 57
3.1.2字符串的常数定义和类型常数定义 57
3.1.4 字符串变量的输入输出 58
3.1.5字符串标准函数和过程 60
3.2数组 63
3.2.1 一维数组类型定义和变量说明 63
3.2.2 一维数组类型常数定义 63
3.2.3 一维数组变量的赋值操作 64
3.2.4使用一维数组 64
3.2.5 多维数组 70
3.3.1 记录类型定义和变量说明 73
3.3记录 73
3.3.2记录类型常数定义 74
3.3.3记录变量的赋值操作 75
3.3.4 with语句和记录的嵌套 76
3.3.5变体记录 79
3.4 集合 81
3.4.1 集合类型定义和变量说明 81
3.4.2集合类型常数定义 82
3.4.3 集合表达式和集合变量的赋值操作 82
3.4.4集合的输出 84
3.5.1 小结 85
3.5 小结与程序设计问题 85
3.5.2程序设计问题 86
第四章过程和函数 90
4.1 过程及其调用 91
4.1.1过程说明的基本形式 91
4.1.2过程的调用——过程语句 92
4.1.3参数传递 93
4.1.4 全程变量和局部变量 96
4.2函数及其调用 98
4.2.1 函数说明的基本形式 98
4.2.2函数的调用 100
4.3过程或函数的嵌套调用和向前引用 103
4.3.1 嵌套调用 103
4.3.2 向前引用 104
4.4过程或函数的递归调用 107
4.4.1递归的概念 107
4.4.2递归函数说明与递归过程说明示例 108
4.5过程或函数的多种说明形式 110
4.5.1 near.foa 说明 110
4.5.2 interrupt说明 111
4.5.3 forward说明 111
4.5.4 external 说明 113
4.5.5 assembler 说明 114
4.5.6 inline说明 115
4.6 各类形式参数 116
4.6.1 值参数 116
4.6.2常数参数 117
4.6.3变量参数 117
4.6.4 无类型参数 117
4.6.5开参数—— 开字符串参数与开数组参数 120
4.6.6过程类型、过程变量与过程类型参数 123
4.7.2程序设计问题 126
4.7小结与程序设计问题 126
4.7.1 小结 126
第五章 文件与指针 130
5.1 文件类型定义和变量说明 130
5.2 文件标准过程和函数 132
5.2.1 适用于所有文件的标准过程和函数 132
5.2.2类型文件的标准过程和函数 132
5.2.3 正文文件的标准过程和函数 133
5.2.4 无类型文件的标准过程和函数 133
5.3.1类型文件操作 134
5.3 文件操作 134
5.3.2正文文件操作 137
5.3.3 无类型文件操作 140
5.4 I/O出错检查、I/O重定向以及Turbo Pascal的外设 142
5.4.1 I/O出错检查 142
5.4.2 I/O重定向 144
5.4.3Turbo Pascal的外设 146
5.5指针类型定义和变量说明 147
5.5.1动态数据结构 147
5.5.2 指针类型定义和变量说明 148
5.6 用于堆管理的指针标准过程和函数 150
5.5.3指针类型常数定义 150
5.6.1 New和Dispose 151
5.6.2 GetMem和FreeMem 152
5.6.3 MemAvail和MaxAvail 153
5.7指针变量的赋值操作 154
5.8指针在线性链表结构中的应用 156
5.8.1线性链表概念 156
5.8.2线性链表的生成与遍历 157
5.8.3在已知线性链表中的插入与删除操作 161
5.8.4 双向链表与双向链环结构 164
5.9.1 树结构与二叉树结构 165
5.9指针在二叉树结构中的基本应用 165
5.9.2 二叉树的生成与遍历 167
5.10小结与程序设计问题 170
5.10.1 小结 170
5.10.2程序设计问题 171
第六章单元 175
6.1单元的基本结构 175
6.1.1 什么是单元 175
6.1.2单元的基本结构 176
6.2标准单元及其功能 177
6.2.1 System单元 178
6.2.2 Dos单元和WinDos单元 180
6.2.3Crt单元 183
6.2.4 Printer单元 186
6.2.5Overlay单元 186
6.2.6 空终结字符串和Strings单元 188
6.2.7Graph单元 192
6.2.8Turbo3和Graph3单元 197
6.3编写用户定义单元和使用单元 197
6.3.1 编写用户定义单元 197
6.3.2编译单元 198
6.3.3使用单元示例 199
6.3.4使用单元时的引用规则 205
6.3.5单元的循环引用 207
6.3.6单元和大程序 208
6.3.7建立和扩充自用库 209
6.4小结与程序设计问题 210
6.4.1 小结 210
6.4.2程序设计问题 210
第七章面向对象的程序设计 214
7.2.1 对象:继承的记录 215
7.2 对象 215
7.1面向对象的基本概念与特征 215
7.2.2 对象类型和对象类型实例 217
7.3方法 218
7.3.1 什么是方法 218
7.3.2代码/数据封装 219
7.3.3定义方法 220
7.3.4方法的作用域与Self参数 221
7.3.5 在单元中定义对象 222
7.3.6对象的私有字段和私有方法 224
7.4.1继承静态方法 226
7.4静态方法和虚拟方法 226
7.4.2虚拟方法和多态性 228
7.4.3对象类型的兼容性 231
7.5动态对象与动态分配 232
7.5.1动态对象 232
7.5.2 New的扩展形式 233
7.5.3释放动态对象 233
7.5.4析构方法 234
7.5.5动态对象分配示例 236
7.6.1小结 238
7.6小结与程序设计问题 238
7.6.2程序设计问题 239
下篇 Turbo Vision原理与应用 246
第八章Turbo Vision使用入门 246
8.1关于Turbo Vision 246
8.1.1Turbo Vision的内容组成 247
8.1.2Turbo Vision应用程序的三个要素 247
8.1.3 Turbo Vision的目的 248
8.2 使用Turbo Vision视口 248
8.2.1 示例第1步:生成Turbo Vision应用程序 249
8.2.2示例第2步:定制菜单和状态行 251
8.2.3示例第3步:响应命令 256
8.2.4 示例第4步:加入窗口 259
8.2.5 示例第5步:加入裁剪板 262
8.3使用流和资源 264
8.3.1 示例第6步:保存和恢复桌面 264
8.3.2示例第7步:使用资源 268
8.4建立数据输入屏幕 272
8.4.1 示例第8步:生成数据输入窗口 272
8.4.2 示例第9步:与控制对象交互数据 276
8.4.3示例第10步:输入数据的有效性检查 277
8.5.1 示例第11步:加入一个数据库 279
8.5收集数据 279
8.5.2 示例第12步:建立定制的视口 284
8.5.3 对示例Tutorial的扩展 288
第九章Turbo Vision构成原理 289
9.1Turbo Visiom概览 289
9.1.1 对象分类图 289
9.1.2对象的类型等级 291
9.1.3对象的分类体系 295
9.1.4坐标体系 297
9.1.5 位映象字段的使 298
9.2.1 什么是视口 299
9.2 视口概述 299
9.2.2 视口对象的使用 300
9.2.3编写显示方法Draw 306
9.2.4组对象的使用 307
9.3 事件驱动编程 313
9.3.1 激活Turbo Vision 313
9.3.2 事件的特性 314
9.3.3事件的旅行路线 315
9.3.4 命令 317
9.3.5 处理事件 318
9.3.6 事件记录 319
9.3.7修改事件机制 320
9.3.8 视口间的通信 321
第十章Turbo Vision标准视口 324
10.1 应用对象 324
10.1.1 对应用对象的理解 324
10.1.2构造应用对象 325
10.1.3改变视屏模式 327
10.1.4定制桌面 327
10.1.5定制状态行 329
10.1.6 定制菜单 331
10.1.7使用空闲时间 332
10.1.8相关的联机帮助 332
10.2窗口和对话框对象 333
10.2.1 对窗口的理解 333
10.2.2窗口的工作原理 333
10.2.3对话框的工作原理 336
10.2.4对话框中控制子视口的使用 337
10.2.5标准对话框的使用 338
10.3控制视口对象 339
10.3.1控制对象的使用 339
10.3.2静态文本的显示 341
10.3.3滚动棒的使用 343
10.3.4簇对象的使用 344
10.3.5列表的挑选 345
10.3.6 目录的显示 347
10.3.7 用户输入的读取 348
10.3.8 历史列表的使用 349
10.3.9标签控制视口 350
10.4数据确认对象 351
10.4.1数据确认的三种类型 351
10.4.2数据确认对象的使用 352
10.4.3 确认对象的工作过程 353
10.5调色板和颜色选择 355
10.5.1 调色板的使用 355
10.5.2 调包板的扩展 358
10.5.3 让用户改变颜色 359
10.6编辑器和文本视口 360
10.6.1 终端视口的使用 360
10.6.2编辑器对象的使用 361
10.6.3 备注字段的使用 364
10.6.4 文件编辑器的使用 365
10.6.6编辑窗口的使用 367
10.6.5裁剪板的使用 367
11.1 收集 369
11.1.1收集对象 369
第十一章 Turbo Vision支持工具 369
11.1.2建立收集对象 370
11.1.3遍历方法 371
11.1.4有序收集 373
11.1.5字符串收集 374
11.1.6 多态性收集 375
11.1.7收集与内存管理 376
11.2.1 问题与答案:对象I/O与流 377
11.2流 377
11.2.2流的基本用法 378
11.2.3对象的流化 379
11.2.4流的运行机制 381
11.2.5流上的收集:一个完整的例子 381
11.2.6谁负责存取 384
11.2.7其它说明 385
1 1.3资源 386
11.3.1 为什么要使用资源 386
11.3.2生成资源 387
11.3.3读取资源 388
11.3.4字串列表 389
第十二章Turbo Vision应用实例 通用报表工具 390
12.1报表工具概述 390
12.1.1报表逻辑结构 390
12.1.2 系统对象设计 391
12.2报表专用视口Table 392
12.2.1报表数据组织 393
12.2.2报表数据操作(TabOper) 395
12.2.3报表视基础 397
12.2.4报表单元格式(TabForm) 399
12.2.5报表显示重画(TabDisp) 401
12.2.6报表编辑处理 404
12.2.7报表I/O接口 406
12.3报表工具支持视口 408
12.3.1 报表指示器和窗口 408
12.3.2报表打印对话框PrintDialog 409
12.3.3报表公式视口 410
12.3.4内部变量视口 411
12.3.5命令程序窗口 412
12.4.1数据库接口支持工具 414
12.4报表工具的支持工具 414
12.4.2表达式分析计算工具 417
12.4.3命令语句的解释执行 423
12.4.4外部缓存交换对象 427
12.5报表工具总控框架 429
12.5.1 文本编辑支持和系统功能设置(AppInit) 429
12.5.2报表操作功能(AppTab) 431
12.5.3数据库操作功能(AppDbf) 432
12.5.4 命令程序功能(AppCmd) 433
12.5.5应用对象定制(AppView) 434
附录一Turbo Pascal 7.0集成开发环境 435
附录 435
附录二Turbo Pascal 7.0保留字和标准指令 445
附录三 ASCII字符集 446
附录四 Turbo Pascal 7.0运行库参考 447
附录五Turbo Pascal 7.0编译与运行出错信息 502
附录六Turbo Pascal 7.0编译指示 516
附录七Turbo Vision参考 525
附录八Borland Pascal 7.0 for Windows 605
附录九Visual Pascal 可视化的全功能开发平台Delphi 607
主要参考文献 609