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

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

?? sale2.c

?? 一款收款機C源代碼!因為是幾年前的代碼了
?? C
?? 第 1 頁 / 共 5 頁
字號:
//								dc_jrnl_len = 0;
//							}
//							else
//							{
////								elec_jrnl = (ELECJRNLHEADDEF *)(&(dc_jrnl[dc_jrnl_last]));
//								elec_jrnl = get_jrnl_head(dc_jrnl_last_ptr);
//								tmp = elec_jrnl->length;
//								dc_jrnl_last = (dc_jrnl_last +tmp) % Max_Dc_Jrnl_No;
//							}
//						}
						cnt ++;
						store_head_step = 2;
						store_dc_item((TRANSBUFFDEF *)(&elec_jrnl_head), cnt);
						store_head_step = 0;
					}
					cnt ++;
					store_dc_item(&transbuff[i-1], cnt);
					cnt ++;
					store_dc_item(&transbuff[i], cnt);
					break;

				case TS_PER_SUBT:
					if(cnt == 0)
					{
//						if(dc_jrnl_len != 0)
//						{
//				//			tmp = dc_jrnl[dc_jrnl_last].length;
////							elec_jrnl = (ELECJRNLHEADDEF *)(&(dc_jrnl[dc_jrnl_first]));
//							elec_jrnl = get_jrnl_head(dc_jrnl_first_ptr);
//							if(elec_jrnl->length == Max_Dc_Jrnl_No)			/* Only store one transaction buffer */
//							{
//								dc_jrnl_first = dc_jrnl_last = 0;
//								dc_jrnl_len = 0;
//							}
//							else
//							{
////								elec_jrnl = (ELECJRNLHEADDEF *)(&(dc_jrnl[dc_jrnl_last]));
//								elec_jrnl = get_jrnl_head(dc_jrnl_last_ptr);
//								tmp = elec_jrnl->length;
//								dc_jrnl_last = (dc_jrnl_last +tmp) % Max_Dc_Jrnl_No;
//							}
//						}
						cnt ++;
						store_head_step = 2;
						store_dc_item((TRANSBUFFDEF *)(&elec_jrnl_head), cnt);
						store_head_step = 0;
					}
					cnt ++;
					store_dc_item(&transbuff[i], cnt);
					break;

				default:
					break;
			}
		} // end for
		if(cnt > Max_Dc_Jrnl_No)
		{
			dc_jrnl_first = dc_jrnl_last = 0;
			dc_jrnl_len = 0;
		}
		else
		{
			if(cnt != 0)
			{
//				elec_jrnl = (ELECJRNLHEADDEF *)(&(dc_jrnl[dc_jrnl_last]));
//				elec_jrnl->length = cnt;
				store_head_step = 3;
				fls_store_dc_item((byte *)(&elec_jrnl_head), cnt);
				store_head_step = 0;
			}
			dc_jrnl_last -= dc_jrnl_first;
			dc_jrnl_first = 0;
		}
	}

	/* Update the R.M. journal */
	elec_jrnl_head.ID = TS_RM_JRNL;
	if(Max_Rm_Jrnl_No >= 2)			/* If the length smaller than 2, not to store the R.M. journal */
	{
		cnt = 0;
//		cnt ++;
//		store_rm_item((TRANSBUFFDEF *)(&elec_jrnl_head), cnt);
		for(i = 0; i < TnsBf_Len; i ++)
		{
			ID = transbuff[i].ID & 0x1F;
			switch(ID)
			{
				case TS_RM_DEPT:
				case TS_RM_PLU:
					if(cnt == 0)
					{
//						if(rm_jrnl_len != 0)
//						{
////							elec_jrnl = (ELECJRNLHEADDEF *)(&(rm_jrnl[rm_jrnl_first]));
//							elec_jrnl = get_jrnl_head(rm_jrnl_first_ptr);
//							if(elec_jrnl->length == Max_Rm_Jrnl_No)			/* Only store one transaction buffer */
//							{
//								rm_jrnl_first = rm_jrnl_last = 0;
//								rm_jrnl_len = 0;
//							}
//							else
//							{
////								elec_jrnl = (ELECJRNLHEADDEF *)(&(rm_jrnl[rm_jrnl_last]));
//								elec_jrnl = get_jrnl_head(rm_jrnl_last_ptr);
//								tmp = elec_jrnl->length;
//								rm_jrnl_last = (rm_jrnl_last +tmp) % Max_Rm_Jrnl_No;
//							}
//						}
						cnt ++;
						store_head_step = 2;
						store_rm_item((TRANSBUFFDEF *)(&elec_jrnl_head), cnt);
						store_head_step = 0;
					}
					cnt ++;
					store_rm_item(&transbuff[i], cnt);
					#ifdef	REST_PLU_FUNC			/* Also store the slave PLU */
					{
						byte	abc;
						byte	tmpid;
						for(abc = i + 1; abc < TnsBf_Len; abc ++)
						{
							tmpid = transbuff[abc].ID & 0x1F;
							if((tmpid == TS_PLU_DESC) || (tmpid == TS_RM_PLU_GIFT))		/* The slave PLU */
							{
								cnt ++;
								store_rm_item(&transbuff[abc], cnt);
							}
							else			/* Not the slave PLU, break */
							{
								break;
							}
						}
					}
					#endif
					break;

				#ifdef	REST_PLU_FUNC
				case	TS_MENU_HEAD:	/* The menu operation, check it whether it is the return merchandise operation */
					if((transbuff[i+1].ID&0x1F) == TS_RM_PLU)			/* The return merchandise operation */
					{
						if(cnt == 0)
						{
							cnt ++;
							store_head_step = 2;
							store_rm_item((TRANSBUFFDEF *)(&elec_jrnl_head), cnt);
							store_head_step = 0;
						}
						{
							byte	tmpid;
							while(i < TnsBf_Len)
							{
								cnt ++;
								store_rm_item(&transbuff[i], cnt);
								tmpid = transbuff[i].ID & 0x1F;
								if(tmpid == TS_MENU_REAR)
									break;
								i ++;
							}
						}
					}
					break;
				#endif

				default:
					break;
			}
		} // end for
		if(cnt > Max_Rm_Jrnl_No)
		{
			rm_jrnl_first = rm_jrnl_last = 0;
			rm_jrnl_len = 0;
		}
		else
		{
			if(cnt != 0)
			{
//				elec_jrnl = (ELECJRNLHEADDEF *)(&(rm_jrnl[rm_jrnl_last]));
//				elec_jrnl->length = cnt;
				store_head_step = 3;
				fls_store_rm_item((byte *)(&elec_jrnl_head), cnt);
				store_head_step = 0;
			}
			rm_jrnl_last -= rm_jrnl_first;
			rm_jrnl_first = 0;
		}
	}
}
#endif /* End ELEC_JRNL */

