第一章 Turbo C工具源程序的使用说明 1
函数包介绍 1
函数的分类 1
软件需求 2
硬件需求 2
支持的编译器版本和内存模式 2
警告和使用注意事项 3
异常错误及解决方法 3
提取源代码 3
打印源代码 4
从源代码中取消TAB 4
重建函数库 4
重建示例程序 5
C和汇编模块及宏 5
函数库建造说明 7
利用数包的程序设计 7
编程风格、编译警告和头文件 7
修改Turbo C TOOLS 8
源代码约定 8
插入码函数程序设计示例 8
第二章 域编辑编程扩展 12
域编辑函数的种类 12
数据项和编辑 12
编辑键定义 12
编辑操作和缺省的按键分配 12
域编辑函数源程序 14
EDBASE编辑和返回一个用户响应 14
EDBUFFER对编辑缓冲区执行编辑动作 22
EDCHGKEY加入或修改EDFIELD和WNFIELD所认可的一个按键 30
EDFIELD对屏幕上的一个域进行编辑 32
EDINITKY安装EDFIELD和WNFIELD所接受的缺省按键 34
EDREDUCE把连续的空白转换成单个空格 36
EDREMKEY删去EDFIELD和WNFIELD所接受的一个按键 37
EDRETINF返回当前光标和视屏信息 38
EDRETKEY报告一个按键的编辑动作 39
EDSETCUR设置光标的尺寸和位置 40
EDWRAP向编辑区写入字符时,带有整字换行 41
EDWRRECT向屏幕写入一长方形图形 42
EDZAPKEY删去EDFIELD和WNFIELD所接受的按键队列 43
编辑函数程序设计示例 43
KEYCTRL.C键控制函数的样例 44
ENTRYEDT.C是面向窗口多编辑域的程序 45
第三章 文件操作 52
文件管理函数(FL) 52
文件管理函数的种类 52
维护卷标 52
杂类 52
文件操作函数源程序和使用参考 52
FLDOLOCK对已打开文件一个文件段上锁或解锁,必要时等待 52
FLFLUSH迫使挂起的文件输出写到磁盘上 54
FLGETDTA返回磁盘传送地址 55
FLLOCK对已打开文件的一个文件段上锁或解锁 55
FLNORM验证一个文件名,把它转化成标准形式 56
FLPROMPT从标准输入中返回一行,可以使用提示信息 66
FLPUTDTA设置磁盘传送地址(DTA) 67
FLREMVOL从给定的磁盘上删除卷标(如果有的话) 67
FRETVOL报告给定磁盘驱动器上的卷标 69
FLSETVOL建立或修改给定磁盘上的卷标 71
文件操作程序设计示例 73
第四章 帮助系统程序设计 75
帮助系统(HL) 75
帮助函数的功能 75
设计帮助窗口 75
编写帮助源文件 75
控制内存分配 77
帮助函数源程序 77
HLCLOSE释放二叉帮助文件的已存索引 78
HLDISP从帮助文件读取一段帮助信息,显示在屏幕上,供用户浏览 78
HLFRINDX释放在给定节点以下的所有帮助索引节点 79
HLLOOKU从二叉帮助文件中读取一段帮助信息 80
HLPAS2C转换一个Pascal的字符串为C的格式 88
HLREAS在视口中显示帮助信息,供用户浏览 89
帮助程序示例 94
第五章 用C进行中断服务子程序的设计 128
概述 128
ISR的一般用法 128
建立ISR 128
驻留程序 128
调用步骤 128
删除 129
按惯例过滤中断 129
从ISR中的特殊退出 129
扩展函数源程序 130
ISCALL对软件中断调用中断服务例程进行模拟 130
ISCURPRC返回或设置当前执行的进程 134
ISGETVEC返回一个中断向量 134
isdispat中断服务子程序调度程序 135
ISINSTAL安装一个中断服务例程(ISR) 144
ISPREP预备一个ISR控制块 145
ISPUTVEC设置一个中断向量 147
ISREMOVE去除一个驻留程序 148
ISRESERV保留ISR所需的动态内存 149
ISRESEXT中止一个程序但保持驻留 150
ISSENSE检测一个已安装的中断服务例程(ISR) 151
使用中断子程序的程序设计 152
CTLBRK.C说明control-break处理子程序的实现和使用 156
CRITERR.C说明严重错误处理子程序和使用 157
第六章 内存驻留程序设计的插入码 161
概述 161
插入码实用函数 161
建立一个插入函数 161
调度 161
调用步骤 162
重新调度 162
摘除 162
高级用法 162
使用扩展键盘BIOS 162
暂时使一个插入函数失效 163
选择插入过滤程序 163
防止异步通讯拥塞 163
插入码扩展码源程序 163
IVCTRL报告本程序中插入控制块的地址 163
IVDETECT检测已安装的插入函数,即使它被部分覆盖 176
IVDISABL使一个插入函数失效 181
IVINSTAL安装一个插入函数 182
IVSENSE检测一个已安装的插入函数是否是可删除的 192
IVVECS设置或返回插入过滤程序所使用的中断向量 192
第七章 高级键盘管理程序设计 194
增强键盘 194
键盘函数的功能 194
键盘输入 194
处理超前键入缓冲区 194
处理移位键 194
使用增强键盘 194
使用键控制函数 194
取得键码 195
高级特性:键控制函数 195
调用步骤 195
高级键盘管理函数源程序和使用参考 195
KBEQUIP检测键盘环境 196
KBEXTEND选用扩展的或一般的BIOS键盘服务 197
KBFLUSH废弃所有在键盘缓冲区中等待的按键 198
KBGETKEY等待读入下一个按键 198
KBKCFLSH通过键控制函数废弃所有的等待按键 199
KBPLACE在键盘缓冲区中放置一个按键 200
KBPOLL通过一个键控制函数查看下一个等待按键 202
KBQUERY从标准IBM控制台读邓用户的响应 203
KBQUEUE报告键盘缓冲区总容量及剩余容量 206
KBREADY检查下一个等待按键 207
KBSCANOF返回一个字符的键码 209
KBSET设置移位键的当前状态 210
KBSTATUS报告移位键的当前状态 211
KBSTUFF强行将一个字符串送入BIOS超前键入缓冲区 212
KBWAIT等待并通过键控制函数读取下一个按键 214
CMKEY.C键盘宏程序示例 215
第八章 内存管理高级程序设计 220
内存管理函数 220
内存管理函数源程序 220
MMCTRL读取DOS内存控制块 220
MMFIRST报告第一个内存块的地址 221
MMSIZE报告一个程序的尺寸 222
第九章 选单程序设计 223
选单函数功能概述 223
选单函数的种类 223
建立、显示和释放选单 223
定义标准选项和按键 223
定义Lotus形式的选项 223
使用鼠标器的准备工作 223
读取用户的反应 223
亮条操作 223
高级选单特性 223
按键动作和亮条移动 224
缺省的键分配 224
控制内存分配 225
选单扩展函数源程序和使用参考 225
MNATR改变菜单在项的属性 225
MNCREATE建立一个包含单信息的选单结构和窗口 227
MNCREAT0分配并创建一个菜单结构 227
MNDEFKEY增加约束菜单的缺省键 228
b_mndefkey包含MNDEFKEY使用的缺省键表 229
MNDLITMS释放选项表中所有项的内存 231
MNDLKEYS释放键表中使用的所有的键的内存 232
MNDSPLAY在同尺寸视口中显示一个选单 232
MNDSTROY从屏幕上取消一个选单,废弃其数据结构 233
MNFINDSL找到给出起始坐标的菜单的第一可选项 234
MNHILIT0移动或删除菜单的高亮条或项描述 236
MNHILITE移动或取消选单亮条及选项说明 238
MNITEM插入、修改或删除一个选项 239
MNITMKEY向选单加入一个选项,为它分配选择字符 244
MNKEY加入、修改或取消一个选单的键分配 245
MNLITEM加入、修改或取消一个Lotus形式的选项 249
MNLITKEY加入一个LOTUS形式的选项,为它分配选择字符 250
MNLREAD通过Lotus形式的选单读入一个用户响应 252
MNREAD从给定的开始行和列使用亮条读取菜单 253
MNMCHITM匹配一说明条件的菜单项 274
MNMCHKEY匹配一说明的键 275
MNMOUSE加入、修改或删除一个选单认可的鼠标器事件 277
MNMSTYLE设立一个标准选单鼠标器格式 281
MNREAD读取来自选单的用户响应 284
MNVALMN0检查BMENU结构的有效性 306
MNVDISP在视口中显示一个虚拟选单 307
示例程序 308
源程序(MENU.C) 308
源程序(PULLMENU.C) 321
第十章 鼠标器编程 333
鼠标器事件的种类 333
访问鼠标器状态 333
控制鼠标器位置 333
控制鼠标的外观 333
对鼠标器硬件中断的反应 333
其它鼠标器操作 333
处理鼠标器中断 334
调用屏蔽:相关事件组 334
调用步骤 334
鼠标器编程函数源程序函数使用参考 334
MOAVOID在指定区域中隐藏鼠标 335
MOBUTTON报告鼠标器按钮的按下/释放历史 336
mocatch捕获鼠标器按钮的按下与释放 338
MOCHECK检查最近发生的鼠标器事件 342
MOCURMOV移动鼠标 348
MOEQUIP检查鼠标器驱动程序的存在 349
MOGATE鼠标器驱动程序的入口 350
MOGETMOV报告自上次查询以来物理鼠标器的移动 351
MOGRAPH设置鼠标器图形方式光标 351
MOHANDLR安装或摘除中断处理程序 352
MOHARD设置鼠标器硬件字符方式光标 355
MOHIDE隐藏或显示鼠标 356
moinst无条件安装鼠标器中断处理子程序 357
MOJUMP设置鼠标器加速阈值 357
MOLITYPEN使鼠标器光笔模拟有效或失效 358
MOPRECLK安装或删除MOCHECK所有的内部例程 359
MORANGE设置鼠标器范围界限 360
MORESET重置鼠标器驱动程序 361
MOSOFT设置鼠标器软件字符方式光标 361
MOSPEED设量鼠标器敏度 362
MOSTAT报告鼠标器位置和按钮状态 363
movars一些MO函数使用的全程变量:b_mocatch,b_momask,b_modispat,b_mohanmask 363
MOUSEHAN.C鼠标中断处理子程序演示程序 364
第十一章 打印机编程 368
BIOS打印机接口 368
与PRINT程序的接口 368
打印机控制函数源程序 368
PRCANCEL删除假脱机打印队列中一个或全部文件 368
PRCHAR通过BIOS向打印机机发送一个字符 369
PRERROR返回解释错误代码的字符串,这些错误代码来自PR(打印机)函数 370
PRGETQ报告假脱机打印队列中的一个文件名 371
PRINIT通过BIOS初始化一个打印口 373
PRINSTLD检查驻留式假脱机打印系统PRINT是否已安装 373
PRSPOOL将一个文件提交给假脱机打印系统 374
PRSTATUS通过BIOS报告打印机的状态 375