以上是查找
以上是替换
2.清除项目符号,因为我复制了别人的代码,但是,代码前居然有序号,因此点击AA中间项目符号清除之,但是,不知为什么只能清除一个,用格式刷一刷即可。
3.bioskey
bioskey函数
函数原型: int bioskey(int cmd);
函数功能:
利用函数bioskey可以实现三种功能,参数cmd为要实现的功能号,值只能为0、1、2,具
体含义如下:
0:在系统中有一个按键队列,所有的键盘按键都在这里排成队。该功能就是如果按键队
列中有按键,那么读取队列首位的按键,并返回按键值;否则等待键盘按键出现。( 其
中按键值的高字节为扫描码,低字节为ASCII码)
1:如果按键队列中没有按键,那么返回零,否则返回非零。
2:返回特殊按键Shift、Ctrl、Alt等键的按键状态。
4.关于dos的中断的使用
以80X86为例,首先,要知道中断向量表,放在00000H~03FFH的内存空间上,以4字节为一个中断向量,那么80X86有256个中断向量,中断向量中存的是什么?存的是中断处理函数的入口地址。在tc的中断处理过程中体现的很清楚。
1.定义一个函数指针,指向原来的中断处理函数的首地址(以时钟中断0x001c为例)
void interrupt (*oldinterruptaddr)(void) //后一个void要和具体的中断处理函数的参数对应
oldinterruptaddr=getsect(0x001c);
2.将原来的时钟中断处理中添加我们所需要的工作
fg:
void interrupt newinterrupt(void)
{
count++;
oldinterruptaddr();
}
3.将我们的新处理函数加入中断
setsect(0x001c,new handle);
fg:setsect(0x001c,newinterrupt);
4.最后,别忘了还原系统的中断
setsect(0x001c,oldinterruptaddr);
5.#define 后面仅仅只有一个标识符,是什么意思?
一般用于条件编译,不要将重复的头文件重复编译,那么#define __STION __STION到底值是多少呢?貌似是void 也就是说,它可以用在函数的参数中,这也仅仅是我的猜测
6.tc中,图形界面的初始化,以及一些最基本的函数介绍
1.initgraph(&gdriver,&gmode,"C://tc")
初始化函数,将屏幕由字符模式转化为图形模式
gdriver实际上是一个int型的,图形驱动器的代码,有VGA等,gmode也是int型的,是图形驱动器的工作模式,有640*480的等等,VGAHI是其中的一个,注意:VGA,VGAHI在graphics.h中都是有定义的,是用enum枚举类型定义的。C://tc是图形驱动器的路径名
2.closegraph(void)
关闭图形模式,很简单,在程序的最后加上即可
3.void far line(int x1,int y1,int x2,int y2);
用当前颜色从(x1,y1)画一条到(x2,y2)的线段
4.void far rectangle(int left,int top,int right,int bottom);
用当前颜色画一个左上角为(left,top)、右下角为(right,bottom)的矩形框。
5.void far outtextxy(int x,int y,char * textstring);
在(x,y)处用当前字体(缺省的字体是DEFAULT_FONT)显示字符串textstring,字符串的对齐方式由settextjustify()指定。
6.void far settextjustify(int horz,int vert);
设置图形模式下文字输出的对齐方式。主要影响outtextxy()函数。
水平: LEFT_TEXT = 0 左对齐
CENTER_TEXT = 1 中央对齐
RIGHT_TEXT = 2 右对齐
垂直: BOTTOM_TEXT = 0 底对齐
CENTER_TEXT = 1 中间对齐
TOP_TEXT = 2 顶对齐
7.settextstyle()
8.setfillstyle()