目录 1
第一章 熟悉新的IDE 1
1.1 组成成份 1
1.2 启动Turbo Pascal 8
1.3 编制第一个程序 9
1.4 更进一步:第二个程序 11
1.5 趣味程序:第三个用户程序 14
第二章 IDE参考指南 16
2.1 启动与退出 16
2.2 ≡(System)菜单(Alt spacebar) 18
2.3 File菜单(ALT-F) 19
2.4 Edit菜单(Alt-E) 22
2.5 Search菜单(Alt-S) 24
2.6 Run菜单(Alt-R) 27
2.7 Compile菜单(Alt-C) 29
2.8 Debug菜单(Alt-D) 30
2.9 Options菜单(Alt-O) 33
2.10 Window菜单 44
2.11 Help菜单(F1) 46
3.1 新旧编辑器 48
3.2 编辑器命令一览表 48
第三章 编辑器命令一览 48
3.3 快速移动光标 50
3.4 块命令 51
3.5 其它编辑命令 52
3.6 查找与替换 52
3.7 配对 53
第四章 项目管理 55
4.1 程序组织 55
4.2 Build和Make选项 56
4.3 独立的Make实用程序 57
4.4 条件编译 59
4.5 代码优化 63
第五章 调试Turbo Pascal程序 65
5.1 程序错误 65
5.2 Turbo Pascal集成调试器 66
5.3 面向对象的调试 79
5.4 有关问题 80
5.5 错误处理 84
第六章 命令行编译器 87
6.1 编译器选项 87
6.2 编译器伪指令选项 89
6.3 编译器模式选项 90
6.4 目录选项 91
6.5 调试选项 92
6.6 TPC.CFG文件 93
6.7 在保护模式下编译 94
7.1 Pascal简介 95
7.2 一个简单的Pascal程序 95
第七章 认识Pascal程序设计语言 95
7.3 Pascal程序的结构 99
7.4 常量 100
7.5 变量(Variables) 100
7.6 标号Labels 101
7.7 Pascal的数据类型 101
7.8 数据类型介绍 102
7.9 用户自定义数据类型 105
7.10 特定类型的常量声明 107
7.11 赋值语句与表达式 108
第八章 Pascal输入/输出与解决问题 111
8.1 输入与输出 111
8.2 输出程序 113
8.3 用Pascal解决问题 115
8.4 文本文件的输入与输出 120
8.5 从打印机输出 122
第九章 自顶向下程序设计与基本过程 123
9.1 简介过程与自顶向下设计 123
9.2 使用简单的过程解决问题 128
9.3 包含参数的程序 130
9.4 使用包含参数的过程解决问题 135
第十章 选择结构 140
10.1 程序控制结构 140
10.2 布尔表达式 141
10.3 布尔运算 142
10.4 IF语句 144
10.5 嵌套的IF语句 147
10.6 Case语句 149
10.7 嵌套的Case语句 151
10.8 利用选择结构来解决问题 152
第十一章 循环结构 156
11.1 循环控制结构 156
11.2 While语句 157
11.3 数据结束测试 159
11.4 使用布尔变量控制循环 160
11.5 嵌套的While循环 161
11.6 Repart-Until语句 162
11.7 For语句 164
第十二章 过程与函数 168
12.1 过程与参数 168
12.2 函数 174
12.3 标准函数 175
12.4 用户自定义函数 176
12.5 函数调用 178
12.6 递归的过程与函数 180
12.7 以过程与函数解决问题 183
12.8 Forward使用 189
第十三章 数据类型 191
13.1 用户定义或枚举数据类型 191
13.2 子界数据类型 194
13.3 标准有序函数:pred,suce,ord与chr 196
13.4 使用枚举数据类型来解决问题 200
13.5 集合数据类型 202
第十四章 数组 206
14.1 数组声明 206
14.2 数组处理 209
14.3 一维数组 210
14.4 使用数组的注意事项 211
14.5 排序 212
14.6 查找 217
14.7 多维数组 220
14.8 使用数组解决问题 225
第十五章 记录 228
15.1 记录(Record) 228
15.2 层次式记录与记录数组 231
15.3 使用记录来解决问题 236
15.4 变体记录 240
第十六章 System单元和DOS单元 244
16.1 标准过程和函数 244
16.2 文件的输入和输出 246
16.3 Turbo Pascal中的设备 249
16.4 预声明变量 251
16.5 DOS单元 253
16.6 常量、类型和变量 253
16.7 过程和函数 256
第十七章 Graph单元 259
17.1 驱动程序 259
17.2 当前指针 261
17.3 正文 261
17.4 图和属性 261
17.5 分页与颜色 262
17.6 初启 263
17.7 Graph单元常量、类型和变量 266
第十八章 覆盖 274
18.1 覆盖管理 274
18.2 常量和变量 276
18.3 过程和函数 278
18.4 覆盖程序设计 280
18.5 在.EXE文件中使用覆盖 285
第十九章 8087的使用 286
19.1 8087数据类型 287
19.2 扩展型精度运算 287
19.3 实数的比较 288
19.4 8087的运算栈 288
19.5 8087的实数输出 289
19.6 使用8087的单元 289
20.1 输入和输出文件 291
20.2 窗口 291
第二十章 CRT单元 291
20.3 常量、类型、和变量 292
20.4 函数和过程 295
第二十一章 内存 296
21.1 Turbo Pascal内存映像 296
21.2 堆管理程序 297
21.3 内部数据格式 300
21.4 直接内存存取 305
第二十二章 面向对象编程 306
22.1 OOP术语 306
22.2 使用OOP模式来解决问题 307
22.3 OOP使用Turbo Pascal 310
22.4 对象与单元 315
22.5 类的继承特性 319
22.6 对象与动态数据结构 325
22.7 OOP与TOP-DOWN编程的探讨 329
22.8 OOP解法 338
22.9 对象的内部数据格式 348
22.10 方法调用约定 351
22.11 汇编语言方法 353
22.12 构造方法的纠错 356
第二十三章 控制 361
23.1 调用约定 361
23.2 Exit过程 364
23.3 中断处理 365
第二十四章 输入和输出 367
24.1 文本文件设备驱动程序 367
24.2 直接端口存取 369
24.3 文件类型与文件变量 369
24.4 标准文件处理程序与函数 371
24.5 文件变量 374
24.6 文本文件 374
24.7 用Pascal解决问题 379
第二十五章 数据结构 383
25.1 集合 383
25.2 指针 388
25.3 链表 391
25.4 堆栈与队列 394
25.5 二叉树 397
第二十六章 Inline汇编语言 400
26.1 asm语句 400
26.2 汇编语言语句的语法 401
26.3 表达式 406
26.4 汇编语言过程和函数 416
第二十七章 高级编程指南 418
27.1 使用单元 418
27.2 高级过程调用 421
27.3 条件编译 427
27.4 错误处理 433
27.5 使用BINOBJ实用程序 437
第二十八章 有用的单元 441
28.1 VIDEO:视频单元 441
28.2 KEYBRD:键盘单元 457
28.3 使用单元:一个数据录入例程 463
第二十九章 用户界面的设计 473
29.1 窗口 473
29.2 菜单 487
29.3 命令行分析 507
第三十章 使用扩展内存 518
30.1 扩展内存工作原理 518
30.2 扩展内存页框 518
30.3 逻辑页和物理页 518
30.4 扩展内存描述字 519
30.5 判断扩展内存是否安装 519
30.6 LIMEMS单元 520
30.7 与扩展内存相关的编程问题 525
30.8 示例程序 525
第三十一章 BIOS和DOS服务 532
31.1 BIOS服务 532
31.2 DOS服务 550
31.3 未公布的DOS服务 562
32.1 单任务操作系统 565
32.2 TSR概念 565
第三十二章 内存驻留程序设计 565
32.4 重入一大难题 566
32.5 寄存器转换 566
32.3 Keep及其之后的生存期 566
32.8 向量捕捉 567
32.7 使用栈开关 567
32.9 设立热键标志 567
32.6 良好的信息保护 567
32.10 激活TSR程序 568
32.11 与TSR程序的通讯 568
32.12 修改PSP和DTA 570
32.13 临界错误 570
32.14 Control Break问题 571
32.15 退出TSR程序 571
32.16 TSRU单元 572
32.17 TSR样本程序 585
33.2 Mouse如何工作 592
33.1 问题的由来 592
33.3 Mouse驱动程序 592
第三十三章 使用鼠标器(Mouse) 592
33.4 实屏的优点 593
33.5 Mouse光标 593
33.6 BinU单元 595
33.7 调用Mouse服务程序 597
33.8 MousU单元 597
33.9 Mouse演示程序 622
34.1 DOS和PSP 628
34.2 PSP的结构 628
第三十四章 程序段前缀 628
34.3 在Turbo Pascal使用PSP 631
34.4 PSPU单元 636
34.5 PSP演示程序 641
第三十五章 在Turbo Pascal中使用汇编程序 645
35.1 汇编程序概貌 645
35.2 使用{$L}编译伪指令 646
35.3 汇编例程的轮廓 646
35.4 向汇编例程传送参数 649
35.5 汇编例程实例 653
36.2 定义数据录入屏幕 662
36.1 数据录入屏幕 662
36.3 数据类型和数据项 662
第三十六章 数据录入屏幕 662
36.4 数据录入例程的类型 663
36.5 扩展域定义 665
36.6 用Turbo Pascal定义域 666
36.7 对Keybrd单元的补充 669
36.8 InscrU单元 676
36.9 录入屏幕演示程序 682
37.1 基本排序过程 689
37.2 编写典型的排序程序 689
第三十七章 数据库工具箱 689
37.3 通用排序过程 691
37.4 通用排序单元 700
37.5 测试通用排序程序 711
37.6 数据库指针 714
38.2 绘制股市表 722
38.1 图形工具箱的准备 722
38.3 绘制股票价格表的步骤 722
第三十八章 图形工具箱 722
38.4 在坐标系中作用 725
38.5 绘制股市表的例程 730
38.6 收盘价及动态平均值表 731
38.7 演示程序 741
第三十九章 Turbo Pascal编辑工具箱 744
39.1 二元编辑器 744
39.2 文本数据库的概念 746
39.3 生成文本数据库 748
39.4 使用文本数据库例程 758
第四十章 使用数据方法工具箱 763
40.1 回归分析 763
40.2 回归分析的矩阵方法 766
40.3 数字矩阵 770
40.5 回归例程 771
40.4 数据文件 771
40.6 样本程序 780
41.1 覆盖 787
第四十一章 覆盖与调试 787
41.2 Turbo Pascal 5的调试功能 793
Addr函数 798
Abs函数 798
第四十二章 运行库函数过程或函数名 所在单元 798
Arc过程 Graph单元 799
Append过程 799
Assign 过程 800
ArcTan函数 800
AssignCrt过程 CRT单元 801
Bar3d过程 Graph单元 802
Bar过程 Graph单元 802
BlockRead过程 803
BlockWrite过程 804
ChDir过程 805
Circle过程 Graph单元 806
Chr函数 806
ClearViewProt过程 Graph单元 807
ClearDevice过程 Graph单元 807
CloseGraph过程 Graph单元 808
Close过程 808
ClrScr过程 Graph单元 809
ClrEol过程 CRT单元 809
Copy函数 810
Concat函数 810
Dec过程 811
CSeg函数 811
Cos函数 811
DetectGraph过程 Graph单元 812
DelLine过程 CRT单元 812
Delay过程 CRT单元 812
DiskFree函数 DOS单元 813
Dispose过程 814
DiskSize函数 DOS单元 814
Drawpoly过程 Graph单元 815
DOSVersion函数 DOS单元 815
DOSExitCode过程 DOS单元 815
Ellipse过程 Graph单元 816
Dseg函数 816
EnvStr函数 DOS单元 817
EnvCount函数 DOS单元 817
Eoln函数 818
Eof函数(类型、无类型文件) 818
Eof函数(正文文件) 818
Erase过程 819
Exec过程 DOS单元 820
FExpand函数 DOS单元 821
Exp函数 821
Eixt过程 821
FileSize函数 822
FilePos函数 822
FillEllipse过程 Graph单元 823
FillChar过程 823
FindFirst过程 DOS单元 824
FillPoly过程 Graph单元 824
FindNext过程 DOS单元 825
FloodFill过程 Graph单元 826
FreeMem过程 827
Frac函数 827
Flush过程 827
FSearch函数 DOS单元 828
GetArcCoords过程 Graph单元 829
FSplit过程 DOS单元 829
GetAspectRation过程 Graph单元 830
GetDefaultPalette函数 Graph单元 831
GetDate过程 DOS单元 831
GetDir过程 832
GetEnv函数 DOS单元 833
GetDriverName函数 Graph单元 833
GetFAttr过程 DOS单元 834
GetFillSettting过程 835
GerFillPattern过程 Graph单元 835
GetGraphMode函数 Graph单元 836
GetFTime过程 DOS单元 836
GetImage过程 Graph单元 838
GetLineSettings过程 Graph单元 839
GetIntVec过程 DOS单元 839
GetMaxMode函数 Graph单元 840
GetMaxColor函数 Graph单元 840
GetMaxX函数 Graph单元 841
GetMem过程 842
GetMaxY函数 Graph单元 842
GetModeRange过程 Graph单元 843
GetModeName函数 Graph单元 843
GetPixel函数 Graph单元 844
GetPalette过程 Graph单元 844
GetTextSettings过程 Graph单元 845
GetViewSettings过程 Graph单元 846
GetVerify过程 DOS单元 846
GetTime过程 DOS单元 846
GetX函数Graph单元 847
GetY函数Graph单元 848
GraphDefaults过程 Graph单元 849
GotoXY过程CRT单元 849
GraphResult函数 Graph单元 850
GraphErrorMsg函数 Graph单元 850
Hi函数 852
Halt过程 852
ImageSize函数 Graph单元 853
HighVideo过程 CRT单元 853
InitGraph过程 Graph单元 854
Inc过程 854
Insert过程 856
InstallUserDriver函数 Graph单元 857
InsLine过程 CRT单元 857
InstallUserFont函数 Graph单元 859
Intr过程 DOS单元 860
Int函数 860
IOResult函数 861
Length函数 862
KeyPressed函数 CRT单元 862
Keep过程 DOS单元 862
Line过程 Graph单元 863
LineTo过程 Graph单元 864
LineRel过程 Graph单元 864
Lo函数 865
Ln函数 865
MaxAvail函数 866
Mark过程 866
LowVideo过程 CRT单元 866
MkDir过程 867
MemAvali函数 867
MoveRel过程 Graph单元 868
Move过程 868
MoveTo过程 Graph单元 869
NormVideo过程 CRT单元 870
New过程 870
MsDOS过程 DOS单元 870
OutText过程 Graph单元 871
Ord函数………………: 871
NoSound过程 CRT单元 871
Odd函数 871
Ofs函数 871
OutTextXY过程 Graph单元 873
OvrGetBuf函数 Overlay单元 874
OvrClearBuf过程 Overlay单元 874
OvrInitEMS过程 Overlay单元 875
OvrInit过程 Overlay单元 875
OvrSetBuf过程 Overlay单元 876
ParamCount函数 877
PackTime过程 877
PieSlice过程 Graph单元 878
Pi函数 878
ParamStr函数 878
Pred函数 879
Pos函数 879
PutImage过程 Graph单元 880
Ptr函数 880
PutPixel过程 Graph单元 882
Read过程(文本文件) 883
Randomize过程 883
Random函数 883
ReadKey函数 CRT单元 884
Read过程(类型文件) 884
Rectangle过程 Graph单元 885
Readln过程 885
RegisterBGIDriver函数 886
RegisterBGIFont函数 888
Reset 过程 890
Rename过程 890
Release过程 890
RestoreCrtMode过程 Graph单元 891
RmDir过程 892
ReWrite 过程 892
RunError过程 893
Round函数 893
Seek过程 894
Sector过程 Graph单元 894
Seg函数 895
SeekEoln函数 895
SeekEof函数 895
SetAllPalette过程 Graph单元 896
SetActivePage过程 Graph单元 896
SetAspectPaRio过程 Graph单元 898
SetBkColor过程 Graph单元 899
SetDate过程 DOS单元 900
SetColor过程 Graph单元 900
SetCBreak过程 900
SetFillPattern过程 Graph单元 901
SetFAttr过程 DOS单元 901
SetFillStyle过程 Graph单元 903
SetGraphMode过程 Graph单元 904
SetGraphBufSize过程 Graph单元 904
SetFTime过程 DOS单元 904
SetLineStyle过程 Graph单元 906
SetIntVec过程 DOS单元 906
SetPalette过程 Graph单元 908
SetRGBPalette过程 Graph单元 909
SetTextBuf过程 911
SetTextJustify过程 Graph单元 912
SetTextStyle过程 Graph单元 913
SetUserCharSize过程 Graph单元 914
SetTime过程 DOS单元 914
SetViewPort过程 Graph单元 915
SetVerify过程 DOS单元 915
SetWriteMode过程 Graph单元 917
SetVisualPage过程 Graph单元 917
Sound过程 CRT单元 919
SizeOf函数 919
Sin函数 919
Sseg函数 920
Sqrt函数 920
Sprt函数 920
Sqr函数 920
Swap函数 921
Succ函数 921
Str过程 921
TextBackground过程 CRT单元 922
SwapVectors过程 DOS单元 922
TextColor过程 CRT单元 923
TextMode过程 CRT单元 924
TextHeight函数 Graph单元 924
TextWidth函数 Graph单元 925
Trunc函数 926
Val过程 927
Upcase函数 927
Truncate过程 927
UnpackTime过程 927
WhereY函数 CRT单元 928
WhereX函数 CRT单元 928
Write过程(文本文件) 929
Window过程 CRT单元 929
Writeln过程 931
Write过程(类型文件) 931
A.1 开关命令 932
附录A 编译命令 932
A.2 参数命令 937
A.3 条件编译 939
附录B 连接汇编语言代码 942
B.2 汇编语言子程序例子 943
B.1 Turbo Assembler和Turbo Pascal 943
B.3 Inline机器码 947
C.1 编译错误信息 950
附录C 错误信息 950
C.2 运行错误 960