原始程式
原始檔-起始
#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