/* Process the weight PLU */
byte	Weight_PLU_Process(void)
{
	byte	tmp_buf[BAR_BUFF_LEN];
	long	tmp;
	long	price;
	int	Idx;

	if((pluenflag) || (Void_flag) || (Mul_flag))
	{
		errorType(ERR_KEY_SEQ);
		return (NG);
	}
	tmp = get_wgt_pric(BCDbuf);			/* Get the weight or the price from the bar code */
	if(sysflag->wgt_bar.flag == PRIC)
		sysflag->wgt_bar.reg_amount = tmp;
	else // wgt_bar.flag == WGT
		sysflag->wgt_bar.reg_count = tmp;
	memcpy(tmp_buf, BCDbuf, BAR_BUFF_LEN);
	Do_Weight_PLU(tmp_buf, BCDbuf);
	if ((Idx = SC_SearchIndex(BCDbuf)) < 0)
		{errorType(ERR_BAR_EXIST); return (NG);}
	else
	{
		Idx = Sindex[Idx];
		if(plu[Idx].price == 0)
		{
			errorType(ERR_ZERO_TRANS);
			return (NG);
		}
		lnum = Idx + 1;		/* The index number */
		numcnt = 4;				/* Set a not zero data */
	}
	if(sysflag->wgt_bar.flag == PRIC)
	{
		sysflag->wgt_bar.reg_count = Sale_Div(sysflag->wgt_bar.reg_amount, sysflag->sysdots, plu[Idx].price, sysflag->sysdots, sysflag->xCount_round, 3);		/* Get the quantity */
	}
	else
	{
		sysflag->wgt_bar.reg_amount = Sale_Mul(sysflag->wgt_bar.reg_count, 3, plu[Idx].price, sysflag->sysdots, sysflag->xCount_round, 2);			/* Get the amount */
	}
	if(sysflag->wgt_bar.reg_count != 1000)
	{
		Mul_flag = 1;
		tmp_count = sysflag->wgt_bar.reg_count;
	}
	sysflag->wgt_bar.reg_flag = 1;
	return (OK);
}

