《Turbo C TOOLS 6.0源程序剖析 Turbo C高级程序设计实例 下》求取 ⇩

第一章 Turbo C工具源程序的使用说明1

函数包介绍1

函数的分类1

软件需求2

硬件需求2

支持的编译器版本和内存模式2

警告和使用注意事项3

异常错误及解决方法3

提取源代码3

打印源代码4

从源代码中取消TAB4

重建函数库4

重建示例程序5

C和汇编模块及宏5

函数库建造说明7

利用数包的程序设计7

编程风格、编译警告和头文件7

修改Turbo C TOOLS8

源代码约定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

FLRETVOL 报告给定磁盘驱动器上的卷标69

FLSETVOL 建立或修改给定磁盘上的卷标71

文件操作程序设计示例73

第四章 帮助系统程序设计75

帮助系统(HL)75

帮助函数的功能75

设计帮助窗口75

编写帮助源文件75

控制内存分配77

帮助函数源程序77

HLCLOSE 释放二叉帮助文件的已存索引78

HLDISP从帮助文件读取一段帮助信息,显示在屏幕上,供用户浏览78

HLFRINDX 释放在给定节点以下的所有帮助索引节点79

HLLOOKUP 从二叉帮助文件中读取一段帮助信息80

HLPAS2C 转换一个Pascal的字符串为C的格式88

HLREAD 在视口中显示帮助信息,供用户浏览89

帮助程序示例94

第五章 用C进行中断服务子程序的设计128

概述128

ISR的一般用法128

建立ISR128

驻留程序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

使用扩展键盘BIOS162

暂时使一个插入函数失效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_mohanmask363

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

第十二章 屏幕(视频)编程376

屏幕操作函数的种类376

读取屏幕方式信息376

选择显示设备和方式376

在显示页之间切换376

控制/读取光标形状和位置376

清除和滚动376

常规的屏幕写入376

写入一个矩形区域377

屏幕读取377

调色板支持377

对直接视频访问的支持377

保存和恢复整个显示状态377

强制快速屏幕访问378

屏幕(视频)控制函数源程序378

SCAPAGE 显示(激活)一个显示页378

SCATTRIB 用指定的显示属性显示一个字符的拷贝379

SCBLINK 选择前景闪烁或背景亮度379

SCBORDER 设置当前显示屏幕的边界颜色380

SCBOX 用图形字符在屏幕上画一个方框381

SCCHGDEV 切换至彩色或单色显示384

SCCLRMSG 清除屏幕上的消息386

SCCURSET 移动当前显示页上的光标387

SCCURST 返回当前显示页上的光标位置和尺寸387

SCEQUIP 检测显示硬件环境388

SCGETVID 记录整个显示状态397

SCMODE 返回屏幕的显示方式397

SCMODE4 设置方式4色板和背景颜色399

SCNEWDEV 选择并设置显示设备,设置字符行数400

SCPAGE 设置当前显示页408

SCPAGES 返回显示页的数目408

SCPAL1 定义一个EGA、VGA、或MCGA色板颜色410

SCPALETT 定义EGA、VGA或MCGA颜色的整个色板411

SCPCLR 清除当前显示页413

SCPGCUR 设置当前页的光标尺寸414

SCREAD 从屏幕读取一个显示字符及其属性416

SCRESTPG 恢复一个显示页417

SCROWS 返回屏幕的字符行数418

SCSA VEPG保存一个显示页419

SCSETVID 恢复整个显示状态420

SCTTYWIN 以TTY方式向矩形区域写入一个字符422

SCTTYWRT 以TTY方式向屏幕写一个字符425

SCWRAP 以TTY方式向一个矩形中写入一个字符串,带有整字换行426

SCWRITE 在屏幕上显示一个字符的多个拷贝430

VIATRECT 改变屏幕上一个矩形的属性430

VIDSPMSG 显示一条消息432

vidirec0 直接从或向视屏适配读取或写入长方形的字符432

VIHORIZ 在当前显示页上水平滚动正文列445

VIPTR 将屏幕位置转换成内存地址447

