📄 a_text.h
字号:
#include "bios.h"
#include "dir.h"
#include "Graphics.h"
#include "stdlib.h"
#include "process.h"
#include "io.h"
#include "fcntl.h"
#include "dos.h"
#include "stdio.h"
#include "string.h"
#include "conio.h"
#include "process.h"
/*-------------KEYS.H---------------*/
#define F1 315
#define F2 316
#define F3 317
#define F4 318
#define F5 319
#define F6 320
#define F7 321
#define F8 322
#define F9 323
#define F10 324
#define F11 389
#define F12 390
/*-----------------------------*/
#define Ctrl_F1 350
#define Ctrl_F2 351
#define Ctrl_F3 352
#define Ctrl_F4 353
#define Ctrl_F5 354
#define Ctrl_F6 355
#define Ctrl_F7 356
#define Ctrl_F8 357
#define Ctrl_F9 358
#define Ctrl_F10 359
#define Ctrl_F10 359
#define Ctrl_F10 359
/*-----------------------------*/
#define Shift_F1 340
#define Shift_F2 341
#define Shift_F3 342
#define Shift_F4 343
#define Shift_F5 344
#define Shift_F6 345
#define Shift_F7 346
#define Shift_F8 347
#define Shift_F9 348
#define Shift_F10 349
/*-----------------------------*/
#define Alt_F1 360
#define Alt_F2 361
#define Alt_F3 362
#define Alt_F4 363
#define Alt_F5 364
#define Alt_F6 365
#define Alt_F7 366
#define Alt_F8 367
#define Alt_F9 368
#define Alt_F10 369
/*------------------------------*/
#define Ctrl_A 1
#define Ctrl_B 2
#define Ctrl_C 3
#define Ctrl_D 4
#define Ctrl_E 5
#define Ctrl_F 6
#define Ctrl_G 7
#define Ctrl_H 8
#define Ctrl_I 9
#define Ctrl_J 10
#define Ctrl_K 11
#define Ctrl_L 12
#define Ctrl_M 13
#define Ctrl_N 14
#define Ctrl_O 15
#define Ctrl_P 16
#define Ctrl_Q 17
#define Ctrl_R 18
#define Ctrl_S 19
#define Ctrl_T 20
#define Ctrl_U 21
#define Ctrl_V 22
#define Ctrl_W 23
#define Ctrl_X 24
#define Ctrl_Y 25
#define Ctrl_Z 26
/*----------------------------*/
#define Alt_Q 272
#define Alt_W 273
#define Alt_E 274
#define Alt_R 275
#define Alt_T 276
#define Alt_Y 277
#define Alt_U 278
#define Alt_I 279
#define Alt_O 280
#define Alt_P 281
#define Alt_A 286
#define Alt_S 287
#define Alt_D 288
#define Alt_F 289
#define Alt_G 290
#define Alt_H 291
#define Alt_J 292
#define Alt_K 293
#define Alt_L 294
#define Alt_Z 300
#define Alt_X 301
#define Alt_C 302
#define Alt_V 303
#define Alt_B 304
#define Alt_N 305
#define Alt_M 306
/*-----------------------------*/
#define Alt_1 376
#define Alt_2 377
#define Alt_3 378
#define Alt_4 379
#define Alt_5 380
#define Alt_6 381
#define Alt_7 382
#define Alt_8 383
#define Alt_9 384
#define Alt_0 385
#define Alt_SUB 386
#define Alt_EQU 387
#define Alt_YY 299
/*-----------------------------*/
#define SPACE 32
#define INSERT 338
#define DELETE 339
#define PGUP 329
#define PGDN 337
#define HOME 327
#define END 335
#define RIGHT 333
#define LEFT 331
#define UP 328
#define DOWN 336
#define ESC 27
#define ENTER 13
#define Ctrl_ENTER 10
#define BS 8
#define TAB 9
#define Shift_TAB 271
#define Alt_TAB 421
#define Ctrl_TAB 404
#define Ctrl_LEFT 371
#define Ctrl_RIGHT 372
#define Ctrl_UP 397
#define Ctrl_DOWN 401
#define Ctrl_END 373
#define Ctrl_PGDN 374
#define Ctrl_HOME 375
#define Ctrl_PGUP 388
#define Alt_UP 408
#define Alt_DOWN 416
#define Alt_LEFT 411
#define Alt_RIGHT 413
/*----------------------------*/
#define BELL putch(7)
#include <bios.h>
#include <dos.h>
union REGS inregs,outregs;
int kk=1;
int get_key(void) //?????????????
{
union key1{ char ch[2];
int int_value;
}key2;
int key=0;
while(!bioskey(1)); /*bioskey(1)测试是否有键输入*/
key2.int_value=bioskey(0);
if(key2.ch[0]==0) key=key2.ch[1]+256;
else key=key2.ch[0];
return(key);
}
int getkey(void)
{
int c=0;
c=getch();
if(c==0){c=getch();return(c+256);}
return(c);
}
int readln(void) //清除缓冲区,并执行指定的键盘操作
{
union REGS inregs,outregs;
inregs.h.ah=0x0c;
inregs.h.al=0x08;
int86(0x21,&inregs,&outregs);
return(outregs.h.al);
}
/*------------ text.h -------------*/
int Exchange(int B,int bbb,int ffff)
{
return(ffff|bbb<<4|B<<7);
}
void settextattr(int left,int top,int right,int bottom,int attr)
{
char far *address;
int x,y;
for(y=0;y<bottom-top+1;y++)
for(x=0;x<right-left+1;x++)
{
address=(char far *)0xb8000000+((y+top-1)*80+(x+left-1))*2+1;
*((char far *)address)=attr;
}
}
void textwin(int left,int top,int right,int bottom,int attr,int clear)
{ //只是显示窗口的背景属性?色彩
char far *address;
int x,y;
for(y=0;y<bottom-top+1;y++)
for(x=0;x<right-left+1;x++)
{
address=(char far *)0xb8000000+((y+top-1)*80+(x+left-1))*2;
if(clear) *((char far *)address)=0;
*((char far *)(++address))=attr;
}
}
void putsxy(char *str,int x,int y,int attr)
{
char *p=str;
char far *address;
register int i=0;
while(*p){
address=(char far *)0xb8000000+((y-1)*80+x-1+i)*2;
*((char far *)address)=(char)(*p); //控制界面和子菜单字符的显示
address=(char far *)0xb8000000+((y-1)*80+x-1+i)*2+1;
*((char far *)address)=attr; //控制子菜单的变色
i++;p++;
}
}
void putchxy(char ch,int x,int y,int attr)
{
char far *address;
address=(char far *)0xb8000000+((y-1)*80+x-1)*2;
*((char far *)address)=ch; //显示各个边框
address=(char far *)0xb8000000+((y-1)*80+x-1)*2+1;
*((char far *)address)=attr; //关系到主菜单变色和ASCII码的显示位置等
}
void draw_text_frame(int l,int t,int r,int b,int mode,int attr) //画边框
{
char c[2][8]={"赏缓纪群","谀砍倌莱"};
int i;
putchxy(c[mode][0],l,t,attr); //边框左上角
putchxy(c[mode][2],r,t,attr); //边框右上角
for(i=1;i<r-l;i++){
putchxy(c[mode][1],l+i,t,attr); //边框上线
putchxy(c[mode][5],l+i,b,attr);
}
for(i=1;i<b-t;i++){
putchxy(c[mode][7],l,t+i,attr); //边框左线
putchxy(c[mode][3],r,t+i,attr);
}
putchxy(c[mode][6],l,b,attr);
putchxy(c[mode][4],r,b,attr);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -