《Borland c++应用篇》求取 ⇩

第一部分 运行Borland C++2

第一章 IDE入门2

1.1 安装Borland C++2

1.1.1 对硬件和软件的要求2

1.1.2 安装步骤2

目录2

1.1.3 启动Borland C++4

1.1.4 获取帮助信息5

1.2 配置IDE5

1.2.1 改变SpeedBars6

1.2.2 设置IDE preference6

1.2.3 保存IDE的设置7

1.3 使用编辑器7

1.3.1 配置IDE的编辑器7

1.3.2 语法制导彩色显示(Syntax Highlighting)8

1.4 使用消息窗口(Message)工作8

1.5 浏览代码9

1.5.1 浏览对象的类10

1.5.2 过滤器10

1.5.3 查看所列符号的声明10

1.5.4 浏览全局符号11

1.5.5 在浏览器中使用一般通配符12

1.5.6 浏览源代码中的符号12

1.6 使用命令行工具12

1.6.1 DPMI和命令行工具13

1.6.2 内存和MAKESWAP.EXE13

1.6.3 运行时间管理器和工具13

1.6.4 控制RTM占用的内存14

1.7 在IDE中运行其他程序14

第二章 运行工程管理器16

2.1 什么是工程管理器16

2.2 建立一个工程17

2.2.1 建立一个多任务工程18

2.2.2 转换旧的工程19

2.2.3 将工程转化为制作文件(makefiles)19

2.2.4 改变工程视图19

2.3 建立一个工程20

2.3.1 建立工程的一部分20

2.4 编辑工程树21

2.4.1 使用TargetExpert编辑任务属性21

2.4.2 编辑节点属性21

2.4.3 增加和删除一个节点22

2.4.4 增加和删除任务22

2.4.5 移动节点和任务23

2.4.6 拷贝节点23

2.5 使用Source Pool23

2.6.1 Local Override24

2.6 设置工程选项24

2.6.2 使用Style Sheet25

2.6.3 将一个Style Sheet与一个节点相连25

2.6.4 生成一个Style Sheet26

2.6.5 编辑Style Sheet26

2.6.6 共享Style Sheet26

2.6.7 查看工程中的选项27

2.7 转换器27

2.7.1 安装一个转换器28

2.7.2 使用SpeedMenu中的Special命令29

2.7.3 安装观察器和工具29

第三章 编译30

3.1 在IDE中编译30

3.1.1 使用IDE编译器选项30

3.2 使用命令行编译器31

3.2.1 配置文件31

3.2.2 应答文件32

3.2.3 选项的优先级规则32

3.3 编译选项参考32

3.4 目录选项44

3.4.1 查找文件算法45

3.5 编译器宏定义选项(Compiler|Defines)45

3.6 编译器代码生成选项(Compiler|Code-generati+on)46

3.8 编译器输出选项(Compiler|Compiler Output)47

3.7 编译器浮点处理选项(Compiler|Floating Point)47

3.9 编译调试选项(Compiler|Debugging)48

3.8.1 编译源文件代码选项(Compiler|Source)48

3.11 16位编译处理器选项(16—bit Compiler|Processor)50

3.10 预编译头文件选项(Compiler|Precompiled headers)50

3.12 16位编译存储模式选项(16—bit Compiler|Memory Model)51

3.11.1 16位编译器调用约定选项(16—bit Compiler|Calling Convention)51

3.13 16位编译数据段命名选项(16—bit Compiler|Segment Names Data)53

3.14 16位远程数据段命名选项(compiler|Segment Names Far Data)54

3.15 16位编译代码段命名选项(16—bit Compiler|Segment Names Code)54

3.15.1 16位编译入口|出口代码选项(16—bit Compiler|Entry/Exity Code)55

3.16 32位编译处理器选项(32—bit Compiler|Processor)56

3.18 C++选项|成员指针(C++Options|Member Pointer)57

3.17 32位编译调用约定选项(32—bit Compiler|Calling Convention)57

3.19 C++兼容性选项(C++Options|C++Compatibiliry)58

3.20 C++虚表选项(C++Optinons|Virtual Tables)59

3.21 C++模板生成选项(C++Options|Templates)59

3.23 优化声明选项(Optimizations Specific)60

3.22 C++例外控制选项(C++Options|Exception handling/RTTI)60

3.22.1 优化选项60

3.24 优化代码长度选项(Optimization|Size)62

3.25 优化速度选项(Optimization|Speed)63

3.28 ANSI违例警告(Message|ANSI Violations)65

3.27 移植性警告选项(Messages|Portability)65

3.26 消息选项(Messages)65

3.30 潜在的C++错误(Messages|Potential C++ Errors)66

3.29 C++错误(Messages|Obsolete C++)66

3.32 潜在错误(Messages|Potential errors)67

3.31 无效C++代码(Messages|Inefficient C++ Coding)67

3.32.1 无效代码(Messages|Inefficient coding)68

3.34 Make选项68

3.35 命令行选项68

3.33 一般错误(Message|General)68

4.1 AppExpert基础72

4.2 使用AppExpert生成一个应用程序72