VIRDRECT 读取屏幕上一个矩形区域中的内容448

VIRDSECT 将屏幕的一个区域读入内存中更大的矩形区域449

VISCROLL 垂直滚动当前显示页上的正文行450

VIWRRECT 向当前显示页上一个矩形区域中写入数据450

VIWRSECT 显示矩形缓冲区中的一个矩形段451

第十三章 字符串处理453

字符串函数的种类453

对字符串的一部分进行填充453

查找453

字符转换453

处理tab字符453

字符串处理扩展函数源程序453

STPEXPAN 将tab字符转换为空格456

STPJUST 在域中将一个字符串左右对齐或居中458

STPTABFY 用tab字符替换空格459

STPXLATE 用翻译表翻译一个字符串461

STSCHIND 查找字符串中的一个字符,返回它的位置462

第十四章 实用函数和宏463

指针和地址463

内存传送463

探测指针错误463

数据压缩463

ANSI.SYS支持463

程序环境信息463

口I/O464

时钟访问464

关闭或开放中断464

扬声器控制464

算术计算464

在长字节、字、字节和半字节之间转换464

设置范围界限465

数据类型操作465

各种输出465

实用函数源程序465

UTANSI 检测、关闭或重新开放ANSI.SYS466

UTCHKNIL 报告无效指针赋值,使程序夭折469

UTCRIT 取得DOS监界段标志的地址470

UTCTLBRK 设置或返回Ctrl-Break检查的状态470

UTDOSRDY 报告DOS服务是否可用471

UTGETCLK 报告自午夜以来BIOS计时脉冲的个数471

UTINTFLG 打开或关闭硬件中断472

UTMODEL 报告IMB型号和子型号及BIOS版本473

UTMOVMEN 不受限制地从内存或向内存任何位置拷贝数据475

UTNORM 使一个指针具有最小的偏移值477

UTNULCHK 检测无效的指针赋值477

UTOFF 返回一个地址的偏移部分478

UTPEEKB 从任意地址读取一个字节479

UTPEEKN 从任意地址读取多个字节的数据479

UTPEEKW 从任意地址读取一个字479

UTPLONG 将一个指针转换为指向20位物理地址的指针480

UTPOKEB 在任意地址存放一个字节的数据480

UTPOKEN 在任意地址存放多个字节的数据480

UTPOKEW 在任意位置写入一个字的数据481

UTSAFCPY 以确保不跨越段界的方式拷贝数据481

UTSEG 返回任意地址的段部分482

UTSLEEP 暂停处理直至经过几个计时脉冲之后482

UTSPKR 打开或关闭扬声器483

UTSQZSCN 压缩一个屏幕图象484

UTTIM2TK 将时间转换为计时脉冲计数489

UTTK2TIM 将计时脉冲计数转换为24小时制时间489

UTTOFAR 用段和偏移构造一个双字指针490

UTTOFARU 用一个段和偏移构造一个泛双字指针491

UTUNSQZ 还原一个压缩屏幕图象491

实用程序函数设计示例493

第十五章 窗口系统高级程序设计498

窗口功能概述498

窗口函数的种类498

建立和释放窗口结构498

显示和删除窗口498

虚拟窗口498

窗口输出498

窗口输入499

滚动和清除499

控制属性499

控制光标499

控制窗口任选项499

使用Turbo C的字符窗口500

为WNREAD进行窗口输入做准备500

使用高级窗口特性500

显示和更新窗口500

虚拟窗口500

不可删除的窗口500

控制内存分配500

窗口扩展函数源程序501

WNATRBLK 修改窗口中一个矩形块的属性501

WNATRSTR 改变窗口中一片连续位置的属性502

WNATTR 改变当前窗口的属性504

WNCHGEVN 加入或修改WNREAD认可的一个用户响应504

WNCREATE 建立一个窗口结构505

WNCOVER 如果被一给定的长方形区域遮盖,则标为低层窗口506

WNCREAT0 分配和创建一窗口结构507

WNCURMOV 移动当前窗口的光标509

