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

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

?? to_prn.c

?? BC3.1編譯,小交換機計費系統.使用Dos做出如此好的界面,少有.
?? C
字號:

/************************************************************************

    文件名:   to_prn.c
    功能:     打印報表
    日期:     1993年6月15日
    作者:     劉毅 費敏

************************************************************************/

#include <stdio.h>
#include <stdlib.h>
#include <alloc.h>
#include <ctype.h>
#include <mem.h>
#include <string.h>
#include <conio.h>
#include <stdarg.h>
#include <def.inc>
#include <func.inc>

UC	prn_status;

/************************************************************************

	      UC init0_prn(void)
	      功能: 初始化打印機
	      入口: 無
	      出口: 無
	      返回: 打印機狀態

************************************************************************/

UC	init0_prn(void)
{
	prn_status=prnf("%c%c",0x1b,0x40);				/*	initial	*/
	if	(prn_status)	prn_status=prnf("%c",0x11); /*	strobe	*/
	if	(prn_status)	prn_status=prnf("%c%c",0x1c,0x26);	/* chin_mode*/
	if	(prn_status)	prn_status=prnf("%c%c%c",0x1c,0x76,0x01);/*close*/
	if	(prn_status)	prn_status=prnf("%c%c%c",0x1b,0x55,0x01);/*one_dir*/
	return	prn_status;
}

/************************************************************************

	    void set_str(UC *flag, UC *dest, UC *str)
	      功能: 設置一個新串, 新串包括flag str的長度和str
	      入口: flag, str
	      出口: dest
	      返回: 無

************************************************************************/

void	set_str(UC	*flag,	UC	*dest,	UC	*str)
{
	UC	len,	slen[4];

	strcpy(dest,flag);
	strcat(dest," ");

	len=strlen(str);
	itoa(len,slen,10);

	strcat(dest,slen);
	strcat(dest," ");
	strcat(dest,str);

	strcat(dest,"\x0d\x0a");
}

/************************************************************************

	    void set_chr(UC *flag, UC *dest, UC chr)
	      功能: 設置一個新串, 新串包括flag '1' 和chr
	      入口: flag, chr
	      出口: dest
	      返回: 無

************************************************************************/

void	set_chr(UC	*flag,	UC	*dest,	UC	chr)
{
	UC	str[2];

	strcpy(dest,flag);
	strcat(dest," ");

	strcat(dest,"1");
	strcat(dest," ");

	str[0]=chr;
	str[1]='\0';
	strcat(dest,str);

	strcat(dest,"\x0d\x0a");
}

/************************************************************************

	    void set_val(UC *flag, UC *dest, UL val)
	      功能: 將val轉換為串, 設置到新串中, 新串包括flag, val的串
                    長度, val的串
	      入口: flag, val
	      出口: dest
	      返回: 無

************************************************************************/

void	set_val(UC	*flag,	UC	*dest,	UL	val)
{
	UC	len,	str[32],	slen[4];

	strcpy(dest,flag);
	strcat(dest," ");

	ltoa(val,str,10);
	len=strlen(str);
	itoa(len,slen,10);

	strcat(dest,slen);
	strcat(dest," ");

	strcat(dest,str);
	strcat(dest,"\x0d\x0a");
}

/************************************************************************

	    void set_fee(UC *flag, UC *dest, UL fee)
	      功能: 將以分為單位的錢數轉換為以元為單位的串, 設置到新串
                    中, 新串中包括flag, 轉換的串長度和轉換的串
	      入口: flag, fee,
	      出口: dest
	      返回: 無

************************************************************************/

void	set_fee(UC	*flag,	UC	*dest,	UL	val)
{
	UC	len,	str[32],	slen[4];

	strcpy(dest,flag);
	strcat(dest," ");

	ltoa(val/100,str,10);
	len=strlen(str);
	itoa(len+3,slen,10);

	strcat(dest,slen);
	strcat(dest," ");

	strcat(dest,str);
	strcat(dest,".");
	if ((val%100)>9)	ltoa(val%100,str,10);
	else
	{
		str[0]='0';
		ltoa(val%100,str+1,10);
	}
	strcat(dest,str);
	strcat(dest,"\x0d\x0a");
}


/************************************************************************

	    void prttab(UC *fdat, UC *ftab, UC resetprn)
	      功能: 由數據表文件和相應的表原型文件生成報表送打印機
	      入口: fdat數據表文件名指針,
                fdat原型表文件名指針
                line_distance打印機行距(0: 1/8英寸, 1: 1/6英寸)
	      出口: 無
	      返回: 無

************************************************************************/