第四章 运行AppExpert构造应用程序72

4.2.1 缺省的AppExpert应用程序73

4.3 应用程序选项73

4.3.1 应用程序的基本选项(Application|Basic Optins)74

4.3.2 应用程序的高级选项(Application|Advanced Options)74

4.3.3 应用程序的代码生成控制选项(Application|Code Gen Control)75

4.3.4 应用程序管理选项(Application|Admin Options)75

4.4 主窗口选项(Main Window Options)75

4.4.1 主窗口基本选项(Main window|Basic Options)76

4.4.2 主窗口的SDI用户选项(Main Windows|SDI Client)76

4.4.3 主窗口MDI用户选项(Main Window|MDI Client)77

4.5 MDI子窗口显示选项(MDI Child/View Options)77

4.5.1 MDI子窗口|显示的基础选项(MDI Child/View|Basic Options)77

5.1.1 Class Expert基础79

5.1 启动ClassExpert79

第五章 运行ClassExpert79

5.1.2 添加一个类80

5.1.3 创建文档类型81

5.1.4 添加和删除事件处理程序82

5.1.5 添加和删除实例变量82

5.2 使用资源管理程序与ClassExpert83

5.1.6 跳转到类的源代码83

5.2.1 IDE中运行Resource Workshop84

5.3 使用Rescan84

5.3.1 删除一个类84

5.3.2 移动一个类85

5.3.3 更名一个AppEXpert元素85

5.3.4 引入一个类85

5.3.5 重建.APX数据库文件85

6.1.1 编译时间错误86

6.1 错误的类型86

第六章 运行集成调试器86

6.1.2 运行时间错误87

6.2 生成调试信息87

6.3 指明程序参数87

6.4 控制程序执行87

6.1.3 逻辑错误87

6.4.1 监视程序的输出(Watching program output)88

6.4.2 单步执行程序(Step over code)88

6.4.4 单步跳过一段程序代码89

6.4.3 跟踪执行代码(Tracing into code)89

6.4.5 停止程序运行90

6.4.6 重新开始90

6.5 检查变量的值91

6.5.1 什么是表达式91

6.5.2 监视表达式91

6.5.3 计算和修改表达式93

6.5.4 检查数据元素94

6.5.5 检查寄存器的值95

6.6.2 使用断点工作96

6.6.1 设置断点96

6.6 使用断点96

6.6.3 用户定做断点和执行点98

6.9 调试动态连接库99

6.8 使用Event Log窗口99

6.7 解决一般保护错误99

第七章 运行WinSight101

7.1 开始启动101

7.1.1 启动和结束屏幕更新101

7.1.2 关闭消息跟踪101

7.2 选择视窗102

7.3 Class List102

7.3.1 使用Class List视窗102

7.3.2 监测类102

7.4 Window Tree103

7.4.1 寻找窗口103

7.5.1 使用Message Trace视窗104

7.5.2 其它的跟踪选项104

7.4.2 监测窗口104

7.5 选择跟踪消息104

第八章 运行WinSpector109

8.1 使用WinSpector109

8.1.1 配置WINSPCTR.LOG109

8.1.2 WINSPCTR.LOG参考110

8.2 处理WinSpector数据114

8.2.1 DFA输出114

8.2.2 使用带有WINSPCTR.LOG的DFA115

8.2.3 使用带WINSPCTR.BIN的DFA115

8.3 其它WinSpector工具115

8.3.2 使用TMAPSYM.EXE116

8.3.3 使用BUILDSYM.EXE116

8.3.1 使用EXEMAP.EXE116

9.1 TLINK基础118

第九章 运行连接程序:TLINK118

9.1.2 响应文件119

9.1.1 TLINK.CFG119

9.1.4 连接库120

9.1.3 用BCC.EXE使用TLINK120

9.2 TLINK选项121

9.3.1 CODE语句127

9.3 模块定义文件参考127

9.3.4 EXETYPE语句128

9.3.3 DESCRIPTION语句128

9.3.2 DATA语句128

9.3.6 IMPORTS语句129

9.3.5 EXPORT语句129

9.3.7 LIBRARY语句130

9.3.8 NAME语句130

9.3.9 SEGMENTS语句130

9.3.10 STACKSIZE语句131

9.3.11 STUB语句131

9.3.12 缺省的模式定义文件131

第十章 运行资源工具133

10.1 BRCC.EXE:资源编译器133

10.2 RLINK:资源连结器134

10.3 BRC.EXE资源外壳135

11.1 使用IMPLIB:导入库137

第十一章 运行库管理程序137

11.2.1 在DLL中分类138

11.2 使用IMPDEF:模块定义文件管理器138

11.3 使用TLIB:Turbo库139

11.2.2 在DLL中的函数139

11.3.1 为什么要使用目标模块库140

11.3.2 TLIB命令行140

11.4 例子142

第十二章 运行MAKE144

12.1 MAKE基础144

12.1.1 BUIL TIINS.MAK145

12.1.2 使用TOUCH.EXE145

12.1.3 MAKE选项145

12.2 使用makefile147

12.3.1 显式规则语法148

12.2.1 符号目标148

12.3 显式和隐式规则148

12.3.2 隐式规则语法149

12.3.3 命令语法150

12.4 使用MAKE宏152

12.4.1 定义宏152

12.4.2 使用宏152

12.4.3 在宏中替换字符串153

12.4.4 缺省的MAKE宏153

12.4.5 修改缺省宏154

12.5 使用MAKE指令154

12.5.1 自动依赖155

12.5.2 !error155

12.5.3 !if和其它条件指示字156

12.5.5 !message157

12.5.6 .path.ext157

12.5.4 !include157

12.5.10 在指示字中使用宏158

12.5.8 .suffixes158

12.5.9  !undef158

12.5.7 .precious158

12.5.11 空宏159

13.1 预备知识162

13.1.1 源文件、目标文件和装载模块162

第十三章 C语言概述162

第二部分 Borland C++语言基础162

13.1.2 程序的逻辑和执行流程163

13.2 基本数据类型168

13.2.1 C语言的基本数据类型169

13.2.2 何处定义数据对象171

13.3 编写C语言表达式和语句173

13.3.1 表达式和语句173

13.4 控制类型转换177

13.4.1 理解隐式类型转换177

13.5 显式类型转换的使用179

13.6 使用C的宏180

13.6.1 定义类似对象的宏180

13.6.2 定义类似函数的宏183

第十四章 操作符和表达式187

14.1 什么是操作符187

14.2 单目操作符187

14.3 双目操作符188

14.4 三目操作符189

14.5 标点符号189

14.6 操作符语义191

14.6.1 后缀和前缀操作符191

14.6.2 单目操作符193

14.6.3 sizeof操作符194

14.6.4 乘法类操作符194

14.6.5 加法类操作符195

14.6.6 按位移位操作符195

14.6.8 相等类操作符196

14.6.7 关系操作符196

14.6.9 位运算操作符197

14.6.10 逻辑运算符198

14.6.12 赋值操作符199

14.6.11 条件操作符?:199

14.7 高级运算符的使用实例200

14.7.1 位运算符200

14.6.13 逗号操作符200

14.7.2 移位运算符202

14.7.3 ?:运算符206

14.7.4 C语言的简写207

14.7.5 逗号运算符208

14.7.6 运算符优先级表208

14.8 表达式209

第十五章 说明212

15.1 有关概念212

15.1.1 对象212

15.1.2 左值212

15.1.3 右值213

15.1.4 类型与存储类213

15.1.5 作用域213

15.1.7 生存期214

15.1.6 可见性214

15.1.9 连接215

15.1.8 编译单元215

15.2 说明的语法216

15.2.1 暂时定义216

15.2.2 可能的说明216

15.3 类型说明219

15.3.1 外部说明与定义219

15.3.4 基本类型220

15.3.3 类型分类220

15.3.2 类型指明符220

15.3.5 标准转换224

15.3.6 特殊的char、int与enum间的转换224

15.3.7 初始化224

15.5.2 存储类指明符extern的使用227

15.4 简单说明227

15.5 存储类指明符227

15.5.3 存储类指明符register的使用227

15.5.1 存储类指明符auto的使用227

15.6 修饰符228

15.5.5 存储类指明符typedef的使用228

15.5.4 存储类指明符static的使用228

15.6.2 中断函数修饰符229

15.6.1 const修饰符229

15.6.3 volatile修饰符230

15.6.4 cdel与pascal修饰符230

15.6.5 指针修饰符231

15.6.6 函数类型修饰符231

15.7 复杂说明与说明符232

第十六章 程序控制语句234

16.1 程序控制语句的语法234

16.1.1 带标号语句235

16.1.2 复合语句235

16.1.3 表达式语句235

16.1.4 选择语句236

16.1.5 循环语句237

16.1.6 跳转语句238

16.2 if语句239

16.2.1 else语句的用法240

16.2.2 if—else—if阶梯的用法241

16.2.3 条件表达式242

16.2.4 if语句的嵌套结构243

16.3 switch语句243

16.3.1 default语句的用法245

16.3.2 break语句的用法246

16.3.3 switch语句的嵌套结构246

16.4 循环249

16.5 for循环249

16.5.1 for循环的灵活用法250

16.5.2 无穷的for循环252

16.5.3 无穷for循环的中断252

16.5.4 空循环的用法252

16.6 while循环语句252

16.7 do while循环254

16.8 循环嵌套255

16.9 循环中断257

16.10 continue语句259

16.11 goto语句260

17.1.1 说明与定义262

17.1.2 说明与原型262

17.1 函数的初步概念262

第十七章 函数262

17.1.3 定义263

17.1.4 形参说明264

17.1.5 函数调用与参数转换264

17.2 return语句265

17.2.1 从一个函数中返回265

17.2.2 返回值266

17.2.3 函数返回非整型值268

17.3 有关函数原型的进一步说明271

17.3.1 参数不匹配271

17.3.2 使用头文件272

17.3.3 无任何参数的函数原型272

17.3.4 有关旧式C程序272

17.4 作用域规则273

17.4.1 局部变量273

17.4.2 形式参数275

