原始程式
原始檔-起始 #include "w_obj.h" /*================================================================*/ void UETKbSet(char set_key) { asm mov al,set_key ; asm mov ah,80h ; asm int 10h ; } 原始檔-結束
原始檔-起始 #include "w_obj.h" /*================================================================*/ void UGetS(int X, int Y, int len, char *s) /*自螢幕讀入一字串 */ { char *p=s; /*s的長度需 >= len+1*/ int i; X--; Y--; for(i=0; i<len; i++, X++) { asm mov ah,2; asm mov bh,0; asm mov dh,byte ptr Y; asm mov dl,byte ptr X; asm int 10h; asm mov ah,8; asm mov bh,0; asm int 10h; *p++ = _AL; } *p = NULL; } 原始檔-結束
原始檔-起始 #include "w_obj.h" /*================================================================*/ void USetColor(int X, int Y, int len, int color) /*改變顏色屬性*/ { int i; gotoxy(X,Y); _BX=color; _CX=1; _DL=X-1; _DH=Y-1; for(i=0; i<len; i++) { asm mov ah,8; asm int 10h; asm mov ah,9; asm int 10h; asm mov ah,2; asm add dl,1; asm int 10h; } } 原始檔-結束
原始檔-起始 #include "w_obj.h" /*===========================================================================*/ unshort UGetKb() /*自鍵盤讀入一字元*/ { unshort h,t; Clock: UClock(); UWaitKbRun(); asm mov dl,0FFH asm mov ah,06H asm int 21H asm jz Clock t = _AL; switch(t) { case 0x7F : return C_BACK; case 0x0A : return C_ENTER; case 0x0D : return ENTER; case 0x08 : return BACK; case 0x1B : return ESC; case 0x09 : return TAB; } if(t==0 || t>=0x81) { asm mov dl,0FFH asm mov ah,06H asm int 21H h = _AL; if(t) return (t<<8 | h); /* 傳回中文 */ if(h==0x3B) UCalculate(); /* F1計算機 */ if(h==0x3C) UMonth(); /* F2萬年曆 */ if(h==0x84) h=0x72; /* C_PGUP */ return (h<<8); /* funtion key */ } if(t<SPACE) goto Clock; return t; /* ASCII */ } 原始檔-結束
原始檔-起始 /*---------( SETCURSO.C )-----------------*/ #include "w_obj.h" extern int CURSOR; /*-----------------------------------------------------------------*/ void USetCursor(int Status) /*設定游標正常,放大,消失*/ { int STYLE; switch(Status) { case SMALL: CURSOR=SMALL; STYLE=0x0d0d; break; /*normal replace_mode*/ case BIG : CURSOR=BIG; STYLE=0x010c; break; /*big insert_mode */ case OFF : STYLE=0x2000; break; /* disappear */ } asm mov ah,1 ; asm mov cx,STYLE ; asm int 10h ; } 原始檔-結束
#include "w_obj.h" /*================================================================*/ void UClKbBuf() /*清除鍵盤緩衝區裡的資料*/ { asm mov ax,0x0C00; asm int 21h; }
Byron Wey Oct.21.1998