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

📄 relatives.c

📁 手持机读写GSM标准的CPU卡代码,包括手持机的液晶显示
💻 C
字号:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <api.h>
#include <ExEH0218.h>
#include "Health.h"

void displayRinfo(PerInfo *info)
{
	char DisInfo[300];
	BROWINFO	bi;
	//display info
	memset(DisInfo,' ',sizeof(DisInfo));
	memcpy(DisInfo+1,"Relatives Info",14);
	memcpy(DisInfo+16,"LN:",3);
	memcpy(DisInfo+19,info->Ln,13);
	memcpy(DisInfo+32,"FN:",3);
	memcpy(DisInfo+35,info->Fn,13);
	memcpy(DisInfo+48,"Relation:",9);
	memcpy(DisInfo+66,info->Relation,10);
	
	memcpy(DisInfo+80,"Gender:",7);
	memcpy(DisInfo+87,info->Gender,1);
	
	memcpy(DisInfo+96,"DOB:",4);//64
	memcpy(DisInfo+100,info->DOB,10);
	//memcpy(DisInfo+112,info->DOB+10,12);//80
	
	memcpy(DisInfo+112, "Addr.:",6);//96
	memcpy(DisInfo+118,info->Addr1,10);
	memcpy(DisInfo+128,info->Addr1+10,16);//112
	memcpy(DisInfo+144,info->Addr2,16);//128
	
	memcpy(DisInfo+160, "HP:",3);//144
	memcpy(DisInfo+163,info->HP,12);
	
	memcpy(DisInfo+176, "WP:",3);//160
	memcpy(DisInfo+179,info->WP,12);
	memcpy(DisInfo+191,info->WP+12,14);//176
	
	memcpy(DisInfo+208, "Ext:",4);//192
	memcpy(DisInfo+212,info->Ext,12);//196

	DisInfo[240] = 0;
	bi.iStr = DisInfo;
	bi.mInt = 14;
	bi.lineMax = 16;
	bi.sFont = 0;
	bi.startLine = 0;
	bi.dispLines = 4;
	bi.numEnable = 1;
	bi.qEvent = EXIT_KEY_F1;
	brow_info(&bi);
	
	return ;		
}



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


void Relatives(void)
{
	const char rmmenu[3*16+2] = "1.Next of Kin   2.Guarantor     3.Emergency Con.";
	BROWINFO	rbi;
	unsigned char Card_Read_Buff[500];
	PerInfo Rinfo;
	int ret,kind;
    
	rbi.lPtr = rbi.cPtr = 0;
	while(1)
	{		 
		clr_scr();					//	clear screen
		rbi.iStr = (char *)rmmenu;
		rbi.mInt = 3;
		rbi.lineMax = 16;
		rbi.sFont = 0;
		rbi.numEnable = 1; 				
		rbi.startLine = 0;
		rbi.dispLines = 4;
		rbi.qEvent = EXIT_KEY_F1;		//	Enter[F3]and [POWER] exit
		rbi.autoexit = 30;				//	30s auto power off  
		kind = brow_select( &rbi );		//	显示主菜单
		
		if ( rbi.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(&Rinfo,0,sizeof(PerInfo));
  					ret = NextOfKinInfo(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; 		
		   case 1: 
		   			memset(&Rinfo,0,sizeof(PerInfo));
		   			ret = GuarantorInfo(Card_Read_Buff);
		   			break;
		   case 2: 
		   			memset(&Rinfo,0,sizeof(PerInfo));
		   			ret = EmergencyInfo(Card_Read_Buff);
		   			break;	
		   default:
		   			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,Rinfo.Ln,1);
		selectcode(Card_Read_Buff,Rinfo.Fn,2);
		selectcode(Card_Read_Buff,Rinfo.Relation,35);
		selectcode(Card_Read_Buff,Rinfo.Gender,8);
		selectcode(Card_Read_Buff,Rinfo.DOB,6);
		selectcode(Card_Read_Buff,Rinfo.Addr1,11);
		selectcode(Card_Read_Buff,Rinfo.Addr2,12);
		selectcode(Card_Read_Buff,Rinfo.HP,17);
		selectcode(Card_Read_Buff,Rinfo.WP,18);
		selectcode(Card_Read_Buff,Rinfo.Ext,21);
	
		displayRinfo(&Rinfo);
		
	
	}
	return ;
}

⌨️ 快捷键说明

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