亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? gethz_0.c

?? BC3.1編譯,小交換機計費系統(tǒng).使用Dos做出如此好的界面,少有.
?? C
字號:
/* ----------------------------------------------------------------------
	FILENAME:	GETHZ_0.C
	FUNCTION:	Offers function: get_hz_str(), which edits an HanZi
				characters' string.
	DATE:		1993.4.18
	MODIFIED:	1993.7.28
	AUTHOR:		Bob Kong
   ---------------------------------------------------------------------- */
#include <stdio.h>
#include <graphics.h>
#include <alloc.h>
#include <string.h>

#include <def.inc>
#include <key.inc>
#include <func.inc>
/* GETHZ_1.C */
extern UC   init_pym_table(void);
extern void init_gethz_para(void);
extern void keep_prompt(void);
extern void restore_prompt(void);
extern void draw_init_prompt(void);
extern void draw_prompt(UC code);
/* GETHZ_2.C */
extern void disp_hz_cursor(void);
extern void draw_cursor(void);
extern void clr_cursor(void);
extern void del_cur_hz(void);
extern void del_back_hz(void);
extern void ins_hz(UC qh, UC wh);
extern void ins_char(int mkey);
/* GETHZ_PY.C */
extern void select_hz(UC key);
extern void fore_page(void);
extern void next_page(void);
extern UC 	py_input(UI first_key);
/* GETHZ_DB.C */
extern UC 	db_input(UI first_key);
/* GETHZ_GB.C */
extern UC 	gb_input(UI first_key);

#define		CHAR_COLOR		15	/* specify the characters color */
#define		BK_COLOR		0	/* specify the background color */
#define		CURSOR_COLOR 	12	/* specify the cursor color */
#define		RET_BK_COLOR	7	/* specify the return back color */
#define		RET_CHAR_COLOR  0   /* specify the return char color */
/* SET_GET.C */
extern UC 	Get_mode_settled;
extern UC   Get_bk_color;
extern UC   Get_char_color;
extern UC   Get_cursor_color;
extern UC	Get_ret_bk_color;
extern UC	Get_ret_char_color;

UC   *Pyhz_buf;
FILE *Fp_lspy;
FILE *Fp_lsdb;

/*typedef struct
	{
		UC py[7];
		UC hz_num;
	} pym_type;
pym_type *Pym;
*/
typedef struct
	{
		UI hz_pos;
		UC py[6];
		UC len;
		UC hz_num;
	}  PYM_STRUCT;
PYM_STRUCT *Pym;

UC In_buf[81];
UI Cur_hz, End_hz, Max_num;
UI Char_sx, Char_sy;

/* ------------------------------------------------------------------------ */
#define ENTER_PROCESS	\
{\
	farfree(Pym);\
	farfree(Pyhz_buf);\
	restore_prompt();\
	fclose(Fp_lspy);\
	fclose(Fp_lsdb);\
\
	if ( strcmp(hz_buf, In_buf)!=0 )\
	{\
		strcpy(hz_buf, In_buf);\
\
		setfillstyle(SOLID_FILL, Get_ret_bk_color);\
		bar(pos_sx, pos_sy, pos_ex, pos_ey);\
		hz16_disp(Char_sx, Char_sy, hz_buf, Get_ret_char_color);\
		farfree(keep_scr_buf);\
\
		setfillstyle(old_fill.pattern, old_fill.color);\
		setlinestyle(old_line.linestyle, old_line.upattern, old_line.thickness);\
		setcolor(old_color);\
\
		return 1;\
	}\
	else\
	{\
		putimage(pos_sx, pos_sy, keep_scr_buf, COPY_PUT);\
		farfree(keep_scr_buf);\
\
		setfillstyle(old_fill.pattern, old_fill.color);\
		setlinestyle(old_line.linestyle, old_line.upattern, old_line.thickness);\
		setcolor(old_color);\
\
		return 0;\
	}\
}

#define ESC_PROCESS	\
{\
	farfree(Pym);\
	farfree(Pyhz_buf);\
	restore_prompt();\
	fclose(Fp_lspy);\
	fclose(Fp_lsdb);\
	putimage(pos_sx, pos_sy, keep_scr_buf, COPY_PUT);\
	farfree(keep_scr_buf);\
	return 0;\
}
/* ------------------------------------------------------------------------ */

/* -------------------------------------------------------------------------
	FUNCTION:	Edit the HanZi string.
	CALLS:          Many.
	CALLED BY:	This is a general-purposed routine.
	INPUT:		(x, y)	The position of the input-window specified.
				high	The heigth of input-window.
				width	The	width of the input-window.
				back_in	The distance from pos_sx to Char_sx.
				max_num The maxium number of Hanzi.
				*hz_buf Buffer of the HanZi string.
	OUTPUT:     None.
	RETURN:		0 -- The HanZi string NOT changed, because of error, <Esc>,
					 or <Enter> with out change.
					 If error occurred, it will sound alarm before return.
				1 -- The Hanzi string changed.
   ------------------------------------------------------------------------- */
