第零章 导论 1
0.1 4.0版介绍 1
0.2 关于这本手册 3
0.2.1 用户指南 3
0.2.2 参考手册 4
0.2.3 附录 4
第一部分 5
第一章 Turbo PASCAL简介 5
1.1 盘中的内容 5
1.2 安装Turbo PASCAL系统 6
1.2.1 在软盘上建立Turbo PASCAL系统 6
1.2.2 在硬盘上建立Turbo PASCAL系统 6
1.3 怎样使用本手册 6
第二章 Turbo PASCAL入门 8
2.1 如何使用集成环境 8
2.1.1 如何使用热键 9
2.2 Turbo Pascal的安装 10
2.3 在集成环境下编写程序 10
2.3.1 写你的第一个程序 10
2.3.2 存你的第一程序 10
2.3.3 编译第一个程序 11
2.3.4 执行第一个程序 11
2.4 继续编写第二个程序 11
2.5 第三个程序:趣味程序 12
2.6 Turbo PASCAL编译器 14
2.7 Compile、Make和Build 15
2.8 程序中可能出现的错误 16
第三章 Turbo PASCAL程序设计 17
3.1 程序设计的基本要素 17
3.2 数据类型 18
3.2.1 鼙数类型 18
3.2.2 实数类型 18
3.2.3 字符及字符串类型 19
3.2.4 定义一个字符串 20
3.2.5 布尔型 21
3.2.6 指针数据类型 21
3.3 标识符 22
3.4 操作符 22
3.4.1 赋值操作符 22
3.4.2 单目和双目操作符 23
3.4.3 位操作符 23
3.4.4 关系操作符 23
3.4.5 逻辑操作符 24
3.4.6 地址操作符 24
3.4.7 集合操作符和串操作符 24
3.5 输入与输出 24
3.5.1 输出 24
3.5.2 输入 26
3.6 条件语句 26
3.6.1 if语句 26
3.6.2 Case语句 26
3.7 循环语句 27
3.7.1 While循环 27
3.7.2 Repeat Until循环 27
3.7.3 For循环 28
3.8 过程和函数 29
3.8.1 程序结构 29
3.8.2 过程和函数结构 30
3.8.3 例子程序 30
3.9 程序说明 31
第四章 单元 33
4.1 什么是单元 33
4.2 单元的结构 33
4.2.1 接口部份 34
4.2.2 实现部份 34
4.2.3 初始化部份 35
4.3 如何使用单元 35
4.4 引用单元说明 36
4.5 TURBO.TPL 38
4.5.1 Systern单元 38
4.5.2 DOS单元 38
4.5.3 Crt单元 38
4.5.4 Printer单元 39
4.5.5 Graph单元 39
4.5.6 Graph3单元 39
3.5.7 Turbo3单元 39
4.6 自定义单元 39
4.7 编译一个单元 39
4.8 例子 40
4.9 单元和大程序 41
4.10 TPUMOVER 41
第五章 充分利用PC机的特点 43
5.1 写标准PASCAL程序 43
5.2 Turbo PASCAL中的扩充 43
5.2.1 数据类型的扩充 43
5.2.2 内部过程及函数 44
5.3 使用MS—DOS系统调用 44
5.4 屏幕子程序 46
5.5 图形子程序 49
5.6 汇编语言的调用 49
5.6.1 Inline语句 50
5.6.2 Inline指令 50
5.7 外部过程和函数 50
第六章 工程管理 52
6.1 程序组织 52
6.1.1 初始化 53
6.2 Build和Make选择项 53
6.2.1 Make选择项 53
6.2.2 Build选择项 54
6.3 Make实用程序 54
6.3.1 建立Make文件 55
6.3.2 使用Make 55
6.4 条件编译 56
6.4.1 DEFINE和UNDEF指令 56
6.5 代码优化 59
第七章 TPUMOVER的使用 61
7.1 单元文件回顾 61
7.2 TPUMOVER用法 61
7.2.1 TPUMOVER命令 62
7.2.2 把单元移入TURBO.TPL 62
7.2.3 删除TURBO.TPL中的单元 63
7.2.4 在.TPL文件间传送单元 63
7.2.5 命令行操作 63
第八章 转换Turbo PASCAI 3.0 65
8.1 UPGRADE的使用 65
8.2 UPGRADE使用方法提要 68
8.3 UPGRADE能测试的情况 69
8.4 UPGRADE不能测试的情况 71
8.5 TURFO3和Graph3的使用 71
8.5.1 Tubo3单元 71
8.5.2 Graph3单元 72
8.6 基本转换任务 72
8.6.1 预定义标识符 73
8.6.2 数据类型 73
8.6.3 语言特色 74
8.6.4 输入与输出 74
8.6.5 程序和内存组织 75
8.6.6 编译指令和错误检查 75
8.6.7 汇编语言的用途 76
第九章 调试Turbo PASCAL程序 77
9.1 编译错 77
9.2 运行错 77
9.2.1 I/O错误检查 77
9.2.2 范围检查 79
9.3 跟踪错误 81
9.4 TPM和.MAP文件的使用 82
9.5 调试工具的使用 84
9.5.1 为使用Periscope做准备 84
9.5.2 使用Periscope 85
9.5.3 Periscope基本命令 85
第十章 Turbo PASCAL菜单 90
10.1 菜单结构 90
10.1.1 最底行 90
10.1.2 编辑窗口 91
10.1.3 输出窗口 93
10.2 文件菜单(File) 93
10.3 编辑命令(Edit) 94
10.4 运行命令(RUN) 94
10.5 编译菜单(Compile) 94
10.5.1 Compile(编译) 95
10.5.2 Make 95
10.5.3 Build 95
10.5.4 Destination(目的) 95
10.5.5 Find Error(检错) 95
10.5.6 Primary file(主文件) 95
10.5.7 Get Info(获取信息) 95
10.6 操作选择菜单(Oplions) 95
10.6.1 Compiler(编译器) 96
10.6.2 Environment(环境状态) 97
10.6.3 Directory(目录设置) 97
10.6.4 Parameters(参数) 98
10.6.5 Load Options(装入选择) 98
10.6.6 Save Options(存储选择) 98
10.7 Pick表和Pick文件 98
10.7.1 Pick表 98
10.7.2 Pick文件 99
10.7.3 装入Pick文件 99
10.7.4 存贮Pick文件 99
10.7.5 配置文件和Pick文件 99
第十一章 编辑器的使用 100
11.1 快进、快出 100
11.2 编辑窗的状态行 100
11.3 编辑器命令 100
11.3.1 基本移动命令 102
11.3.2 扩充移动命令 103
11.3.3 插入和删除命令 103
11.3.4 块命令 104
11.3.5 其它命令 105
第十二章 命令行编译器 108
12.1 编译器的使用 108
12.2 编译器选择项 108
12.2.1 编译指令命令(/$) 109
12.2.2 编译方式选择 110
12.2.3 目录选择 112
12.2.4 程序执行方式选择 113
12.3 TPC.CFG文件 114
第二部分 116
第十三章 词语和常量 116
13.1 特殊符和保留字 116
13.2 标识符 117
13.3 标号 118
13.4 数字 118
13.5 字符串 119
13.6 常量说明 120
13.7 注释 120
13.8 程序行 120
第十四章 块、位置和作用域 121
14.1 语法 121
14.2 标识符作用域规则 122
14.3 接口和标准标识符的作用域 122
第十五章 类型 123
15.1 简单类型 123
15.1.1 序数类型 124
15.1.2 实型 126
15.2 字符串型 126
15.3 结构类型 127
15.3.1 数组类型 127
15.3.2 记录类型 128
15.3.3 集合类型 129
15.3.4 文件类型 129
15.4 指针类型 130
15.5 类型的一致性和兼容性 130
15.5.1 类型的一致性 130
15.5.2 类型的兼容性 131
15.5.3 赋值兼容 131
15.6 类型说明部份 132
第十六章 变量 134
16.1 变量说明 134
16.1.1 数据段 134
16.1.2 栈段 135
16.1.3 绝对变量 135
16.2 变量引用 135
16.3 限定词 136
16.3.1 字符串、数组和下标 136
16.3.2 记录和域指示符 137
16.3.3 指针和动态变量 137
16.4 变量强制类型转换 137
第十七章 类型常量 139
17.1 简单类型常量 139
17.2 字符串类型常量 140
17.3 结构类型常量 140
17.3.1 数组类型常量 140
17.3.2 记录类型常量 141
17.3.3 集合类型常量 142
17.4 指针类型常量 142
第十八章 表达式 143
18.1 表达式语法 143
18.2 操作符 145
18.2.1 算术操作符 146
18.2.2 逻辑操作符 147
18.2.3 布尔操作符 147
18.2.4 字符串操作符 148
18.2.5 集合操作符 148
18.2.6 关系运算符 148
18.2.7 @操作符 150
18.3 函数调用 151
18.4 集合构造符 152
18.5 值的强制类型转换 152
第十九章 语句 153
19.1 简单语句 153
19.1.1 赋值语句 153
19.1.2 过程语句 153
19.1.3 Goto语句 154
19.2 结构语句 154
19.2.1 复合语句 154
19.2.2 条件语句 154
19.2.3 循环语句 156
19.2.4 With语句 158
第二十章 过程和函数 160
20.1 过程说明 160
20.1.1 提前引用说明 161
20.1.2 外部过程说明 161
20.1.3 嵌入过程说明 162
20.2 函数说明 162
20.3 参数 163
20.3.1 ?参 164
20.3.2 变量参数 164
20.3.3 无类型变量参数 164
第二十一章 程序和单元 166
21.1 程序语法 166
21.1.1 程序头 166
21.1.2 Uses子句 166
21.2 单元语法 167
21.2.1 单元头 167
21.2.2 接口部份 167
21.2.3 单元实现部分 168
21.2.4 初始化部份 168
21.2.5 使用其它单元的单元 168
第二十二章 输入与输出 170
22.1 I/O概述 170
22.2 文件操作的标准例程 171
22.3 文本文件的标准例程 171
22.4 无类型文件的标准例程 172
22.5 Turbo pascal的外设 172
22.5.1 DOS外设 172
22.5.2 文本文件设备 173
第二十三章 标准过程和函数一览 174
23.1 Exit和Halt过程 174
23.2 内存动态分配例程 174
23.3 转换函数 174
23.4 算术函数 174
23.5 序数过程和函数 175
23.6 串过程和函数 175
23.7 指针和地址函数 175
23.8 其它过程和函数 176
第二十四章 标准单元 177
24.1 标准单元的相关性 177
24.2 System单元 178
24.3 Printer单元 179
24.4 Dos单元 179
24.4.1 常量、类型和变量 179
24.4.2 中断处理过程 182
24.4.3 日期和时间过程 182
24.4.4 磁盘状态函数 183
24.4.5 文件管理过程 183
24.4.6 进程管理过程和函数 183
24.5 Crt单元 183
24.5.1 输入输出文件 183
24.5.2 窗口 183
24.5.3 常量、类型和变量 184
24.5.4 过程和函数 186
24.6 Graph单元 187
24.6.1 驱动程序 187
24.6.2 坐标系统 188
24.6.3 当前指针 188
24.6.4 文本 188
24.6.5 图形及其模式 189
24.6.6 视见区和点阵图象 189
24.6.7 分页和颜色 189
24.6.8 错误处理 189
24.6.9 启动 190
24.6.10 Graph单元接口部分 193
24.6.11 过程和函数 197
24.7 Turbo3单元 199
24.7.1 接口部份 200
24.8 Graph3单元 201
第二十五章 8087协处理器的使用 204
25.1 8087数据类型 204
25.2 扩展实数的运算 205
25.3 实数的比较 206
25.4 8087运算栈 206
25.5 8087实数的输出 207
25.6 使用8087的单元 207
第二十六章 Turbo PASCAL内部结构 208
26.1 堆管理 209
26.1.1 释放方法 209
26.1.2 自由链表 211
26.1.3 堆错误函数 213
26.2 自动优化 213
26.3 内部数据格式 214
26.3.1 整数类型 214
26.3.2 字符型 215
26.3.3 布尔类型 215
26.3.4 枚举类型 215
26.3.5 浮点类型 215
26.3.6 集合类型 217
26.3.7 数组类型 217
26.3.8 记录类型 217
26.3.9 文件类型 217
26.4 调用规则 218
26.4.1 变量参数 218
26.4.2 值参数 219
26.4.3 函数结果 219
26.4.4 短调用与长调用 219
26.4.5 入口与出口代码 220
26.4.6 寄存器保存规则 220
26.5 与汇编语言连接 220
26.5.1 汇编语言的例子 221
26.6 嵌入机器码 224
26.6.1 inline语句 224
26.6.2 inline指令 226
26.7 直接内存存取及端口存取 226
26.7.1 Mem,MemW,和 MemL数组 226
26.7.2 Port和PortW数组 227
26.8 中断处理 227
26.8.1 写中断过程 227
26.9 文本文件的设备驱动程序 228
26.9.1 Open函数 229
26.9.2 Inout函数 229
26.9.3 Flush函数 230
26.9.4 Close函数 230
26.9.5 文本文件设备驱动程序例子 230
26.10 退出(Exit)过程 233
第二十七章 Turbo PASCAL的标准过程及标准函数 236
Abs 函数 236
Addr 函数 236
Append 过程 237
Arc 过程 237
Arctan 函数 238
Assign 过程 238
Assigncrt 过程 238
Bar 过程 239
Bar3D 过程 239
BlockRead 过程 240
BlockWrite 过程 241
ChDir 过程 241
Chr 函数 242
Circle 过程 242
ClearDevice 过程 242
ClearView Port 过程 243
Close 过程 243
CloseGraph 过程 243
ClrEol 过程 244
ClrSor 过程 244
Copcar 函数 245
Copy 函数 245
Cos 函数 245
Cseg 函数 246
Dec 过程 246
Delay 过程 246
Delete 过程 246
DelLine 过程 246
DetectGraph 过程 247
DiskFree 函数 248
Disksize 函数 248
Dispose 过程 248
DosExitCode 函数 249
DrawPoly 过程 249
Dseg 函数 250
Ellipse 过程 250
Eof 函数(用于类型及非类型文件) 250
Eof 函数(用于文本文件) 250
Eoln 函数 251
Erase 过程 251
Exec 过程 252
Exit 过程 253
Exp 函数 253
FilePos 函数 253
FileSize 函数 254
FillChar 过程 254
FillPoly 过程 255
FindFirst 过程 255
FindNext 过程 256
FloodFill 过程 257
Flush 过程 257
Frac 函数 257
FreeMem 过程 258
GetArcCoords 过程 258
GetAspectRatio 过程 258
GetBkColor 函数 259
GetColor 函数 260
GetDate 过程 261
GetDir 过程 261
GetFAttr 过程 261
GetFillSettings 过程 262
GetPTime 过程 263
GetGraphMode 函数 263
GetImage 过程 264
GetIntVec 过程 265
GetLineSettings 过程 265
GetMaxX 函数 266
GetMaxY 函数 266
GetMem 过程 266
GetPalette 过程 267
GetPixel 函数 268
GetTextSettings 过程 268
GetTime 过程 269
Getviewsettings 过程 269
GetX 函数 270
GetY 函数 271
Gotoxy 过程 271
GraphErrorMsg 函数 271
GraphResult 函数 272
Halt 过程 273
Hi 函数 274
HighVideo 过程 274
ImageSize 函数 274
Inc 过程 275
InitGraph 过程 275
Insert 过程 277
InsLine 过程 278
Int 函数 278
Intr 过程 278
IOResult 函数 279
Keep 过程 279
KeyPressed 函数 280
Length 函数 280
Line 过程 280
LineRel 过程 281
LineTo 过程 281
Ln 函数 282
Lo 函数 282
LowVideo 过程 282
Mark 过程 283
MaxAvail 函数 283
MemAvail 函数 284
MkDir 过程 284
Move 过程 284
MoveRel 过程 285
MoveTo 过程 285
MsDos 过程 285
New 过程 286
NormVideo 过程 286
Nosound 过程 286
Odd 函数 286
Ofs 函数 286
Ord 函数 287
OutText 过程 287
OutTextXY 过程 287
PackTime 过程 288
ParamCount 函数 288
ParamStr 函数 288
Pi 函数 289
PieSlice 过程 289
Pos 函数 289
Pred 函数 290
Ptr 函数 290
PutImage 过程 290
PutPixel 过程 291
Random 函数 292
Randomize 过程 292
Read 过程(类型文件) 292
Read 过程(文本文件) 293
Readkey 函数 294
Readln 过程 294
Rectangle 过程 294
Release 过程 295
Rename 过程 295
Reset 过程 296
RestoreCrt 过程 296
RestoreCrtMode 过程 297
Rewrite 过程 297
Rmdir 过程 298
Round 函数 298
Seek 过程 299
SeekEof 函数 299
SeekEoln 函数 299
Seg 函数 299
SetActivePage 过程 300
SetAllPalette 过程 300
SetBkColor 过程 302
SetColor 过程 302
SetDate 过程 303
SetFAttr 过程 303
SetFillPattern 过程 304
SetFillstyle 过程 305
SetFtime 过程 306
SetGraphMode 过程 306
SetIntVec 过程 307
SetLineStyle 过程 307
SetPalette 过程 308
SetTextBuf 过程 309
SetTextJustify 过程 310
SetTextStyle 过程 311
SetTime 过程 312
SetViewPort 过程 312
SetVisualPage 过程 314
Sin 函数 315
SizeOf 函数 315
Sound 过程 315
Sptr 函数 316
Sqr 函数 316
Sqrt 函数 316
SSeg 函数 316
Str 过程 316
Succ 函数 317
Swap 函数 317
TextBackground 过程 318
TextColor 过程 318
TextHeight 函数 319
TextMode 过程 319
TextWiath 函数 320
Trunc 函数 320
Truncate 过程 321
UnpackTime 过程 321
UpCase 函数 321
Val 过程 321
WhereX 函数 322
WhereY 函数 323
Window 过程 323
Write 过程(用于类型文件) 323
Write 过程(用于文本文件) 324
writeln 过程 325
附录A 4.0版与3.0版的差别 326
程序说明 326
编译指令 326
预定义标识符 327
编程中的变化 328
其它的扩充和改进 331
附录B Turbo PASCAL4.0与ANSI PASCAL的比较 333
与ANSI PASCAL的差异 333
对ANSI PASCAL的扩充 334
依赖实现特性 335
错误处理 336
附录C 编译指令 337
开关类指令 337
参数指令 340
条件编译指令 341
附录D TURBO PASCAL实用程序 345
MAKE实用程序 345
建立MAKEEILE 345
使用MAKE程序 355
MAKE的错误信息 356
TOUCH实用程序 358
GREP实用程序 358
Grep选择项 358
查找方法 359
使用GREP的例子 360
附录E ASCII码、键盘扫描码与扩展码(略)附录F 安装Turbo PASCAL 362
附录G DOS入门(略)附录H 术语 372
附录I 错误信息及代码 376