17.4.3 全局变量275

17.4.4 有关作用域的最后一个例子276

17.5 有关函数的参数和自变量的更详尽说明277

17.5.1 赋值调用和赋地址调用277

17.5.2 一个赋地址调用的建立278

17.5.3 数组与函数调用279

17.6 argc,argv和env——main 中的参数282

17.7 从main()中返回值284

17.8 递归285

17.10 对一些影响函数的效率和实用性问题的讨论287

17.9 参数说明的传统形式和现代形式的比较287

17.10.1 参数和通用函数288

17.10.2 效率288

17.11 库函数288

17.12 改变程序的执行流程291

17.12.1 使用exit()和abort()函数291

17.12.2 使用system(),exec…(),和spawn()函数292

17.13 使用可变参数表293

17.13.2 使用va…()函数294

17.13.1 设计可变参数表294

第十八章 指针299

18.1 指针的语法规则299

18.1.1 什么是指针299

18.1.2 指针说明300

18.1.3 指针与常量300

18.1.4 指针算术运算301

18.3 指针变量302

18.4 指针操作符302

18.2 指针是地址302

18.1.5 指针转换302

18.5 指针表达式304

18.5.1 指针赋值304

18.5.2 指针运算305

18.5.3 指针比较306

18.6 指针和数组306

18.6.1 索引指针307

18.6.2 指针和字符串307

18.6.3 如何得到一个数组元素的地址308

18.6.4 指针数组309

18.6.5 一个使用数组和指针的实例311

18.7 指针的指针314

18.8 指针的初始化315

18.9 指针的一些问题316

18.9.1 使用C语言的间接操作符和取地址操作符317

18.9.2 使用数组和串319

18.10.1 指向函数的指针说明和初始化325

18.10 使用指向函数的指针325

18.10.2 利用指针引用某调用函数326

18.11 在动态内存中使用指针329

18.11.1 C语言程序和动态内存330

18.11.2 使用动态存储331

第十九章 数组、结构、位域、联合和枚举19.1 高级数据类型的语法规则338

19.1.1 数组338

19.1.2 结构338

19.1.3 位域342

19.1.4 联合342

19.1.5 枚举343

19.2.1 一维数组344

19.2 数组344

19.2.2 字符串346

19.2.3 二维数组351

19.2.4 多维数组353

19.2.5 数组初始化353

19.2.6 一个水下搜索游戏355

19.3 结构357

19.3.2 结构数组359

19.3.1 访问结构元素359

19.3.3 结构赋值366

19.3.4 将结构传递给函数367

19.3.5 结构指针368

19.3.6 结构内部的数组和结构372

19.4 位域372

19.5 联合(union)375

19.6 枚举379

19.7 使用sizeof来确保可移植性381

19.8 typedef382

第二十章 Borland C++预处理程序指令20.1 空指令#386

20.2 #define与#undef指令386

20.2.1 简单的#define宏386

20.2.2 #undef指令387

20.2.3 —D与—U选择项388

20.2.4 关键字与保护字388

20.2.5 带参宏388

20.3 文件包含指令#include390

20.3.1 〈头名〉形式的头文件搜索391

20.3.2 “头名”形式的头文件搜索391

20.4 条件编译391

20.4.1 #if、#elif、#else和#endif条件指令391

20.4.2 defined运算符392

20.4.3 #ifdef和#ifndef条件指令392

20.5 #line行控制指令393

20.7 #pragma指令394

20.6 #error指令394

20.7.3 #pragma inline395

20.7.2 #pragma exit与#pragma startup395

20.7.1 #pragma argsused395

20.7.4 #pragma option396

20.7.5 #pragma saveregs397

20.7.6 #pragma warn397

20.8 预定义的宏398

第三部分 中级Borland C++编程技术第二十一章 文件输入输出21.1 两个预处理指令402

21.1.1 #define指令402

21.1.2 #include指令404

21.2 文件与流404

21.3 流(streams)404

21.3.1 文本流404

21.3.2 二进制流405

21.3.3 文件405

21.4 概念和实际405

21.5 控制台I/O405

21.5.1 字符读写406

21.5.2 字符串读写407

21.6 控制台格式化I/O407

21.6.1 printf()函数408

21.6.2 scanf()函数409

21.7 缓冲型I/O系统(ANSI型I/O系统)412

21.7.1 文件指针412

21.7.2 打开文件412

21.7.3 写字符414

21.7.4 读字符414

21.7.5 feof()的使用415

21.7.6 关闭文件415

21.7.7 ferror()和rewind()函数415

21.7.8 fopen(),getc(),putc()和fclose()函数的用法416

21.7.11 fread()和fwrite()函数418

21.7.9 getw()和putw()函数的使用418

21.7.10 fgets()和fputs()函数418

21.7.12 fseek()函数和随机访问I/O420

21.7.13 标准流422

21.7.14 fprintf()和fscan()函数422

21.7.15 删除文件425

21.8 非缓冲型I/O——UNIX型文件系统425

21.8.1 open(),creat()和close()函数426

21.8.2 read()和write()函数427

21.8.3 unlink()函数428