#ifdef	REST_PLU_FUNC
byte Chk_MenuBuff_Full(byte tmp_length)
{
   if(TnsBf_Len+tmp_length >= (Max_TnsBf_Len-1))			/* Save one byte for reserved, such as auto percent and so on */
	{														/* Indicate the transaction buffer length */
		errorType(ERR_FULL_ITEM);
		return(NG);
	}

	return (OK);
}
byte  cal_sale_plu_length(word Idx)           /*cal do_plu*/
{
	byte plu_length;
	byte j;
	word tmp_idx;
	byte id_order;
	byte plink;
	plu_length=0;
	id_order=TS_NULL;

	if(plu[Idx].attr.inht == 0)					/* Inhibit attribute, continue */
		return (0);
	plu_length++;
	plink = plu[Idx].plink;										/*calculate the length of main plu*/
/*1>沒有考慮到禁止PLU,不占緩沖區
  2>沒有考慮到贈送plu的void處理.*/	
	for(j=0;j<MAX_PLUTAB_NO;j++)           	/*DESC PLU*/
	{
		if((Idx+1)==plu_relation_tab[j].mainplu)
		{
			tmp_idx=plu_relation_tab[j].slaveplu;/*calculate the length of slave plu*/
			if(tmp_idx==0)
				continue;
				
			if(plu[tmp_idx-1].attr.mode==PLU_DESC)
			{
				if(plu[tmp_idx-1].attr.inht==0)
				{
					continue;
				}
				plu_length++; 
			}
			if((plu[tmp_idx-1].attr.mode==PLU_GIFT)&&(Void_flag==0))
			{
				if(plu[tmp_idx-1].attr.inht==0)
				{
					continue;
				}
				plu_length++; 
			}				          			
		}
	} 

   #ifdef AUTO_PER			/* Support the department auto percent function */
//	if((transbuff[TnsBf_Len-1].ID == TS_PLU_DESC)||(transbuff[TnsBf_Len-1].ID == TS_PLU_GIFT))   									
   {
   	id_order=TS_PLU; 
   }  
	if(Void_flag==1)
	{
		id_order=TS_VD_PLU;
   }	
   if(RM_flag==1)
	{
		id_order=TS_RM_PLU;
   }	
   if((dept[plink-1].per_rate != 0) && (sysflag->Auto_Per_Use_Flag == 1) &&( id_order==TS_PLU ))
   	plu_length++;
   #endif
   return(plu_length);
///////////////*calculate the length of menu end*///////////////////////// 	
}


byte cal_menu_len(word Idx,byte length)
{
	byte i,j;
   word tmp_idx;
//   word tmp_slave_idx;
   byte tmp_length;
   byte inht_count;

   menu_length=0;
   inht_count=0;
	tmp_length=0;

	for(i=0;i<length;i++)
   {
   	tmp_idx=Menu_Table[Idx].menu_plu[i];	/*get PLU no*/
//            	if((tmp_idx == 0) || (tmp_idx > Max_Plu_No))
//		    			{errorType(ERR_DIGIT_ILLEGAL);break;}

   	if(plu[tmp_idx-1].attr.inht==0)/*process the habit plu*/
		{
			inht_count++;
			continue;
		}
		tmp_idx--;
		tmp_length+=cal_sale_plu_length(tmp_idx);
	}
	if(inht_count==length)
	{
		errorType(ERR_MENU_INBT);
		return(NG);
	}  

/////////////////*calculate the length of menu*///////////////////////// 				
   menu_length=tmp_length+1+1; 		/* 頭和尾, 所以長度加了2 */
   return(OK);
}

