⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 data.c

📁 一款收款机C源代码!因为是几年前的代码了
💻 C
📖 第 1 页 / 共 3 页
字号:
																0:	Did't print the sub total information
																*/
																
byte 					Flag_Prn_Head;     			/* The sale modes receipt head printed or not
     					                      			1: Has print the receipt head.
     					                      			0: Did't print the receipt head.
		     					                    		*/
byte 					Void_Mode;						/* Use the REGISTER mode VOID operation of 
																use preset price void or use input price void
																1:	Use preset price void.
																0:	Use input price void.
																*/
byte					Item_Mode;						/* The DEPT or PLU operation mode.
																1:	Multiplicative operation mode
																0:	Normal operation mode
																*/

byte                TaxFlag[MAX_TAX_NUM];       /* the tax 1 status of dept * 0: no taxable 1: taxable */
byte  				Tax1Flag;      				/* the tax 1 status of dept * 0: no taxable 1: taxable */
byte  				Tax2Flag;      				/* the tax 2 status of dept * 0: no taxable 1: taxable */
byte  				Tax3Flag;      				/* the tax 3 status of dept * 0: no taxable 1: taxable */
byte				VAT_Idx;							/* The VAT index number */
byte  				shift_flag[MAX_TAX_NUM];   				/* tax 1 shift flag:
																1: [tax shift x] key pressed uneven times
																0: [tax shift x] is not pressed or press even times
																*/
byte  				shift1_flag;   				/* tax 1 shift flag:
																1: [tax shift 1] key pressed uneven times
																0: [tax shift 1] is not pressed or press even times
																*/
byte  				shift2_flag;   				/* tax 2 shift flag:
																1: [tax shift 2] key pressed uneven times
																0: [tax shift 2] is not pressed or press even times
																*/
byte  				shift3_flag;   				/* tax 3 shift flag:
																1: [tax shift 3] key pressed uneven times
																0: [tax shift 3] is not pressed or press even times
																*/
byte					Tax_Emp_Flag;					/* Tax exempt flag:
																1:	[tax exempt] key pressed uneven times, can do exempt the tax.
																0:	[tax exempt] key pressed uneven times, can't do exempt the tax.
																*/

long 					ltmp;								/* The sale mode, store the tax value */
long 					per_tmp;							/* The calculate percentage function temporary variable */
long 					Per_Rate;						/* Percentage rate temporary variable */
long 					NetAmtBak;            		/* Backup the net amount, for the use 
																in the hour report and clerk report */
DoubleLong 			DLVar1;               		/* For the used in double long computing */

#ifdef FCE_FUNC		/* Support the FCE function */
byte					FCE_Idx;							/* Store the FCE operation index number */
long					bak_fce_input;					/* Backup the FCE input */
#endif /* End FCE_FUNC */

DoubleLong			Calc_Result;					/* The calculator function temporary result */
byte					Calc_Flag;						/* The calculator function flag
																1:	Allow get the logical code
																0:	Disallow get the logical code
																*/
byte					Calc_Sign;						/* The calculator function data input sign */


/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *
			Report mode temporary variables
 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
long 					Idvul_Qty;						/* The individual report total quantity or total count */
long 					Idvul_Amt;						/* The individual rpeort total amount */
byte 					zero_skip_flag;				/* The report mode zero-skip is allowed or not when print
																quantity,count,amount
																1:	support the zero skip;
																0:	Do not support the zero skip
																*/
byte                    Rpt_Disp_Roll_flag;         /*在 GetIn() 函数中判断是否要返回 KD_PAGE_UP/KD_PAGE_DOWN ...*/

/*-----------------------------------------------------------------*
				The extend versions
 *-----------------------------------------------------------------*/

byte					Head_Prn_Flag;					/* The flush print head print flag
																1: print the head.
																0: Not print the head.
																*/
#ifdef VER_RSNT			/* Support the restaurant function */
byte					work_mode;						/* The Retail mode or the Restaurant mode flag.
																0x55: Retail mode
																0xAA:	Restaurant mode
																*/
byte					currtable;						/* The current table number */
byte					bakwaiterno;					/* Backup the waiter number */
byte					waiter_input_flag;			/* Input the waiters password flag
																0: Not the inputing waiters password
																1: Inputing the waiters password
																*/
byte					Open_flag;						/* The table open wait the clerk password input flag,
																this flag judge the clerk password input is 
																in the open table mode or not
																1:	In the open table mode
																0:	Not in the open table mode
																*/
byte					prn_LstSpndAmt_flag;			/* Print the last suspend amounts flag
																1: print
																0: not print
																*/
byte					bak_dec_flag;					/* Backup the dec_flag */
#endif	/* End VER_RSNT */

#ifdef	SCANNER			/* Support the scanner function */
byte   				CodeBuf[32];   		// the bar code buffer which is used for original data
byte   				BarCnt = 0;        	// the digits count of received bar code
byte					BarCnt_bak;				/* Backup the BarCnt */
byte					CodeBuf_Bak[32];			/* Backup the CodeBuf */
byte   				BarRecFlag = 0;   	// 1:  Bar code is received; 0:No bar code received   
byte   				ProgBar = 0;       	// 1: indicates the Bar code number is programming
byte					BarInFlag;						/* The manual bar code input flag
																1: In the GetIn function, has input the bar number
																0:	In the GetIn function, did not input the bar number
																*/
byte 					BCDbuf[BAR_BUFF_LEN];
byte 					Barbuf[14];
int 					Sindex[MAX_PLU_CNT];
#endif /* End SCANNER */

#ifdef	AUTO_PER				/* Support the department auto percent function */
byte					Auto_Per_Flag;					/* When do the department or PLU transaction, the auto
																percent is doing or not flag.
																1:	Doing the auto percent.
																0: not doing the auto percent.
																*/