UC get_hz_str(UI x, UI y, UI high, UI width, UI back_in,
			  UC max_number, UC *hz_buf)
{
UC stat = 0;	   /* stat: 0--PY, 1--GB, 2--English, 3--DB */
UI pos_sx, pos_sy;
UI pos_ex, pos_ey;

UC *keep_scr_buf;
UC can_select = FALSE;				/* TRUE if can select HanZi continuously */
UI key = 0;

UC old_color;
struct linesettingstype old_line;
struct fillsettingstype old_fill;  /* for saving old fill style setting */

	if (high<18)
	{
		sound_alarm ();
		return 0;
	}
	if ( width < (max_number<<4)+back_in )
		width = (max_number<<4) + back_in;
	pos_sx = x;
	pos_sy = y;
	pos_ex = pos_sx + width - 1;
	pos_ey = pos_sy + high - 1;

	Char_sx = pos_sx + back_in;
	Char_sy = pos_sy + ((high-18)>>1);

	Max_num = max_number;
	strcpy (In_buf, hz_buf);

	End_hz = strlen (In_buf);
	if ( End_hz&0x01 )        /* the length of hz_buf must be even */
	{
		printf ("\nThe input string is mistaken.");
		sound_alarm ();
		return 0;
	}

	End_hz = End_hz>>1;       /* number of Hanzi in the string     */
	if ( End_hz>Max_num )
	{
		printf ("\nThe input string is too long.");
		sound_alarm ();
		return 0;
	}

	Fp_lspy = fopen ("gfsdata\\lspy.dat","rb");
	if ( Fp_lspy==NULL )
	{
		printf ("\nCan't open file: LSPY.DAT !");
		sound_alarm ();
		return 0;
	}

	Fp_lsdb = fopen ("gfsdata\\lsdb.dat","rb");
	if ( Fp_lsdb==NULL )
	{
		printf ("\nCan't open file: LSDB.DAT !");
		sound_alarm ();
		return 0;
	}

	if ( init_pym_table()==1 )
	{
		printf ("\nCan't open file: PYNO.DAT !");
		sound_alarm ();
		return 0;
	}

	init_gethz_para ();

	old_color = getcolor ();
	getlinesettings (&old_line);
	getfillsettings (&old_fill);

	if ( !Get_mode_settled )
	{
		Get_bk_color = BK_COLOR;
		Get_char_color = CHAR_COLOR;
		Get_cursor_color = CURSOR_COLOR;
		Get_ret_bk_color = RET_BK_COLOR;
		Get_ret_char_color = RET_CHAR_COLOR;
	}
	Get_mode_settled = 0;

	keep_scr_buf = (UC *)mem_alloc( imagesize(pos_sx, pos_sy, pos_ex, pos_ey) );
	getimage(pos_sx, pos_sy, pos_ex, pos_ey, keep_scr_buf);

	setfillstyle (SOLID_FILL, Get_bk_color);
	setlinestyle (SOLID_LINE, 0, NORM_WIDTH);
	bar (pos_sx, pos_sy, pos_ex, pos_ey);
	hz16_disp (Char_sx, Char_sy, hz_buf, Get_char_color);

	keep_prompt ();
	draw_init_prompt ();

	Pyhz_buf = (UC *)mem_alloc(256);
	Cur_hz = 0;

	while ( TRUE )
	{
		clr_keybuf();
		while (keybuf_nul())
			disp_hz_cursor ();

		key = get_key0 ();
		switch ( key )
		{
		case PAGEUP:
			can_select = FALSE;
			if ( stat==0 )
				stat = 3;
			else
				stat --;
			draw_prompt (stat);
			break;

		case PAGEDOWN:
			can_select = FALSE;
			if ( stat==3 )
				stat = 0;
			else
				stat ++;
			draw_prompt (stat);
			break;

		case LEFT:
			clr_cursor ();
			if ( Cur_hz==Max_num )
				Cur_hz -= 2;
			else if ( Cur_hz )
				Cur_hz--;
			else
				sound_bell ();
			draw_cursor ();
			break;

		case RIGHT:
			clr_cursor ();
			if ( Cur_hz<End_hz )
				Cur_hz ++;
			else
				sound_bell ();
			draw_cursor ();
			break;

		case HOME:
			clr_cursor ();
			if ( Cur_hz==0 )
				sound_bell ();
			else
				Cur_hz = 0;
			draw_cursor ();
			break;

		case END:
			clr_cursor ();
			if ( Cur_hz==End_hz )
				sound_bell ();
			else
				Cur_hz = End_hz;
			draw_cursor();
			break;

		case BACKSPACE:
			del_back_hz ();
			draw_cursor ();
			break;

		case DEL:
			del_cur_hz ();
			draw_cursor ();
			break;

		case ENTER:
			ENTER_PROCESS

		case ESC:
			ESC_PROCESS

		default:
			if  ( can_select )
			{
				if ( (key&0x00FF)==0 )     /* ALT-key   */
				{
					key >>= 8;
					if ( key<0x78 || key>0x83 )
					{
						sound_bell();
						break;
					}
					if ( key==0x82 )   /* ALT-MINUS */
					{
						fore_page();
						break;
					}
					if ( key == 0x83 ) /* ALT-PLUS  */
					{
						next_page();
						break;
					}
					key -= 0x78;
					select_hz (key);
					break;
				}
/*				else if((key==0x332c) || (key==0x333c))       //<
				{
				    fore_page();
				    break;
				}
				else if((key==0x342e) || (key==0x343e))      // >
				{
				    next_page();
				    break;
				 }
*/			}
			key &= 0x00FF;
			switch ( stat )
			{
			case 0:        /* Pin yin input */
				if ( key>='a' && key<='z' )
				{
					draw_cursor ();
					stat = py_input (key);
					switch ( stat )
					{
					case 0:
					case 1:
					case 2:
					case 3:
						can_select = FALSE;
						break;
					case 0xFD:
						stat = 0;
						can_select = TRUE;
						break;
					case 0xFE:
						ESC_PROCESS
					case 0xFF:
						ENTER_PROCESS
					}
				}
				else if ( key>32 && key<128 )
					ins_char (key);
				else
					sound_bell ();
				break;

			case 1:        /* GB input */
				if ( key>='0' && key<='9' )
				{
					draw_cursor ();
					stat = gb_input (key);
					if ( stat==0xFE )
						ENTER_PROCESS
					if ( stat==0xFF )
						ESC_PROCESS
				}
				else if ( key>32 && key<128 )
					ins_char (key);
				else
					sound_bell ();
				break;

			case 2:        /* English */
				if ( key>32 && key<128 )
					ins_char (key);
				else
					sound_bell ();
				break;

			case 3:        /* DB input */
				if ( key>='0' && key<='9' )
				{
					draw_cursor ();
					stat = db_input (key);
					if ( stat==0xFE )
						ENTER_PROCESS
					if ( stat==0xFF )
						ESC_PROCESS
				}
				else if ( key>32 && key<128 )
					ins_char (key);
				else
					sound_bell ();
				break;

			default: sound_bell ();
			}		/*  end of switch(stat)  */
		}   	   	/*  End of switch(key)	*/
	}				/*  End of while ( TRUE ) */
}		 			/*  End of get_hz_str()  */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产一区a| 天堂成人国产精品一区| 亚洲激情在线播放| 日本亚洲电影天堂| 成人h版在线观看| 在线91免费看| 中文字幕欧美一| 精品制服美女丁香| 在线看日本不卡| 中文字幕av不卡| 另类中文字幕网| 欧美日韩亚洲丝袜制服| 国产精品国产三级国产普通话三级| 日韩不卡一区二区三区| 色欧美片视频在线观看在线视频| 久久影音资源网| 麻豆精品在线观看| 色噜噜狠狠色综合中国| 国产精品麻豆网站| 国产精品中文字幕日韩精品 | 国产成人亚洲精品狼色在线| 色婷婷综合久久久久中文 | 成人国产精品免费网站| 日韩久久精品一区| 亚洲地区一二三色| 欧美综合欧美视频| 亚洲精品一二三四区| 91一区一区三区| 亚洲欧美日韩久久精品| 不卡av在线免费观看| 国产丝袜欧美中文另类| 国产福利91精品一区二区三区| 欧美一区日韩一区| 日本美女一区二区三区视频| 欧美日韩日日骚| 亚洲成av人影院在线观看网| 欧美色图片你懂的| 亚洲电影视频在线| 91.麻豆视频| 久久99久久久久| 久久久久久久电影| 国产成人亚洲精品狼色在线 | 精品国产网站在线观看| 美国十次综合导航| 欧美精品一区二区三区在线播放| 久久se精品一区精品二区| 欧美一区二区三区啪啪| 蜜臀av一区二区在线免费观看| 日韩视频免费直播| 国产一区三区三区| 中文字幕亚洲一区二区va在线| 99久久婷婷国产| 亚洲国产综合91精品麻豆| 91精品国产一区二区| 国精产品一区一区三区mba视频| 国产免费久久精品| 日本韩国一区二区| 午夜精品福利视频网站| 亚洲精品一区二区三区香蕉| 成人高清免费观看| 亚洲一线二线三线久久久| 日韩一区和二区| 粉嫩欧美一区二区三区高清影视| 亚洲情趣在线观看| 欧美成人高清电影在线| voyeur盗摄精品| 天天av天天翘天天综合网 | 激情丁香综合五月| 中文字幕的久久| 在线观看日韩av先锋影音电影院| 午夜精品国产更新| 国产午夜精品一区二区三区视频 | 成人网页在线观看| 亚洲综合在线第一页| ww亚洲ww在线观看国产| 91看片淫黄大片一级| 理论电影国产精品| 亚洲黄色片在线观看| 精品国产自在久精品国产| 色香蕉久久蜜桃| 另类小说色综合网站| 一区二区在线观看视频| 精品久久国产老人久久综合| 91啪亚洲精品| 国产精品自拍av| 日韩成人免费电影| 亚洲一区二区三区在线| 国产色综合一区| 欧美一区二区不卡视频| 91丨porny丨国产入口| 狠狠色狠狠色合久久伊人| 亚洲一区二区四区蜜桃| 欧美激情一区三区| 日韩欧美国产午夜精品| 欧美午夜精品一区| 99久久国产综合精品女不卡| 国产一区二区三区四区在线观看 | 国产成人啪免费观看软件| 日韩国产欧美在线播放| 最新高清无码专区| 久久婷婷综合激情| 日韩视频免费观看高清完整版| 日本精品视频一区二区三区| a级精品国产片在线观看| 国产精品一区一区三区| 另类欧美日韩国产在线| 日韩主播视频在线| 亚洲成年人网站在线观看| 亚洲欧美一区二区在线观看| 欧美国产综合色视频| 国产欧美日韩三级| 久久久综合精品| 欧美v亚洲v综合ⅴ国产v| 91精品国产入口| 在线综合视频播放| 91精品国产综合久久久久| 欧美一区二区视频免费观看| 欧美日韩国产123区| 欧美日韩另类一区| 欧美精品v国产精品v日韩精品| 欧美日韩国产美女| 91精品国产入口| 精品乱人伦小说| 久久久精品国产免大香伊| 久久久亚洲欧洲日产国码αv| 国产亚洲自拍一区| 国产欧美精品一区二区色综合朱莉| 欧美国产激情一区二区三区蜜月| 欧美激情一区二区三区蜜桃视频 | 色哟哟一区二区在线观看| 91丝袜国产在线播放| 91黄视频在线| 6080国产精品一区二区| 精品日韩在线观看| 国产目拍亚洲精品99久久精品| 国产精品福利影院| 亚洲一区电影777| 奇米在线7777在线精品| 国产黄色精品网站| 91国偷自产一区二区使用方法| 精品视频1区2区| 精品国产免费视频| 国产精品久久久久影院亚瑟| 亚洲一区免费在线观看| 精品亚洲aⅴ乱码一区二区三区| www.性欧美| 欧美日韩高清在线| 国产蜜臀av在线一区二区三区| 日韩伦理电影网| 亚洲综合免费观看高清完整版在线 | 中文字幕一区视频| 亚洲欧洲99久久| 亚洲国产另类精品专区| 亚洲国产一区二区在线播放| 五月婷婷综合在线| 国产精品一区二区91| voyeur盗摄精品| 精品久久久久久久人人人人传媒| 久久综合久久综合久久| 中文字幕一区不卡| 午夜精品福利在线| 国产在线日韩欧美| 99精品黄色片免费大全| 欧美蜜桃一区二区三区| 久久精品视频一区二区| 一区二区三区高清不卡| 蜜臀a∨国产成人精品| 成人教育av在线| 91精品国产综合久久久久久久| 日韩欧美你懂的| 亚洲日本乱码在线观看| 亚洲欧美另类小说| 久久精品国产亚洲a| 99久久精品99国产精品 | 亚洲日本免费电影| 久久99热99| 欧美色电影在线| 中文字幕av一区 二区| 偷拍自拍另类欧美| av不卡一区二区三区| 精品成人佐山爱一区二区| 亚洲美女视频一区| 国产精品一区免费视频| 欧美日韩免费电影| 亚洲成av人综合在线观看| 国v精品久久久网| 日韩三级视频在线看| 亚洲精品视频在线观看网站| 不卡的av在线播放| 精品国产乱码久久久久久影片| 亚洲靠逼com| 蜜臀久久久久久久| 91精品国产福利在线观看| 亚洲男人电影天堂| 成人小视频在线| 欧美xxxxx牲另类人与| 日日夜夜免费精品视频| 在线观看精品一区| 亚洲欧美另类久久久精品| 91麻豆精品一区二区三区|