/* Get the last operation's ID */
byte	get_last_oper_id(void)
{
	byte	i = 0;
	byte	id;
	byte	id_order = TS_NULL;

	if(TnsBf_Len)
	{
		i = TnsBf_Len;
		while(i)
		{
			i --;
			id = transbuff[i].ID & 0x1F;
			if((id != TS_PLU_DESC) && (id != TS_PLU_GIFT) && (id != TS_RM_PLU_GIFT) 
				&& (id != TS_AUTO_PER_DEPT) && (id != TS_AUTO_PER_PLU))
			{
				id_order = id;
				break;
			}
		}
	}
	id_order_posi = i;
	return (id_order);
}
#endif

void	prn_pre_item_head(void)
{
	if(sysflag->prn_tab_pre_posi == 1)			/* Print the sales item when open a active table */
		return;
//	prn_Line('=');
	memcpy(prn_Buf+1, Str_Pre_Item, MAX_PRN_LEN);
	print();
}

/* Print the previous item */
void	prn_tbl_pre_item(void)
{
	byte			i;
	Inter_Var	bak_tmpvars;

	prn_tab_pre_flag = 1;
	if(Flag_Prn_Head)
		prn_pre_item_head();
	/*****************************************************/
					/* Save the data */
	memcpy(&bak_tmpvars, &tmpvars, sizeof(Inter_Var));
	memset(&tmpvars, 0, sizeof(Inter_Var));
	/*****************************************************/

	for(i = 0; i < table_awake_len; i ++)
	{
		if((transbuff[i].ID&0x1F) == TS_EC)		/* Error correct operation, not to print it */
			continue;
		Update_Tmpvars(transbuff[i], POSITIVE);	/* Update the structure variable tmpvars */
		Sale_Prn(transbuff[i]);
	}

	/*****************************************************/
					/* Revert the data */
	memcpy(&tmpvars, &bak_tmpvars, sizeof(Inter_Var));
	/*****************************************************/
	prn_tab_pre_flag = 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩av电影天堂| 色哟哟国产精品免费观看| 丝袜国产日韩另类美女| 日韩理论片中文av| 自拍偷拍亚洲激情| 亚洲三级在线看| 亚洲美女视频在线观看| 亚洲婷婷在线视频| 亚洲欧美日韩精品久久久久| 亚洲欧美一区二区久久 | 亚洲mv在线观看| 亚洲一区二三区| 亚洲一二三四在线| 亚洲v精品v日韩v欧美v专区| 丝袜亚洲另类丝袜在线| 日日嗨av一区二区三区四区| 五月婷婷激情综合网| 琪琪一区二区三区| 男男gaygay亚洲| 国产一区二区福利| 不卡一区在线观看| 色婷婷久久久久swag精品| 色婷婷综合视频在线观看| 欧美三级一区二区| 日韩欧美国产精品| 国产情人综合久久777777| 亚洲欧美综合在线精品| 亚洲人成在线播放网站岛国| 午夜精品一区在线观看| 美女视频黄 久久| 国产成人av自拍| 91亚洲精华国产精华精华液| 色婷婷精品久久二区二区蜜臂av| 欧美日韩日本视频| 精品久久久久久综合日本欧美| 久久精品一区二区| 中文字幕中文字幕一区二区| 亚洲成人av一区| 国产自产v一区二区三区c| 成人看片黄a免费看在线| 色综合久久88色综合天天6| 4438亚洲最大| 国产欧美精品在线观看| 亚洲一区二区高清| 国产一区二区三区在线观看免费 | 亚洲日本在线a| 天堂久久一区二区三区| 国产风韵犹存在线视精品| 欧美熟乱第一页| 欧美国产综合色视频| 亚瑟在线精品视频| 国产成人精品一区二区三区四区 | 国产suv精品一区二区883| 91福利国产精品| 精品国产一区二区精华| 亚洲精品国产a久久久久久 | 日韩欧美一级精品久久| 亚洲视频免费在线观看| 精品午夜一区二区三区在线观看| 色拍拍在线精品视频8848| 337p粉嫩大胆色噜噜噜噜亚洲| 亚洲视频精选在线| 久久99精品国产麻豆不卡| 91啪九色porn原创视频在线观看| 日韩欧美一级特黄在线播放| 亚洲欧美一区二区久久| 国产在线精品免费av| 欧美亚洲免费在线一区| 中文字幕高清一区| 久久er99精品| 欧美精品1区2区| 亚洲精品免费一二三区| 国产高清精品久久久久| 91精品国产综合久久婷婷香蕉| 亚洲图片欧美激情| 国产精一区二区三区| 欧美一二三区在线观看| 一二三区精品福利视频| 成人精品在线视频观看| 日韩精品一区二区三区中文精品| 亚洲国产美女搞黄色| 99在线热播精品免费| 精品国产伦一区二区三区免费| 亚洲国产一区二区三区| 色婷婷久久久综合中文字幕| 中文字幕+乱码+中文字幕一区| 国模冰冰炮一区二区| 欧美一区二区三区喷汁尤物| 亚洲一区二区欧美| 色综合久久66| **性色生活片久久毛片| 成人免费视频app| 日本一区二区三区四区| 国产精品一区专区| 久久综合中文字幕| 久久精品国产亚洲高清剧情介绍 | 欧美韩国日本不卡| 国产精品一二一区| 337p日本欧洲亚洲大胆精品 | 久草精品在线观看| 日韩精品影音先锋| 蜜臀av一区二区在线观看| 欧美二区在线观看| 肉丝袜脚交视频一区二区| 欧美日韩一二三| 日本欧洲一区二区| 精品欧美久久久| 国产精品亚洲成人| 中文字幕av不卡| 99久久精品一区| 综合亚洲深深色噜噜狠狠网站| 91麻豆成人久久精品二区三区| 亚洲欧美色综合| 欧美丝袜第三区| 日本不卡一区二区| 欧美精品一区二区三区蜜桃视频| 国产综合色在线| 中文字幕欧美激情| 99久久婷婷国产综合精品电影 | 91蝌蚪porny成人天涯| 亚洲欧美日韩国产另类专区| 91国偷自产一区二区开放时间| 午夜精品爽啪视频| 欧美一区二区视频在线观看2020 | 欧美日韩一区二区在线观看| 午夜视频久久久久久| 日韩欧美www| 国产一区二区成人久久免费影院| 欧美激情一区在线| 色菇凉天天综合网| 免费视频最近日韩| 国产精品网站一区| 91久久精品午夜一区二区| 日本在线播放一区二区三区| 久久久久久久久久久久久女国产乱| 成人免费观看男女羞羞视频| 亚洲三级免费观看| 欧美一区二区三区啪啪| 国产盗摄女厕一区二区三区| 亚洲免费观看视频| 日韩一区二区视频| 成人一区二区三区视频在线观看| 亚洲免费成人av| 欧美成人三级电影在线| 99re热视频精品| 婷婷综合五月天| 欧美国产精品一区二区三区| 色偷偷久久人人79超碰人人澡| 久久精品国产精品青草| 国产精品久久免费看| 在线播放中文一区| 成人动漫av在线| 免费看日韩精品| 亚洲欧美怡红院| 日韩视频免费观看高清完整版| 成人性生交大片免费看中文| 日韩精品色哟哟| 综合久久一区二区三区| 日韩美一区二区三区| 91黄视频在线观看| 国产精品一区二区三区乱码| 亚洲成人中文在线| 国产精品久久久久三级| 日韩一级视频免费观看在线| av日韩在线网站| 国产一本一道久久香蕉| 性做久久久久久| 国产精品美女久久久久久久| 日韩精品一区二区三区视频 | 丁香六月综合激情| 日韩国产欧美在线播放| 18成人在线视频| 精品99久久久久久| 欧美男男青年gay1069videost| 国产成人在线电影| 日本不卡一二三区黄网| 亚洲男人的天堂在线观看| 久久久久国产一区二区三区四区| 欧美另类高清zo欧美| 97久久精品人人做人人爽| 国产麻豆成人精品| 日本欧美在线看| 一区二区三区四区av| 国产精品久久久久久久久图文区| 精品日韩欧美一区二区| 欧美日韩精品电影| av一区二区久久| 国产风韵犹存在线视精品| 男人的天堂久久精品| 亚洲影院久久精品| 中文字幕中文字幕在线一区| 国产亚洲精品aa午夜观看| 精品噜噜噜噜久久久久久久久试看 | 日本va欧美va精品| 一区二区三国产精华液| 亚洲人成精品久久久久| 国产精品视频在线看| 久久精品无码一区二区三区| 欧美精品一区二区久久久| 欧美一级黄色大片|