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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? hz386.c

?? BC3.1編譯,小交換機計費系統.使用Dos做出如此好的界面,少有.
?? C
字號:
#include <io.h>
#include <dos.h>
#include <string.h>
#include <fcntl.h>
#include <alloc.h>
#include <graphics.h>

#include <def.inc>
#include <func.inc>

static UC far *Rom_char_lib;

/* ============================= load_char_lib =========================== */
void load_char(void)
{
static UI keep_es1,keep_es2,keep_bp1,keep_bp2;

	keep_es1 = _ES;
	keep_bp1 = _BP;
	_AX = 0x1130;
	_BH = 0x06;
	geninterrupt(0x10);
	keep_bp2 = _BP;
	keep_es2 = _ES;
	_BP = keep_bp1;
	_ES = keep_es1;
	Rom_char_lib = MK_FP(keep_es2, keep_bp2);
}

/* ============================= load_hz_lib ============================= */
void load_hzk(UC hz_style)
{
UC * tmp_buf;
UI tmp_handle;
UI bytes;
UC loopi;

	if (EM_amount()<256/*512*/)
		exit_scr(1, "\n\rHZ.C/load_hzk(): Not enough extened memory.");

	if (hz_style == 1)
		tmp_handle = open("DATA\\CCLIBJ.DOT",O_BINARY|O_RDONLY);
	else
		tmp_handle = open("DATA\\CCLIBF.DOT",O_BINARY|O_RDONLY);

	if (tmp_handle==0xffff)
		exit_scr(1, "\n\rHZ.C/load_hzk(): Can't open file CCLIB.DOT.");

	tmp_buf = (UC *)mem_alloc(65536L);

	bytes = 10*94*32;
	for (loopi=0; loopi<8; loopi++)
	{
		if (read(tmp_handle, (UC *)tmp_buf, bytes)==-1)
		{
		    farfree(tmp_buf);
		    exit_scr(1, "\n\rHZ.C/load_hzk(): Read file DATA\\CCLIB.DOT error.");
		}

		if (EM_write(0x100000L+(UL)bytes*loopi, tmp_buf, bytes)==FALSE)
		{
		    farfree(tmp_buf);
		    exit_scr(1, "\n\rHZ.C/load_hzk(): Extened memory access error.");
		 }
	}

	bytes = 94*32;
	if (read(tmp_handle, (UC *)tmp_buf, bytes)==-1)
	{
	    farfree(tmp_buf);
	    exit_scr(1, "\n\rHZ.C/load_hzk(): Read file DATA\\CCLIB.DOT error.");
	 }

	if (EM_write(0x100000L+(UL)bytes*80L, tmp_buf, bytes)==FALSE)
	{
	    farfree(tmp_buf);
	    exit_scr(1, "\n\rHZ.C/load_hzk(): Extened memory access error.");
	 }

	farfree(tmp_buf);
	close(tmp_handle);
}

/* =============================== hz_24 ================================ */
/*
void hz_24(UC hz_No,UI pox,UI poy,UC color)
{
UC i,k;
UC dot_byte,count;
UC far *dot_here;
static UC bit_map[8]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};

	dot_here = hz24k_buf+hz_No*72;
	set_dot_mode(color);
	count=3;

	for (i=0;i<72;i++)
	{
		dot_byte = *(dot_here++);
		for (k=0;k<8;k++)
		{
			if ( (dot_byte & bit_map[k]) )
			pixel(pox,poy);
			poy++;
		}
		if (--count==0)
		{
			pox++;
			poy-=24;
			count=3;
		}
	}
	reset_dot_mode();
}
*/

/* ============================== hz_16 ================================ */
void hz_16(UC qh, UC wz, UI pox, UI poy, UC color)
{
	UC i,k;
	UC dot_byte;
	UC hz_dot[32];
	static UC bit_map[8]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};

	if (qh==0 || wz==0) return;
	if (qh>87 || wz>94) return;
	if (qh>9  && qh<16) return;
	if ( qh>15 ) qh -= 6;

	EM_read(hz_dot, 0x100000L+(--qh)*94*32L+(--wz)*32L, 32);

	set_dot_mode(color);
	for (i=0;i<32;i++)
	{
		dot_byte = hz_dot[i];
		for (k=0;k<8;k++)
		{
			if ((dot_byte & bit_map[k]) != 0)
				pixel(pox,poy);
			pox++;
		}
		if ( i&0x01 )
		{
			poy++;
			pox -= 16;
		}
	}
	reset_dot_mode();
}