void prttab(UC	*fdat,	UC	*ftab,	UC	line_distance)
{
FILE 	*fp_tab,*fp_dat;
UC far *data;
UC far *table;
UI length_tab;
UI length_dat;
UI i,j;
UC len,	flag[40],	*fptr;

	if ((fp_tab =fopen (ftab,"rb")) ==NULL)
	{
		printf("error\n");
		exit (0);
	}
	fseek(fp_tab,0L,SEEK_END);
	length_tab =(UI)ftell(fp_tab);
	table =(UC *)farmalloc (length_tab+2);

	if (table==NULL)
	{
		printf("heap is not enough\n");
		exit (1);
	}

	fseek (fp_tab,0L,SEEK_SET);
	fread (table,length_tab,1,fp_tab);
	fclose (fp_tab);

	if ((fp_dat =fopen (fdat,"rb")) ==NULL)
	{
		printf("error\n");
		exit (0);
	}
	fseek(fp_dat,0L,SEEK_END);
	length_dat =(UI)ftell(fp_dat);
	data =(UC *)farmalloc (length_dat+2);

	if (data==NULL)
	{
		printf("heap is not enough\n");
		exit (1);
	}

	fseek (fp_dat,0L,SEEK_SET);
	fread (data,length_dat,1,fp_dat);
	fclose (fp_dat);

	for (i=0; i<length_tab; i++)
	{
		if (table[i] == '@')
		{
			j=0;
			while (	(table[i+1+j]!=' ')&&(table[i+1+j]<0xa0)	)
			{
				flag[j]=table[i+1+j];
				j++;
			}
			flag[j]='\0';

			if	((fptr=strstr(data,flag))==NULL)
			{
				printf("flag %s isn't exist\n",flag);
				getch();
			}
			else
			{
				fptr=fptr+strlen(flag)+1;
				len=(*fptr)&0x0f;

				if (isdigit(*(fptr+1)))
				{
					len=len*10;
					len+=(*(fptr+1))&0x0f;
					fptr+=3;
					memmove(table+i,fptr,	len);
				}
				else
				{
					if	(len<3)
					{
						if (table[i+2]<0xa0)	memset(table+i,' ',3);
						else	memset(table+i,' ',2);
					}
					fptr+=2;
					memmove(table+i,fptr,len);
				}
			}
		}
	}
/*------------------------------------------*/
	prn_status=init0_prn();
	if	(prn_status)
		if (line_distance)
		{
			prn_status=prnf("%c%c",0x1b,0x32);	/*	1/6	inch per line	*/
		}
		else	prn_status=prnf("%c%c",0x1b,0x30);	/*	1/8	ipl	*/

	if	(prn_status)
	{
			i=0;
			while (i<length_tab)
			{
				if (table[i]==0x92)
				{
					if	(table[i+1]==0x80)
					{
						i+=2;
						if (prn_status)
						{   /*	set big	chinese	word*/
							prn_status=prnf("%c%c%c",0x1c,0x57,0x01);
						}
					}
					else	if	(table[i+1]==0x84)
					{
						i+=2;
						if (prn_status)
							prn_status = prnf("%c%c%c", 0x1c, 0x57, 0x00);
					}
				}
				if (prn_status)
					prn_status=prn_ch(table[i]);
				i++;
			}
	}

	if (prn_status)
	{
		prn_status=prnf("%c%c",0x1b,0x32);	/*	1/6	inch per line	*/
	}
/*------------------------------------------*/
	farfree (table);
	farfree (data);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩午夜在线视频| 亚洲激情中文1区| 亚洲欧美一区二区三区国产精品 | 69av一区二区三区| 久久久国际精品| 日韩电影在线观看一区| 91蜜桃在线观看| 中文天堂在线一区| 国内外成人在线视频| 欧美日韩不卡一区二区| 一区二区在线电影| www.欧美日韩国产在线| 国产亚洲制服色| 国产精品一区在线观看乱码 | 免费看日韩a级影片| 在线一区二区三区| 日韩一区在线免费观看| 成人激情视频网站| 国产精品美女视频| 成人动漫在线一区| 国产精品午夜免费| 国产激情一区二区三区桃花岛亚洲| 91精品国产入口| 奇米影视在线99精品| 69堂成人精品免费视频| 婷婷久久综合九色综合绿巨人| 日本精品裸体写真集在线观看 | 国产人成一区二区三区影院| 国模套图日韩精品一区二区| 日韩女优制服丝袜电影| 日韩成人伦理电影在线观看| 91精品黄色片免费大全| 视频精品一区二区| 欧美一级理论性理论a| 欧美bbbbb| 欧美大片一区二区| 国产一区二区女| 日本一区二区高清| 99re视频精品| 性久久久久久久久久久久| 在线播放欧美女士性生活| 免费三级欧美电影| 久久精品一区二区三区四区| 国产98色在线|日韩| 自拍av一区二区三区| 欧美视频在线观看一区| 日韩av午夜在线观看| 精品99一区二区三区| 成人免费视频一区| 亚洲一区视频在线观看视频| 欧美日韩高清在线| 国内成人精品2018免费看| 国产精品乱人伦| 欧美老肥妇做.爰bbww| 麻豆成人91精品二区三区| 久久精品欧美一区二区三区麻豆| 成人精品gif动图一区| 亚洲在线免费播放| 精品国产99国产精品| 色综合天天综合给合国产| 日韩国产在线观看| 欧美激情自拍偷拍| 欧美日本乱大交xxxxx| 国内精品伊人久久久久av一坑| 中文字幕一区二区在线观看| 欧美美女直播网站| 黑人精品欧美一区二区蜜桃| 国产精品久久三区| 欧美一二三区在线| 99re这里只有精品6| 久久er99精品| 一区二区三区色| 久久久亚洲精品一区二区三区| 在线亚洲精品福利网址导航| 精品在线一区二区| 一区二区三区精品久久久| 久久久欧美精品sm网站| 欧美在线看片a免费观看| 国产成人在线网站| 日本不卡的三区四区五区| 日韩理论在线观看| 精品av久久707| 欧美一区二区性放荡片| 91九色02白丝porn| voyeur盗摄精品| 狠狠色综合播放一区二区| 亚洲国产sm捆绑调教视频 | 91精品欧美一区二区三区综合在| eeuss鲁片一区二区三区在线看| 久久精品免费看| 亚洲成人三级小说| 一区二区三区在线免费播放| 欧美国产成人精品| 久久精品视频网| 日韩欧美视频一区| 9191精品国产综合久久久久久| 一本色道久久综合亚洲精品按摩| 国产+成+人+亚洲欧洲自线| 韩国精品在线观看| 日韩av电影一区| 日韩1区2区3区| 亚洲.国产.中文慕字在线| 亚洲与欧洲av电影| 一区二区三区精密机械公司| 国产精品成人网| 中文字幕亚洲精品在线观看| 久久精品一区二区三区不卡| 精品国产人成亚洲区| 精品国产一区二区三区久久久蜜月 | 久久精品国产精品青草| 日韩精品亚洲一区二区三区免费| 图片区小说区国产精品视频| 午夜激情久久久| 亚洲成人av电影| 午夜精品久久久久| 日韩电影免费一区| 久久99精品一区二区三区三区| 国内成人自拍视频| 国产成人精品亚洲午夜麻豆| 国产成人精品亚洲午夜麻豆| 国产宾馆实践打屁股91| 波多野洁衣一区| 91蜜桃视频在线| 欧美制服丝袜第一页| 欧美欧美午夜aⅴ在线观看| 欧美一区二区三区视频免费 | 色综合天天综合在线视频| 日本高清不卡一区| 51久久夜色精品国产麻豆| 欧美一区二区网站| 国产亚洲一区二区三区在线观看 | 国产99久久久精品| 色综合一区二区| 欧美一区在线视频| 国产农村妇女精品| 亚洲蜜桃精久久久久久久| 三级精品在线观看| 国产精品系列在线播放| fc2成人免费人成在线观看播放| 在线观看成人小视频| 精品国产一二三| 亚洲色图.com| 美女视频一区二区三区| 不卡的电影网站| 8x福利精品第一导航| 久久久无码精品亚洲日韩按摩| 中文字幕一区二区视频| 日韩国产精品久久久| 丁香另类激情小说| 91麻豆精品国产自产在线| 久久久三级国产网站| 亚洲小少妇裸体bbw| 国产精品一区二区久激情瑜伽| 欧美性大战xxxxx久久久| 精品人在线二区三区| 亚洲美女在线一区| 国产麻豆日韩欧美久久| 欧美三级日韩三级| 国产人妖乱国产精品人妖| 99久久精品国产导航| 欧美大白屁股肥臀xxxxxx| 一区二区三区四区不卡在线| 国内精品第一页| 制服丝袜亚洲色图| 亚洲精品第一国产综合野| 国产福利一区二区三区视频在线| 欧美三级乱人伦电影| 国产精品电影一区二区| 国产在线精品一区二区不卡了| 精品视频色一区| 亚洲色图欧美偷拍| 国产成人精品三级| 欧美tk—视频vk| 午夜欧美视频在线观看| 日本乱码高清不卡字幕| 国产精品入口麻豆九色| 久久国产精品色| 91精品国产91久久综合桃花| 亚洲女人小视频在线观看| 丁香天五香天堂综合| 久久精品人人爽人人爽| 久久精品国产99久久6| 欧美电影一区二区| 亚洲国产日韩一区二区| 91在线观看一区二区| 欧美激情中文不卡| 国产69精品一区二区亚洲孕妇 | 激情综合五月婷婷| 91精品国产色综合久久不卡蜜臀| 亚洲一区二区免费视频| 在线免费观看日本一区| 一区二区在线观看视频| 在线观看亚洲成人| 亚洲综合在线第一页| 欧美亚洲一区二区在线观看| 樱桃视频在线观看一区| 91久久精品网| 夜色激情一区二区| 91精品国产乱码| 久久超碰97人人做人人爱|