21.8.4 随机访问文件和lseek()函数429

21.9 理解I/O概念430

21.9.1 文件与设备430

21.9.2 文件与流432

21.9.3 文本流和二进制流433

21.10 利用标准流进行I/O434

21.10.1 使用格式化I/O函数434

21.10.2 scanf()函数438

21.10.3 prints()函数441

21.10.4 使用字符I/O函数443

21.11.1 开文件、关文件和控制文件447

21.11 使用文件控制函数447

21.11.2 控制文件缓冲区450

21.12 使用直接文件I/O函数451

21.12.1 理解直接I/O概念452

21.12.2 读写直接文件453

21.13 使用文件定位函数458

21.13.1 得到当前文件位置458

21.13.2 建立一个新文件位置459

21.14.2 显示和清除文件I/O错误461

21.14.1 查出文件I/O错误461

21.14 处理文件I/O错误461

第二十二章 屏幕文本和图形程序设计463

22.1 图形系统和要素463

22.1.1 视频模式463

22.1.2 窗口和视区463

22.1.3 在文本模式下编程464

22.1.4 在图形模式下编程468

22.2 Borland C++图形程序设计478

22.2.1 基本正文模式函数478

22.2.2 Borland C++的图形子系统简介487

22.3.1 PC显示器适配器和屏幕495

22.3 IBM/PC的文本方式495

22.3.2 视频缓冲区I/O496

22.4.1 使用文本方式控制函数497

22.4 控制文本屏幕497

22.4.2 使用直接控制台I/O以获得高性能499

22.5 使用窗口函数500

22.6 了解IBM—PC的图形方式503

22.6.1 象素点与调色板504

22.6.2 控制图形屏幕505

22.7 介绍BGI图形库506

22.7.1 使用画图和填充函数506

22.7.2 控制屏幕和视口511

22.8 在图形方式下显示文本511

22.8.2 使用图形方式下的文本函数512

22.8.1 BGI字库512

23.1.1 段、节以及偏移地址(Offset)515

23.1 80x86的体系结构515

第二十三章 存储模式515

23.1.2 CPU的地址寄存器517

23.2 near指针、far指针和huge指针518

23.2.1 选择想要的指针大小518

23.2.2 near、far和huge说明符520

23.3.1 决定使用哪种存储模式522

23.3 六个Borland C++存储模式522

23.3.2 以混合模式编程523

23.4 创建COM型的可执行程序文件525

23.4.1 使用COM文件525

第二十四章 和汇编语言的接口528

24.1 混合语言程序设计528

24.1.1 参数传递顺序528

24.2 建立从Borland C++对.ASM的调用530

24.2.1 简化的段指令530

24.2.4 定义全局和外部标识符531

24.2.2 标准段指令531

24.2.3 定义数据常量和变量531

24.3.2 引用数据533

24.3.1 引用函数533

24.3 建立从.ASM中对Borland C++的调用533

24.4.2 处理返回值534

24.4.1 传递参数534

24.4 定义汇编语言过程534

24.6 从.ASM过程中调用C函数538

24.5 寄存器约定538

24.7 伪变量、嵌入汇编和中断函数540

24.7.1 伪变量540

24.7.2 嵌入汇编语言542

24.7.3 中断函数547

24.8.1 直接插入式汇编环境549

24.8.2 使用asm关键字549

24.8 使用直接插入(inline)汇编语言549

24.9 与汇编语言例程的接口553

24.9.1 在C程序里调用汇编例程553

24.9.2 在汇编例程中调用C函数561

24.10 使用中断功能568

24.10.1 80x86的中断结构569

24.10.2 使用Borland的中断接口569

24.11 使用中断处理程序572

24.11.1 声明中断处理程序函数573

24.11.2 实现一个时钟中断处理程序575

第四部分 高级Borland C++程序设计技术第二十五章 通用C语言函数的设计25.1 函数功能描述580

25.2 通用函数源程序582

26.1 窗口588

第二十六章 窗口:丰富的用户界面588

26.2 视频内存结构590

26.3 雪花现象与视频回扫592

27.2 层次式窗口594

27.1 堆栈式窗口594

第二十七章 通用窗口库函数594

27.3 窗口函数596

27.4.1 源程序:twindow.h599

27.4 窗口程序清单599

27.4.2 解析twindow.h603

27.4.3 程序twindow.c604

27.4.4 程序解析618

27.5 窗口范例620

27.5.1 窗口移动620

27.5.2 窗口提升(promote)与降级(demote)622

27.5.3 标题设置及更改窗口颜色624

27.5.4 堆栈及层次式窗口的比较625

27.5.5 移动、提升、隐藏、亮度及菜单626

第二十八章 设计上下文相关的帮助窗口28.1 帮助窗口的程序规划632

28.2 帮助窗口文本文件633

28.3 帮助函数635

28.5 改变帮助函数636

28.6 取消帮助功能636

28.4 改变帮助功能键636

28.7 程序说明639

28.8 上下文相关帮助窗口之范例639

第二十九章 在窗口在输入数据口642

29.1 数据输入的表格画面642

29.1.1 数据输入字段(field)642