long					bak_trans_amount;				/* Backup the trans.amount */
#endif /* End AUTO_PER */

/*--------------------------------------------------------------*/


/*************************************************************************
					The constant variables
*************************************************************************/
                                           
///*                   The const data                                  */
///*--------------------------------------------------------------------*
// *             The description of character code table                *
// *--------------------------------------------------------------------*/
//const 				byte code[11][11+1] = {  
//
//			0x30,	0x31,	0x32,	0x33,	0x34,	0x35,	0x36,	0x37,	0x38,	0x39, 0x20, 0x00,
//			0x2D,	0x2B, 0x23, 0x2E,	0x20,	0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x00,
//			0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x00,
//			0x52,	0x53,	0x54,	0x55,	0x56, 0x57,	0x58,	0x59,	0x5A, 0x61,	0x62,	0x00,
//			0x63,	0x64,	0x65,	0x66,	0x67,	0x68,	0x69,	0x6A,	0x6B, 0x6C, 0x6D,	0x00,
//			0x6E, 0x6F, 0x70, 0x71, 0x72, 0x73, 0x74,	0x75, 0x76, 0x77,	0x78,	0x00,
//			0x79,	0x7A, ' ',	' ',	' ',	' ',	' ',	' ',	' ',	0x24,	' ',	0x00,
//			0x28,	0x29,	0x2F,	0x25,	0x21,	0x22,	0x26,	0x2A,	' ',	' ',	0x3A,	0x00,
//			0x27,	0x2C,	0x3C,	0x3D,	0x3E,	0x3F,	' ',	' ',	' ',	' ',	0x3B,	0x00,
//			' ',	0x40,	0x5E,	' ',	' ',	' ',	' ',	' ',	' ',	32,	32,	0x00,
//			32,	32,	32,	32,	32,	32,	32,	32,	32,	32,	32,	0x00
//
////						/*|-->> 1st*/
////						/*		  */
////						/* _ */	"0123456789 ",
////						/* | */  "-+#. ABCDEF",
////						/* | */  "GHIJKLMNOPQ",
////						/* V */  "RSTUVWXYZab",
////						/* V */  "cdefghijklm",
////						/* 2 */  "nopqrstuvwx",
////						/* n */  "yz       $ ",
////						/* d */  "()/%!\"&*  :",
////						   		"\',<=>?    ;",
////						   		" @^    \\   ",
////						   		"           "
//
//
//	/*-->1st:0		1		2		3		4		5		6		7		8		9		00
//	
//	2nd:	 -	- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
//		0	|	0	|	1	|	2	|	3	|	4	|	5	|	6	|	7	|	8	|	9	|	 	|
//			 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
//		1	|	-	|	+	|	#	|	.	|	 	|	A	|	B	|	C	|	D	|	E	|	F	|
//			 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
//		2	|	G	|	H	|	I	|	J	|	K	|	L	|	M	|	N	|	O	|	P	|	Q	|
//			 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
//		3	|	R	|	S	|	T	|	U	|	V	|	W	|	X	|	Y	|	Z	|	a	|	b	|
//			 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
//		4	|	c	|	d	|	e	|	f	|	g	|	h	|	i	|	j	|	k	|	l	|	m	|
//			 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
//		5	|	n	|	o	|	p	|	q	|	r	|	s	|	t	|	u	|	v	|	w	|	x	|
//			 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
//		6	|	y	|	z	|	 	|	 	|	 	|	 	|	 	|	 	|	 	|	$	|	 	|
//			 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
//		7	|	(	|	)	|	/	|	%	|	!	|	"	|	&	|	*	|	 	|	 	|	:	|
//			 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
//		8	|	'	|	,	|	<	|	=	|	>	|	?	|	 	|	 	|	 	|	 	|	;	|
//			 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
//		9	|	 	|	@	|	^	|	 	|	 	|	 	|	 	|	\	|	 	|	 	|	 	|
//			 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
//		00	|	 	|	 	|	 	|	 	|	 	|	 	|	 	|	 	|	 	|	 	|	 	|
//			 -	- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
//	*/
//};
//

const CHR         cw_data[4] = { 0x00,0x08,0x18,0x10 };


/*----------------------------------------------------------------------*
							The new add:
 *----------------------------------------------------------------------*/
word					BaudRate;						/* Store the baud rate settings(PORT0) */
word					wmtor_timmer;

//word					set_timmer;
byte					PPLU_Group_Flag;				/* Program the PLU group flag
																1: In the Program PLU group mode.
																0: Not in the program PLU group mode.
																*/

//byte					Dept_Shift_Inc;				/* The department shift increment counter */

#ifdef RCPT_REPRN			/* Support the receipt reprint function */
byte					Rcpt_RePrn_Cnt;				/* The receipt reprint counter */

//byte					Max_Reprn_Cnt;					/* The max receipt reprint times */

byte					Rcpt_Reprn_Flag;				/* Doing the receipt reprint operation or not
																1: Doing the receipt reprint.
																0: Not in doing the receipt reprint
																*/
TRANSBUFFDEF		BakTnsBf[MAX_TNSBF_LEN];	/* The backup of the transaction buffer */
byte					BakTnsBf_Len;					/* The backup transaction buffer length */
#endif /* End RCPT_REPRN */

// New:
byte					Logo_Prn_Flag;					/* Print the Logo flag in sale mode
																0: Not print the logo.
																1: Print the logo
																*/
byte					pass_flag;						/* Used in the program/Zreport mode, and act in the function 'GetIn'
																1: Inputing the password, not to dispaly the input digit
																0: Can display the input digit

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -