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

📄 terminalctrl.cpp

📁 基于指纹技术的学生考勤系统
💻 CPP
字号:
// TerminalCtrl.cpp : implementation file
//

#include "stdafx.h"
#include "FPSys.h"
#include "TerminalCtrl.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CTerminalCtrl dialog
extern long dwMachineNumber;
extern CString Weedday[7];
CString strLanguageType[3]={"English","Chinese","Korean"};
CString strLockCtrl[2]={"启动锁","不启动锁"};
CString strBand[6]={"1200 bps","2400 bps","4800 bps","9600 bps","19200 bps","38400 bps"};
CString strParityCheck[3]={"无","偶校验","奇校验"};
CString strStopBit[2]={"一个","两个"};
CString strSep[2]={"/","-"};

CTerminalCtrl::CTerminalCtrl(CWnd* pParent /*=NULL*/)
	: CDialog(CTerminalCtrl::IDD, pParent)
{
	//{{AFX_DATA_INIT(CTerminalCtrl)
	m_strGetInfo = _T("");
	//}}AFX_DATA_INIT
}


void CTerminalCtrl::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CTerminalCtrl)
	DDX_Control(pDX, IDC_COMBO_GET, m_cGetSelect);
	DDX_Control(pDX, IDC_FK528KMCTRL1, m_cfkCtrl);
	DDX_Text(pDX, IDC_EDIT_GETINFO, m_strGetInfo);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CTerminalCtrl, CDialog)
	//{{AFX_MSG_MAP(CTerminalCtrl)
	ON_CBN_SELCHANGE(IDC_COMBO_GET, OnSelchangeComboGet)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CTerminalCtrl message handlers

BOOL CTerminalCtrl::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	GetDlgItem(IDC_FK528KMCTRL1)->ShowWindow(SW_HIDE);
	m_cGetSelect.AddString("获取设备配置信息");
	m_cGetSelect.AddString("获取设备状态信息");
//	m_cGetSelect.AddString("获取设备工作状态");
	m_cGetSelect.AddString("获取设备当前时间");
	m_cGetSelect.AddString("获取设备序列号");
	m_cGetSelect.AddString("获取产品号");
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CTerminalCtrl::OnSelchangeComboGet() 
{
	// TODO: Add your control notification handler code here
	CString strRecvData;
	long cSelectItem;

	cSelectItem=m_cGetSelect.GetCurSel();
	switch(cSelectItem)
	{
		case 0:				//获取设备配置信息
			long dwInfo;
			long dwValue;
			long Info[12];
			for(dwInfo=1;dwInfo<=12;dwInfo++)
			{
				if(!m_cfkCtrl.GetDeviceInfo(dwMachineNumber,dwInfo,&dwValue))
				{
					Info[dwInfo-1]=-1;
					continue;
				}
				Info[dwInfo-1]=dwValue;
			}
			strRecvData.Format("1、最多管理人员:%d\r\n2、终端机号:%d\r\n3、设备语言:%s\r\n4、自动关机时间:%d分\r\n5、锁控制方式:%s\r\n6、警告的出入记录个数: %d\r\n7、警告的管理记录个数: %d\r\n8、确认间隔时间:%d\r\n9、波特率:%s\r\n10、奇偶校验:%s\r\n11、停止位:%s\r\n12、日期分隔符:%s",
						Info[0],	Info[1],	strLanguageType[Info[2]],	Info[3],	strLockCtrl[Info[4]],
						Info[5],Info[6],Info[7],strBand[Info[8]],	strParityCheck[Info[9]-1],
						strStopBit[Info[10]],	strSep[Info[11]]);
		//	RecvData.Format("%d",dwValue);
			break;
		case 1:				//获取设备状态信息
			long dwStatus;//,dwValue;
			long dwStatusValue[6];
			for(dwStatus=1;dwStatus<=6;dwStatus++)
			{
				if(!m_cfkCtrl.GetDeviceStatus(dwMachineNumber,dwStatus,&dwValue))
					MessageBox("获取设备状态信息失败!");
				dwStatusValue[dwStatus-1]=dwValue;
			}
			strRecvData.Format("管理者总数:%d\r\n用户总数:%d\r\n指纹总数:%d\r\n密码总数:%d\r\n管理记录个数:%d\r\n出入记录个数: %d",
				dwStatusValue[0],dwStatusValue[1],dwStatusValue[2],dwStatusValue[3],
				dwStatusValue[4],dwStatusValue[5]);
			break;
//		case 2:				//获取设备工作状态

//			break;
		case 2:				//获取设备当前时间
			long dwYear,dwMonth,dwDay;
			long dwHour,dwMinute;
			long dwDayOfWeek;
			if(!m_cfkCtrl.GetDeviceTime(dwMachineNumber,&dwYear,&dwMonth,&dwDay,
 										&dwHour,&dwMinute,&dwDayOfWeek))
			 		MessageBox("获取设备时间失败!");
			strRecvData.Format("当前日期: %d-%d-%d\r\n星期%s\r\n当前时间: %d:%d\r\n",
								dwYear,dwMonth,dwDay,Weedday[dwDayOfWeek-1],dwHour,dwMinute);
			break;
		case 3:				//获取设备序列号
			unsigned short *dwSerialNumber;
			if(!m_cfkCtrl.GetSerialNumber(dwMachineNumber,&dwSerialNumber))
				strRecvData="获取设备序列号失败!";
			strRecvData.Format("%d",dwSerialNumber);
			break;
		case 4:				//获取产品号
			unsigned short *lpszProductCode;
			if(!m_cfkCtrl.GetProductCode(dwMachineNumber,&lpszProductCode))
				strRecvData="获取产品号失败!";
			strRecvData.Format("%d",lpszProductCode);
			break;
	}
	m_strGetInfo=strRecvData;
	UpdateData(FALSE);
}

⌨️ 快捷键说明

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