29.1.2 字段提示符643

29.3 数据收集的函数643

29.2 数据输入643

29.4 源程序645

29.5 程序说明654

29.6 范例:定货输入656

第三十章 设计窗口式文本编辑器660

30.1.1 光标移动660

30.1.2 页移动660

30.1 文本编辑器命令660

30.1.3 文本段(block)命令661

30.1.4 编辑命令661

30.2 文本编辑函数661

30.3 源程序661

30.4 程序说明678

30.5 范例:便笺(NOTEPAD)680

31.1 菜单682

第三十一章 设计通用菜单682

31.2 窗口型菜单的执行步骤682

31.3 窗口型菜单的处理683

31.4 程序清单683

31.5 程序说明:tmenu.c687

31.6 窗口型菜单的范例687

第三十二章 Borland C++与内存驻留程序687

32.1 中断693

32.1.2 硬件中断694

32.2 DOS——单任务操作系统694

32.1.3 软件中断694

32.1.1 中断矢量694

32.3 终止并驻留程序696

32.3.3 驻留的条件697

32.3.2 内存驻留实用程序697

32.3.1 中断服务例程697

32.4.1 驻留的取得698

32.4 TSR实用程序的创建698

32.4.2 检查TSR程序是否已驻留699

32.4.3 中断接管699

32.4.5 TSR程序的大小700

32.4.4 中断链接700

32.4.8 程序段前缀702

32.4.7 堆栈702

32.4.6 环境切换702

32.4.9 PSP的切换704

32.4.11 键盘中断706

32.4.10 磁盘传送区(DTA)706

32.4.12 计时器中断707

32.4.13 DOS的可重入性707

32.4.14 DOS的三个堆栈707

32.4.15 DOS忙标志708

32.4.16 DOSOK中断708

32.4.17 驱动器ROM-BIOS中断708

32.4.18 DOS严重错误中断709

32.4.19 DOS Ctrl-Break中断709

32.4.20 执行TSR实用程序710

32.4.21 删除TSR实用程序的驻留710

32.4.22 暂停与恢复TSR实用程序711

第三十三章 用Borland C++设计通用内存驻留程序711

33.1.1 程序驻留的方式712

33.1.2 除零中断矢量712

33.1 TSR范例:时钟程序712

33.1.6 时间的计算713

33.1.5 存储及切换堆栈内容713

33.1.4 串接到旧的计时器713

33.1.3 执行计时器ISR713

33.2.1 三个程序模块的运用716

33.2 TSR程序716

33.2.3 指定热键717

33.2.2 TSR的大小717

33.2.4 TSR标志718

33.2.5 通讯联络中断矢量718

33.2.6 驻留的准备工作719

33.2.7 磁盘ISR719

33.2.8 严重错误ISR719

33.2.9 键盘ISR720

33.2.10 计时器ISR720

33.2.11 DOSOK ISR720

33.2.12 执行TSR实用程序720

33.2.13 删除TSR720

33.2.14 内存区域与内存控制块721

33.3 popup.c及resident.c的程序清单721

33.4 TSR应用程序730

33.5 TSR程序之测试731

第五部分 Borland C++4.0 DOS库函数参考附录A 运行库函数abort734

abs734

absread735

abswrite735

access736

acos,acosl737

alloca737

allocmem,_dos_allocmem738

arc740

arg741

asctime742

asin,asinl743

assert743

atan,atanl744

atan2,atan2l745

atexit745

atof,_atold746

atoi747

atol748

bar748

bar3d749

bcd751

bdos751

bdosptr752

bioscom753

_bios_disk755

biosdisk757

biosequip759

_bios_equiplist761

bioskey762

_bios_keybrd764

biosmemory765

_bios_memsize766

biosprint766

_bios_printer767

_bios_serialcom769

biostime771

_bios_timeofday772

brk773

bsearch773

cabs,cabsl775

calloc776

ceil,ceill777

_c_exit777

_cexit778

cgets779

_chain_intr780

chdir782

_chdrive783

_chmod783

chmod785

chsize786

circle786

_clear87787

cleardevice788

clearerr789

clearviewport790

clock791

_close,close792

closedir793

closegraph793

clreol794

clrscr795

complex795

_control87796

conj796

coreleft797

cos,cosl798

cosh,coshl798

country799

cprintf800

cputs801

_creat,_dos_creat801

creat803

creatnew804

creattemp805

cscanf806

ctime807

ctrlbrk807

delay808

delline809

detectgraph809

disable,_disable,enable,_enable812

difftime812

div814

_dos_close814

_dos_commit815

_dos_creat815

_dos_creatnew816

dosexterr817

_dos_findfirst818

_dos_findnext820

_dos_getdiskfree820

_dos_getdrive,_dos_setdrive821

_dos_getfileattr,_dos_setfileattr822

_dos_getftime,_dos_setftime824

_dos_gettime,_dos_settime825

_dos_getvect826

_dos_setvect827

_dos_write828

dostounix829

drawpoly830

dup832

dup2833

ecvt834

ellipse835

_ _emit_ _836

eof837

execl,execle,execlp,execlpe,execv,execve,execvp,execvpe838

