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

📄 devicedlg.cpp

📁 APIDemo源码
💻 CPP
字号:
// DeviceDlg.cpp : implementation file
//

#include "stdafx.h"
#include "APIDemo.h"
#include "DeviceDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CDeviceDlg property page

IMPLEMENT_DYNCREATE(CDeviceDlg, CPropertyPage)

CDeviceDlg::CDeviceDlg() : CPropertyPage(CDeviceDlg::IDD)
{
	//{{AFX_DATA_INIT(CDeviceDlg)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}

CDeviceDlg::~CDeviceDlg()
{
}

void CDeviceDlg::DoDataExchange(CDataExchange* pDX)
{
	CPropertyPage::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDeviceDlg)
	DDX_Control(pDX, IDC_LIST1, m_listNote);
	DDX_Control(pDX, IDC_CMB_COM, m_cmbCom);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDeviceDlg, CPropertyPage)
	//{{AFX_MSG_MAP(CDeviceDlg)
	ON_BN_CLICKED(IDC_BTN_CONNECT, OnBtnConnect)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDeviceDlg message handlers

void CDeviceDlg::OnBtnConnect() 
{
	CString	sText;
	WORD	wTemp		= 0;
	BYTE	bSn[16]		= {0};
	int		nPort		= m_cmbCom.GetCurSel()+1;

	sText.Format(L"Connecting \'COM%d\' ...", nPort);
	m_listNote.AddString(sText);

	// 打开端口
	if(CFInitCom(nPort, 2400) == 0)
	{
		sText.Format(L"Open \'COM%d\' Success", nPort);
		m_listNote.AddString(sText);
		// 读取配件版本
		if(CFGetHardwareVersion(0, &wTemp) == 0)
		{
			sText.Format(L"Hardware Version : %d.%d", HIBYTE(wTemp), LOBYTE(wTemp));
			m_listNote.AddString(sText);
			//产品序号
			if(CFGetReaderNo(0, bSn) == 0)
			{
				sText.Format(L"Reader Serial No. : %02X%02X%02X%02X%02X%02X%02X%02X", 
					bSn[0], bSn[1], bSn[2], bSn[3], 
					bSn[4], bSn[5], bSn[6], bSn[7]);
				m_listNote.AddString(sText);
				//设备标识
				if(CFGetDeviceNumber(&wTemp) == 0)
				{
					sText.Format(L"Device No. : %02X%02X", HIBYTE(wTemp), LOBYTE(wTemp));
					m_listNote.AddString(sText);
				}
				else
				{
					sText.Format(L"Get Device No.  failed");
					CFCloseCom();
					m_listNote.AddString(sText);
				}
			}
			else
			{
				sText.Format(L"Get Reader Serial No  failed");
				CFCloseCom();
				m_listNote.AddString(sText);
			}

		}
		else
		{
			sText.Format(L"Hardware Version Failed");
			CFCloseCom();
			m_listNote.AddString(sText);
			return;
		}
		// 读取API版本
		unsigned int nVer	= 0;
		if(LibVersion(&nVer) == 0)
		{
			sText.Format(L"API Version : %f  ", nVer /10.0);
			m_listNote.AddString(sText);
			m_pParent->m_bConnected	= TRUE;
		}

	}
	else
	{
		sText.Format(L"Connect \'COM%d\' Failed", nPort);
		m_listNote.AddString(sText);
		AfxMessageBox(L"Connect Error");
	}
	
}

BOOL CDeviceDlg::OnInitDialog() 
{
	CPropertyPage::OnInitDialog();
	
	m_cmbCom.SetCurSel(3);

	m_pParent	= (CMyPropetySheet*)GetParent();
	ASSERT(m_pParent);

	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

⌨️ 快捷键说明

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