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

📄 insurances.c

📁 基于单片机的SIM卡类CPU卡读写器源代码
💻 C
字号:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <api.h>
#include <ExEH0218.h>
#include "Health.h"

void displayIinfo(InsInfo *info)
{
	char DisInfo[300];
	BROWINFO	bi;
	//display info
	memset(DisInfo,' ',sizeof(DisInfo));
	DispStr_E(0,0,"Insurances Info",DISP_CENTER|DISP_CLRSCR);
	//memcpy(DisInfo+1,"Insurances Info",15);
	memcpy(DisInfo,"InsName:",8);
	memcpy(DisInfo+17,info->InsName,15);
	memcpy(DisInfo+32,"PolicyNum:",10);
	memcpy(DisInfo+49,info->PolicyNum,15);
	memcpy(DisInfo+64,"GroupName:",10);
	memcpy(DisInfo+81,info->GroupName,15);
	
	memcpy(DisInfo+96,"GroupNum:",9);
	memcpy(DisInfo+113,info->GroupNum,15);
	
	memcpy(DisInfo+128,"InsPhone:",9);//
	memcpy(DisInfo+145,info->InsPhone,15);
	
	DisInfo[160] = 0;
	bi.iStr = DisInfo;
	bi.mInt = 11;
	bi.lineMax = 16;
	bi.sFont = 0;
	bi.startLine = 1;
	bi.dispLines = 3;
	bi.numEnable = 1;
	bi.qEvent = EXIT_KEY_F1;
	brow_info(&bi);
	
	return ;		
}


/**************************************************************
Function Name:Insurances
describe: Display personal information
调用函数:NO
全局变量:
输入:	  NO
返回:    NO
修改:
*************************************************************/


void Insurances(void)
{
	const char immenu[4*16+2] = "1.Primary Ins   2.Secondary Ins 3.Third Ins     4.Fourth Ins    ";
	BROWINFO	ibi;
	unsigned char Card_Read_Buff[500];
	int 	ret,kind;
	InsInfo Iinfo;

	
	ibi.lPtr = ibi.cPtr = 0;
	while(1)
	{
		 
		clr_scr();					//	clear screen
		ibi.iStr = (char *)immenu;
		ibi.mInt = 4;
		ibi.lineMax = 16;
		ibi.sFont = 0;
		ibi.numEnable = 1; 				
		ibi.startLine = 0;
		ibi.dispLines = 4;
		ibi.qEvent = EXIT_KEY_POWER|EXIT_AUTO_QUIT|EXIT_KEY_F1;		//	Enter[F3]and [POWER] exit
		ibi.autoexit = 30;				//	30s auto power off  
		kind = brow_select( &ibi );		//	显示主菜单
		
		if ( ibi.qEvent==EXIT_KEY_F1 )
		{
			return;
		}
		
		//DispStr_E(0,3,"Insert Card",DISP_CENTER|DISP_CLRSCR);
		//delay_and_wait_key( 10, EXIT_KEY_ALL, 0 );
  	//DispStr_E(0,3,"Please Wait",DISP_CENTER|DISP_CLRSCR);		
		ret = 1;
		
		switch(kind)
		{
		   case 0: 
		   		//readcard function
  				memset(&Iinfo,0,sizeof(InsInfo));
  				memset(Card_Read_Buff,0,500);
  				ret = Insurance1Info(Card_Read_Buff);
					//Card_Read_Buff = "8ef3ec8a-59c2-4693-a569-313038da47e4|Dunegan|John|k|||11/24/2005 12:00:00 AM|125456544|M|1234567||1333 Corporate Dr.|suite 360|||Irving|TX|75038||8664886633|123456456489484|8889990000|||jdunegan@healthmeans.com||Catholic|Japanese|healthmeans|1234 abc drive|suite 123|dallas|TX|75038|sales|12/28/2005 12:00:00 AM|False|English||||Single|Full Time|1/18/2006 10:37:04 AM";
		   		 
		   		break; 		// PERSONAL INFORMATION
		   case 1: 
		   		//readcard function
  				memset(&Iinfo,0,sizeof(InsInfo));
  				memset(Card_Read_Buff,0,500);
  				ret = Insurance2Info(Card_Read_Buff);
		   		break;
		   case 2: 
		   		//readcard function
  				memset(&Iinfo,0,sizeof(InsInfo));
  				memset(Card_Read_Buff,0,500);
  				ret = Insurance3Info(Card_Read_Buff);
		   		break;
		   case 3: 
		   		//readcard function
  				memset(&Iinfo,0,sizeof(InsInfo));
  				memset(Card_Read_Buff,0,500);
  				ret = Insurance4Info(Card_Read_Buff);
		   		break;
		} 
		 
		if (ret == 1 ) 
		{
				DispStr_E(0,3,"Read Card error",DISP_CENTER|DISP_CLRSCR);
				delay_and_wait_key( 10, EXIT_KEY_ALL, 0 );
				return;
		}		
		selectcode(Card_Read_Buff,Iinfo.InsName,1);
		selectcode(Card_Read_Buff,Iinfo.PolicyNum,3);
		selectcode(Card_Read_Buff,Iinfo.GroupName,4);
		selectcode(Card_Read_Buff,Iinfo.GroupNum,5);
		selectcode(Card_Read_Buff,Iinfo.InsPhone,16);
	
		displayIinfo(&Iinfo); 
		 
		  
	
	}
return ;	
}

⌨️ 快捷键说明

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