_exit842

exit842

exp,expl843

fabs,fabsl844

farcalloc844

farcoreleft845

farfree845

farheapcheck846

farheapcheckfree847

farheapchecknode848

farheapfillfree850

farheapwalk851

farmalloc852

farrealloc853

fcloseall854

fclose854

fcvt855

fdopen856

feof857

ferror858

fflush858

fgetc859

fgetchar860

fgetpos861

fgets861

filelength862

fileno863

fillellipse864

fillpoly864

findfirst866

findnext867

floodfill868

floor,floorl870

flushall870

fmod,fmodl871

_fmemset871

_fmemcpy871

_fmemicmp871

_fmemchr871

_fmemccpy871

_fmemcmp871

fnmerge872

fnsplit873

fopen874

FP_OFF,FP_SEG876

_fpreset877

fprintf878

fputc879

fputchar880

fputs880

free881

fread881

freemem,_dos_freemem882

freopen883

frexp,frexpl884

fscanf885

fseek886

fsetpos887

_fsopen888

fstat,stat890

_fstr*891

ftell891

ftime892

_fullpath893

fwrite894

gcvt895

geninterrupt895

getarccoords896

getaspectratio898

getbkcolor899

getc900

getcbrk901

getch902

getchar902

getcolor903

getche903

getcwd905

getcurdir905

getdate,_dos_getdate,_dos_setdate,906

setdate906

_getdcwd907

getdefaultpalette908

getdfree909

getdisk,setdisk910

_getdrive911

getdrivename911

getdta912

getfat913

getenv913

getfatd915

getfillpattern915

getfillsettings917

getftime,setftime919

getgraphmode920

getimage921

getlinesettings923

getmaxcolor925

getmaxmode926

getmaxx927

getmaxy928

getmodename930

getmoderange931

getpalette932

getpalettesize934

getpass935

getpid935

getpixel936

getpsp937

gets938

gettext938

gettextinfo939

gettextsettings940

gettime,settime942

getvect,setvect943

getverify944

getviewsettings945

getw946

getx947

gmtime(GMT)949

gotoxy950

graphdefaults951

grapherrormsg952

_graphfreemem953

_graphgetmem954

graphresult956

harderr,hardresume,hardretn957

_harderr961

_hardresume963

_hardretn964

heapcheck964

heapcheckfree965

heapchecknode966

heapfillfree968

heapwalk969

_heapmin969

highvideo970

hypot,hypotl970

imag971

imagesize972

initgraph973

inp976

inport977

inportb977

inpw978

insline978

installuserdriver979

installuserfont981

int86982

int86x983

intdos984

intdosx985

intr986

ioctl987

isalnum989

isalpha989

isascii990

isatty990

iscntrl991

isdigit991

isgraph992

islower993

isprint993

ispunct994

isspace994

isupper995

isxdigit995

itoa996

kbhit996

keep,_dos_keep997

labs1000

ldexp,ldexpl1001

ldiv1001

lfind1002

line1003

linerel1004

lineto1005

localeconv1006

localtime1008

lock1009

locking1010

log,logl1012

log10,log1011012

longjmp1013

lowvideo1014

_lrotl1015

_lrotr1016

lsearch1016

lseek1018

_makepath1019

ltoa1019

malloc1020

matherr,_matherrl1021

max1023

mblen1024

mbstowcs1024

mbtowc1025

memccpy,_fmemccpy1025

memchr,_fmemchr1026

memcmp,_fmemcmp1026

memcpy,_fmemcpy1027

memicmp,_fmemicmp1028

memmove1029

memset,_fmemset1029

mkdir1030

min1030

MK_FP1031

mktemp1032

mktime1032

modf,modfl1033

movedata1034

movmem1035

moverel1035

movetext1036

moveto1037

norm1038

normvideo1039

nosound1039

offsetof1040

_open,_dos_open1040

open1042

opendir1044

outp1045

outport,outportb1045

outpw1046

outtext1047

outtextxy1048

_OvrInitEms1049

_OvrInitExt1050

parsfnm1050

peek1051

peekb1052

perror1053

pieslice1055

poke1056

pokeb1057

polar1057

poly,polyl1058

pow,powl1059

pow10,pow1011060

printf1060

putc1066

putch1066

putchar1067

putenv1068

putimage1068

putpixel1071

puts1072

puttext1073

putw1074

qsort1075

raise1076

rand1077

randbrd1077

randbwr1079

random1080

randomize1081

_read,_dos_read1082

read1084

readdir1085

real1085

realloc1086

rectangle1087

registerbgidriver1088

registerbgifont1089

remove1091

rename1091

restorecrtmode1092

rewind1093

rewinddir1094

rmdir1094

rmtmp1095

_rotl1096

_rotr1097

_rtl_chmod1098

_rtl_close1099

_creat1100

_rtl_open1101

_rtl_read1103

_rtl_write1104

sbrk1105

scanf1105

_searchenv1112

searchpath1113

_searchstr1113

sector1114

segread1115

setactivepage1116

setallpalette1117

setaspectratio1119

setbkcolor1121