WNCUPRPOS 返回当前窗口的光标位置510

WNCURSOR 激活一个窗口光标511

WNDSPLAY 在同尺寸视口中显示一个窗口512

WNCURTRK 移动窗口的光标,如果必要的活调整数据区源513

WNDSTROY 废弃一个窗口结构515

WNERROR 记录窗口或选单的系统错误516

WNFIELD 对窗口中的一个域进行编辑516

WNFORGEI 从屏幕位置脱离窗口,但并不清除屏幕518

WNGETIMG 读取屏幕长方形区域的图象519

WNGETOPI 读取窗口信息项或状态521

WNHIDE 删除窗口但仍与视频显示设备和显示页联连524

undisp 暂时删除(不显示)屏幕上由一长方形区域遮盖的窗口527

cocovr 标志非覆盖的窗口528

upcovr 检查高层窗口是否覆盖长方形区域529

redisp 重新显示指定窗口以上的被暂时隐藏删除的窗口530

WNHORIZ 水平滚动当前窗口531

WNINITEV 为WNREAD安装缺省的窗口事件532

WNCMOVE 移动窗口的光标535

WNSETWIN 设置编译器native文本窗口的尺寸536

WNCHKDM 检查编译器的native文本窗口的尺寸和大小537

WNGETATR 得到当前native文本窗口的属性537

WNSETATR 设置当前native文本窗口的属性538

WNNEEDUP 标志一窗口为无用,如果可能进行更新538

WNNUPBLK 标志一窗口为无用,如果可能更新一部分539

WNORIGIN 在视口中称动窗口540

WNOVRLAP 报告两个长方形区域是否覆盖542

WNPGADD 增加窗口到在一设备一或显示页上显示的窗口的链表上542

WNPGREM 从显示在一设备或显示页上的窗口链表上删除543

WNPIMBLK 输出窗口的一部分到屏幕544

WNPOLL 查询属于特定集的键盘或鼠标事件一次546

WNPRINTF向当前窗口写入一个格式化的字符串548

WNPUTBOR 沿着长方形区域显示一边界549

WNPUTSEN 显示窗口的sensor表552

WNQUERY 返回经窗口得到的来自用户的字符串555

WNRDBUF 读取当前窗口中一片连续位置的内容558

WNREAD 允许用户在虚拟窗口中浏览560

POLL_EVENT 查询窗口的鼠标或键盘事件一次566

WNREDRAW 重现显示在当前显示页上的全部窗口571

WNREMEVN 删去WNREAD接受的一个用户响应573

WNREMOVE 从屏幕上取消一个窗口575

WNRESPRV 恢复窗口先前的屏幕内容575

WNRETEVN 从窗口列表中返回一窗口事件记录576

WNRETINF 返回窗口当前光标和尺寸的信息578

WNREVUPD 用显示的数据更新已保存的窗口图象579

WNSCRBLK 在窗口中以任意方向滚动一个矩形区域582

WNSCRLBR 向窗口加入一个滚动箭头584

WNSCROLL 垂直滚动当前窗口589

WNSELECT 选择用于I/O的窗口589

WNSETBUF 为WNPRINTF分配内部缓冲区590

WNSETCUR 设置当前窗口的状态、尺寸和位置591

WNSETOPT 设置窗口控制项592

WNSHOBLK 在视口间隙中显示一个窗口数据块597

WNUNHIDE 重新显示隐藏的窗口603

WNUPDATE 将挂起的输出写入窗口606

WNVALEV0 验证窗口事件607

WNVALNO0 验证窗口节点607

WNVALWI0 验证BIWNDOW结构608

WNVDISP在视口中显示一个虚拟窗口608

WNWRAP 以TTY方式向当前窗口写入一个字符串,常有整字换行612

WNWRBUF 向当前视口中的一片连续位置写入字符614

WNWRRECT 写入窗口的一个矩形区域616

WNWRSTR 以TTY方式向当前窗口写入一个字符串618

WNWRSTRN 以TIY方式向窗口写入一个字符串,带有任选项619