/* ============================= char_16 ================================ */
void char_16(UC asc_code, UI pox, UI poy, UC color)
{
UC i,k,dot_byte;
UC far *dot_here;
static UC bit_map[8]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};

	if (asc_code>127) return;
	dot_here = Rom_char_lib+(asc_code<<4);
	set_dot_mode(color);
	for (i=0;i<16;i++)
	{
		dot_byte = *(dot_here++);
		for (k=0;k<8;k++)
		{
			if ((dot_byte & bit_map[k]) != 0)
				pixel(pox,poy);
			pox++;
		}
		poy++;
		pox-=8;
	}
	reset_dot_mode();
}

/* ============================= hz16_disp =============================== */
void hz16_disp(UI x, UI y, UC *hz_str, UC color)
{
UC han1, han2, i;

	i=0;
	while ( (han1=hz_str[i]) != 0)
	{
		if (han1<160)
		{
			char_16(han1, x, y+1, color);
			x += 8;
			i++;
		}
		else
		{
			han2=hz_str[++i];
			if (han2<160)
				return;
			hz_16((han1-160),(han2-160),x,y,color);
			x += 16;
			i++;
		}
	}
}

/* ============================= hz16_fill =============================== */
void hz16_fill(UI x, UI y, UC *hz_str, UC fill_len, UC color)
{
UC han1, han2, i;

	i = 0;
	while ( i<fill_len && (han1=hz_str[i])!=0)
	{
		if ( han1<160 )
		{
			char_16(han1, x, y+1, color);
			x += 8;
			i++;
		}
		else
		{
			if (i>=fill_len)
				return;
			han2 = hz_str[++i];
			if (han2<160)
				return;
			hz_16((han1-160), (han2-160), x, y, color);
			x += 16;
			i++;
		}
	}
}

/* ============================= topic_disp ============================== */
void topic_disp(UI x, UI y, UC *hz_str, UC hz_color, UC char_color)
{
UC han1,han2,i;

	i=0;
	while ( (han1=hz_str[i]) != 0)
	{
		if (han1<160)
		{
			char_16(han1, x, y+1, char_color);
			x += 8;
			i++;
		}
		else
		{
			han2=hz_str[++i];
			if (han2<160) return;
			hz_16((han1-160),(han2-160),x,y,hz_color);
			x += 16;
			i++;
		}
	}
}

/* ============================== disp_str ============================== */
void disp_str(UI x, UI y, UC *hz_str, UC bk_color, UC char_color)
{
UC han1,han2;
UI i;
struct fillsettingstype old_setting;

	i = strlen(hz_str);
	if (i==0 || i>=80) return;

	getfillsettings(&old_setting);
	setfillstyle(SOLID_FILL,bk_color);
	bar(x, y, x+(i<<3)-1, y+15);

	i=0;
	while ( (han1=hz_str[i]) != 0)
	{
		if (han1<160)
		{
			char_16(han1, x, y+1, char_color);
			x += 8;
			i++;
		}
		else
		{
			han2=hz_str[++i];
			if (han2<160) return;
			hz_16((han1-160), (han2-160), x, y, char_color);
			x += 16;
			i++;
		}
	}
	setfillstyle(old_setting.pattern,old_setting.color);
}

/* ============================= disp_20dot ============================== */
void disp_20d(UI x, UI y, UC *hz_str, UC bk_color, UC char_color)
{
UC han1,han2;
UI i;
struct fillsettingstype old_setting;

	i = strlen(hz_str);
	if (i==0 || i>=80) return;

	getfillsettings(&old_setting);
	setfillstyle(SOLID_FILL,bk_color);
	bar(x-1, y-2, x+(i<<3), y+17);

	i=0;
	while ( (han1=hz_str[i]) != 0)
	{
		if (han1<160)
		{
			char_16(han1, x, y+1, char_color);
			x += 8;
			i++;
		}
		else
		{
			han2=hz_str[++i];
			if (han2<160) return;
			hz_16((han1-160), (han2-160), x, y, char_color);
			x += 16;
			i++;
		}
	}
	setfillstyle(old_setting.pattern,old_setting.color);
}

/* ========================== support view port ========================== */
/* ------------------------------- hz1_16 -------------------------------- */
void hz1_16(UC qh,UC wz,UI pox,UI poy,UC color)
{
UC i,k;
UC dot_byte;
UC hz_dot[32];
static UC bit_map[8]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};

	if (qh==0||wz==0) return;
	if (qh>87||wz>94) return;
	if ( qh>9 ) qh -= 6;

	EM_read(hz_dot, 0x100000L+(--qh)*94*32L+(--wz)*32L, 32);

	for (i=0;i<32;i++)
	{
		dot_byte = hz_dot[i];
		for (k=0;k<8;k++)
		{
			if ((dot_byte & bit_map[k]) != 0)
				putpixel(pox,poy,color);
			pox++;
		}
		if ( i&0x01 )
		{
			poy++;
			pox -= 16;
		}
	}
}

/* ============================= char_16 ================================ */
void char1_16(UC asc_code, UI pox, UI poy, UC color)
{
UC i,k,dot_byte;
UC far *dot_here;
static UC bit_map[8]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};

	if (asc_code>127) return;
	dot_here = Rom_char_lib+(asc_code<<4);
	for (i=0;i<16;i++)
	{
		dot_byte = *(dot_here++);
		for (k=0;k<8;k++)
		{
			if ((dot_byte & bit_map[k]) != 0)
				putpixel(pox,poy,color);
			pox++;
		}
		poy++;
		pox-=8;
	}
}

/* ============================= hz16_disp =============================== */
void hz16_disp1(UI x,UI y,UC hz_str[80],UC color)
{
UC han1,han2,i;

	i=0;
	while ( (han1=hz_str[i]) != 0)
	{
		if (han1<160)
		{
			char1_16(han1, x, y+1, color);
			x += 8;
			i++;
		}
		else
		{
			han2=hz_str[++i];
			if (han2<160) return;
			hz1_16((han1-160),(han2-160),x,y,color);
			x += 16;
			i++;
		}
	}
}

/* ============================= topic_disp ============================== */
void topic_disp1(UI x,UI y,UC hz_str[80],UC hz_color,UC char_color)
{
UC han1,han2,i;

	i=0;
	while ( (han1=hz_str[i]) != 0)
	{
		if (han1<160)
		{
			char1_16(han1, x, y+1, char_color);
			x += 8;
			i++;
		}
		else
		{
			han2=hz_str[++i];
			if (han2<160) return;
			hz1_16((han1-160),(han2-160),x,y,hz_color);
			x += 16;
			i++;
		}
	}
}
/* ============================== disp_str ============================== */
void disp_str1(UI x,UI y,UC hz_str[80],UC bk_color,UC char_color)
{
UC han1,han2;
UI i;
struct fillsettingstype old_setting;

	i=0;
	while(i<80 && hz_str[i]!=0) i++;
	if (i==0 || i==80) return;

	getfillsettings(&old_setting);
	setfillstyle(SOLID_FILL,bk_color);
	bar(x,y,x+(i<<3)-1,y+15);

	i=0;
	while ( (han1=hz_str[i]) != 0)
	{
		if (han1<160)
		{
			char1_16(han1, x, y+1, char_color);
			x += 8;
			i++;
		}
		else
		{
			han2=hz_str[++i];
			if (han2<160) return;
			hz1_16((han1-160),(han2-160),x,y,char_color);
			x += 16;
			i++;
		}
	}
	setfillstyle(old_setting.pattern,old_setting.color);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品一区二区在线免费观看| 欧美一区二区三区在线视频| 亚洲综合久久久久| 欧美videofree性高清杂交| 91网站在线播放| 狠狠狠色丁香婷婷综合激情| 亚洲成a人v欧美综合天堂下载 | 亚洲视频在线一区| 91蜜桃在线观看| 亚洲欧美日韩久久| 91在线观看视频| 精品一区二区三区蜜桃| 一区二区成人在线视频| 欧美日韩国产综合久久| 日韩精品电影在线观看| 亚洲欧美日韩精品久久久久| 色国产精品一区在线观看| 国产一区二区免费视频| 国产清纯美女被跳蛋高潮一区二区久久w | 亚洲精品视频在线看| 在线这里只有精品| av在线不卡电影| 亚洲美女电影在线| 亚洲视频免费在线观看| 欧美乱熟臀69xxxxxx| 一本一道波多野结衣一区二区| 国产麻豆精品视频| 久久精品国产秦先生| 日韩电影在线一区二区| 久久久五月婷婷| 日韩精品一区二区三区在线播放 | 91国偷自产一区二区三区观看| 欧美高清视频一二三区 | 国产一区二区中文字幕| 中文字幕一区二区三| 国产日韩欧美制服另类| 欧美视频一区二区三区在线观看| 免费不卡在线观看| 亚洲免费观看在线视频| 亚洲欧洲av在线| 亚洲日本韩国一区| 亚洲人成精品久久久久| 亚洲欧美视频一区| 日韩三级免费观看| 欧美va日韩va| 2023国产精华国产精品| 色婷婷一区二区三区四区| 久久国产精品区| 国产麻豆午夜三级精品| 国产91精品一区二区麻豆网站| 国产成人精品亚洲午夜麻豆| 不卡的av在线| 在线中文字幕一区| 国产精品 日产精品 欧美精品| 国产一区二区视频在线| 亚洲国产精品麻豆| 日韩精品色哟哟| 精品一区二区三区影院在线午夜| 国产成人一区在线| 91丨九色丨国产丨porny| 欧美在线免费观看亚洲| 成人免费av在线| 在线亚洲人成电影网站色www| 国产在线不卡视频| 亚洲国产一区二区三区 | 精品一区二区在线看| 国内精品久久久久影院色| 亚洲人精品午夜| 亚洲成人综合在线| 中文字幕亚洲区| 日韩成人精品视频| 国产成人午夜精品影院观看视频| 91同城在线观看| 国产91精品精华液一区二区三区 | 国产91在线观看| 欧美怡红院视频| 色婷婷国产精品综合在线观看| 欧美日韩免费视频| 日本韩国一区二区三区| 成人app软件下载大全免费| 国产乱码字幕精品高清av | 日韩精品一区二区三区蜜臀 | 中文字幕在线不卡一区| 国产欧美日韩在线视频| 夜夜夜精品看看| 国产99久久久国产精品潘金| 欧洲日韩一区二区三区| 激情综合色综合久久| 精品国产一区二区精华| 欧美日本乱大交xxxxx| 26uuu欧美日本| 精品国产区一区| 精品粉嫩aⅴ一区二区三区四区| 91精品国产麻豆国产自产在线 | 欧美一区日本一区韩国一区| 久久久久久久久97黄色工厂| 久久综合九色综合97婷婷| 国产精品成人网| 国产裸体歌舞团一区二区| 欧美系列亚洲系列| 国产精品你懂的| 国产精品超碰97尤物18| 秋霞影院一区二区| 在线观看欧美精品| 中文字幕欧美日韩一区| 精品一区二区三区蜜桃| 欧美人伦禁忌dvd放荡欲情| 欧美男生操女生| 欧美一区二区精品| 久久女同互慰一区二区三区| 国产精品免费av| 激情综合网激情| 成人av午夜影院| 久久综合久久综合久久综合| 日韩精品成人一区二区三区| 精品一区二区三区av| 成人午夜视频在线观看| 一本色道久久综合亚洲91| 欧美日韩国产免费一区二区| 国产精品美女久久久久久2018| 亚洲一区二区av电影| 美女任你摸久久| 欧美高清一级片在线| 国产午夜精品久久| 韩国三级在线一区| 日韩女同互慰一区二区| 蜜臀av性久久久久蜜臀aⅴ流畅| 在线免费观看日本一区| 亚洲男人的天堂网| 色综合视频一区二区三区高清| 国产精品人人做人人爽人人添| 国产精品国产三级国产| 久久成人免费电影| 欧美不卡一二三| 国产一区不卡在线| 久久蜜桃av一区精品变态类天堂| 国产精品家庭影院| 五月天婷婷综合| 国产91丝袜在线播放0| 久久久久高清精品| 成人天堂资源www在线| 9191国产精品| 一色桃子久久精品亚洲| 蜜桃精品视频在线观看| 色综合天天综合狠狠| 精品国产不卡一区二区三区| 麻豆精品精品国产自在97香蕉| 欧美精品一区二区三| 国产很黄免费观看久久| 亚洲欧美自拍偷拍色图| 激情文学综合插| 欧美中文字幕一二三区视频| 午夜一区二区三区在线观看| 337p亚洲精品色噜噜噜| 亚洲欧洲中文日韩久久av乱码| 九九久久精品视频| 国产女主播一区| 久久精品国产在热久久| 久久精品视频免费观看| 成人综合激情网| 亚洲成a人片在线不卡一二三区 | 国产精品一品视频| 中文字幕中文字幕中文字幕亚洲无线 | 国内精品视频一区二区三区八戒| 欧美日韩国产一区二区三区地区| 日韩毛片精品高清免费| 欧美日韩午夜影院| 中文av一区二区| 国产乱码一区二区三区| 中文字幕一区二区三区在线观看| 欧美视频一区二区在线观看| 黑人巨大精品欧美黑白配亚洲| 日韩免费视频一区| 日本中文字幕一区二区有限公司| 亚洲精品在线三区| 久久精品国产99久久6| 91精品婷婷国产综合久久 | 狠狠色综合播放一区二区| 国产精品久99| 欧美一区二区日韩一区二区| 婷婷成人激情在线网| 国产亚洲1区2区3区| 欧美久久一二三四区| 国产91丝袜在线播放九色| 欧美韩国一区二区| 99热在这里有精品免费| 老汉av免费一区二区三区| 伊人一区二区三区| 久久久久国产精品麻豆ai换脸| 国产成人亚洲精品狼色在线| 久久精品水蜜桃av综合天堂| 欧美日韩专区在线| 欧美96一区二区免费视频| 亚洲日本免费电影| 在线免费一区三区| 亚洲aaa精品| 亚洲视频一区二区在线观看| 在线日韩国产精品| 奇米777欧美一区二区| 亚洲人成7777|