setblock,_dos_setblock1122

setbuf1123

setcbrk1124

setcolor1125

_setcursortype1127

setdta1127

setfillpattern1129

setfillstyle1130

setgraphbufsize1132

setgraphmode1133

setjmp1135

setlinestyle1136

setlocale1138

setmode1141

setmem1141

set_new_handler1142

setpalette1143

setrgbpalatte1145

settextjustify1146

settextstyle1148

setusercharsize1150

setvbuf1151

setviewport1153

setverify1153

setvisualpage1155

setwritemode1156

signal1157

sin,sinl1160

sinh,sinhl1161

sopen1162

sleep1162

spawnv,spavnve,spawnvp,spawnvpe…1164

spawl,spawnle,spawnlp,spawnlpe,1164

sound1164

_splitpath1167

sprintf1168

srand1169

sqrt,sqrtl1169

sscanf1170

stackavail1172

stime1172

_status871172

stpcpy1173

strchr,_fstrchr1174

strcat,_fstrcat1174

strcmp1175

strcmpi1176

strcpy1177

strcoll1177

strcspn,_fstrcspn1178

_strdate1178

strdup,_fstrdup1179

_strerror1179

strerror1180

strftime1181

stricmp,_fstricmp1182

strlwr,_fstrlwr1183

strlen,_fstrlen1183

strncat,_fstrncat1184

strncmp,_fstrncmp1184

strncmpi1185

strncpy,_fstrncpy1186

strnicmp,_fstrnicmp1186

strnset,_fstrnset1187

strrchr,_fstrrchr1188

strpbrk,_fstrpbrk1188

strrev,_fstrrev1189

strset,_fstrset1189

strspn,_fstrspn1190

strstr,_fstrstr1190

_strtime1191

strtod,_strtold1191

strtok,_fstrtok1192

strtol1193

strtoul1194

strxfrm1195

strupr,_fstrupr1195

swab1196

system1197

tan,tanl1197

tanh,tanhl1198

tell1199

tempnam1199

textattr1200

textbackground1202

textcolor1203

textheight1204

textmode1205

textwidth1206

time1207

tmpfile1208

tmpnam1209

toascii1209

_tolower1210

tolower1210

_toupper1211

toupper1212

tzset1212

ultoa1213

umask1214

ungetc1215

ungetch1216

unixtodos1216

unlink1217

unlock1218

utime1219

va_arg,va_end,va_start1220

vfprintf1221

vfscanf1222

vprintf1224

vscanf1224

vsprintf1226

vsscanf1226

wait1227

wctomb1228

wcstombs1228

wherex1229

wherey1229

window1230

_write1230

write1231

_argc1234

_ctype1234

_argv1234

_80871234

附录B DOS全局变量1234

_daylight1235

_directvideo1235

_environ1235

errno、_doserrno、_sys_errlist、_sys_nerr1236

_floatconvert1238

_fmode1238

_new_handler1238

_heaplen1239

_osmajor、_osminor1239

_psp1240

_threadid1240

_ovrbuffer1240

_stklen1241

_timezone1241

_version1242

_wscroll1242

_tzname1242

gety9489

《Borland c++应用篇》由于是年代较久的资料都绝版了,几乎不可能购买到实物。如果大家为了学习确实需要,可向博主求助其电子版PDF文件。对合法合规的求助,我会当即受理并将下载地址发送给你。

高度相关资料

Borland C++实用编程技巧(1995 PDF版)
Borland C++实用编程技巧
1995 北京:清华大学出版社
Borland C++经典( PDF版)
Borland C++经典
如何用 Borland C++ 设计Windows应用程序( PDF版)
如何用 Borland C++ 设计Windows应用程序
Borland c++实用教材( PDF版)
Borland c++实用教材
Borland c++使用手册( PDF版)
Borland c++使用手册
Borland c++语言与开发应用( PDF版)
Borland c++语言与开发应用
Borland C++与Turbo C开发汉字应用软件技术(1992 PDF版)
Borland C++与Turbo C开发汉字应用软件技术
1992 陕西电子编辑部
Borland C++ 4.5使用指南(1996 PDF版)
Borland C++ 4.5使用指南
1996 成都:电子科技大学出版社
即学即用 Borland C++ 4.5(1996 PDF版)
即学即用 Borland C++ 4.5
1996 北京:电子工业出版社
Borland C++ Builder使用指南(1998 PDF版)
Borland C++ Builder使用指南
1998 西安:西安电子科技大学出版社
Borland C++3.1实用大全(1994 PDF版)
Borland C++3.1实用大全
1994 北京:北京航空航天大学出版社
Borland C++实用编程指南(1994 PDF版)
Borland C++实用编程指南
1994 北京:航空工业出版社
Borland C++入门(1991 PDF版)
Borland C++入门
1991 北京希望电脑公司
如何用Borland C++设计 Windows应用程序(1993 PDF版)
如何用Borland C++设计 Windows应用程序
1993 北京:海洋出版社
Borland C++3.1开发Windows应用程序(1993 PDF版)
Borland C++3.1开发Windows应用程序
1993 北京:清华大学出版社