WNWRTIY 以TTY方式向当前窗口写入一个字符623

WNWRTTYX 写一字符到一TTY方式的窗口623

WNZAPEVN 删除WNREAD认可的窗口事件表624

WNZAPSEN 释放窗口的sensor列表625

附录A 使用的汇编头文件626

COMP T2S.MAC626

COMP T2M.MAC626

COMP T2C.MAC627

COMP T2L.MAC627

COPM T2H.MAC628

BEGINASM.MAC编译依赖的符号和宏628

附录B 创建功能强大的函数库批命令634

创建库文件的LIB程序的响应文件(LIBRESP)636

附录C 函数包使用的头文件639

BEDIT.H 域编辑函数的头文件639

BFILES.H 文件和目录函数的头文件642

BGENWIN.H 禁止提供编译器本地文本窗口支持的头文件644

BHELP.H 帮助函数的头文件644

BINTERV.H 插入函数的头文件649

BINTRUPT.H 中断服务函数的头文件653

BKEYBRD.H BIOS键盘函数的头文件656

BKEYS.H 定义键码的头文件659

BLAISE.H 所有函数的头文件676

BMEM.H 内存管理函数的头文件676

BMENU.H菜单函数的头文件677

BMOUSE.H 鼠标函数的头文件684

BNATVWN.H 支持编译器本地文本窗口的头文件688

BPRINT.H 支持打印机管理的头文件688

BSCREENS.H 屏幕函数的头文件689

BSTRINGS.H 字符串函数的文件694

BUTIL.H 实用函数的头文件694

BVIDEO.H 直接存取视屏硬件函数的头文件702

BWINDOW.H 窗口函数的头文件703

《Turbo C TOOLS 6.0源程序剖析 Turbo C高级程序设计实例 下》由于是年代较久的资料都绝版了,几乎不可能购买到实物。如果大家为了学习确实需要,可向博主求助其电子版PDF文件。对合法合规的求助,我会当即受理并将下载地址发送给你。

高度相关资料

Turbo C程序设计语言(1994 PDF版)
Turbo C程序设计语言
1994 上海:同济大学出版社
TURBO C 实用子程序集( PDF版)
TURBO C 实用子程序集
北京联想计算机集团公司
Turbo C TOOLS 6.0源程序剖析  Turbo C高级程序设计实例  上( PDF版)
Turbo C TOOLS 6.0源程序剖析 Turbo C高级程序设计实例 上
TurboCTOOLS源程序剖析 TurboC高级程序设计实例(1991 PDF版)
TurboCTOOLS源程序剖析 TurboC高级程序设计实例
1991
Turbo C++图形程序设计(1993 PDF版)
Turbo C++图形程序设计
1993 北京希望电脑公司
Turbo Pascal 6.0高级程序设计技术(1992 PDF版)
Turbo Pascal 6.0高级程序设计技术
1992 北京:海洋出版社
Turbo C++程序设计360例(1993 PDF版)
Turbo C++程序设计360例
1993 西安:西安电子科技大学出版社
Turbo C实用图形程序设计(1994 PDF版)
Turbo C实用图形程序设计
1994 天津:天津科技翻译出版公司
Turbo C高级程序设计(1992 PDF版)
Turbo C高级程序设计
1992 北京:宇航出版社
Turbo C程序设计与应用(1993 PDF版)
Turbo C程序设计与应用
1993 长沙:国防科技大学出版社
Turbo C程序设计教程(1995 PDF版)
Turbo C程序设计教程
1995 北京:人民邮电出版社
汉化Turbo C程序设计(1997 PDF版)
汉化Turbo C程序设计
1997 北京:电子工业出版社
Turbo C语言程序设计400例(1996 PDF版)
Turbo C语言程序设计400例
1996 北京:电子工业出版社
Turbo C语言程序设计(1991 PDF版)
Turbo C语言程序设计
1991 北京:电子工业出版社
PAD与Turbo C程序设计(1994 PDF版)
PAD与Turbo C程序设计
1994 上海:华东理工大学出版社