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

📄 dlgstartcheck.cpp

📁 RFID温度签的源码
💻 CPP
字号:
// DlgStartCheck.cpp : 实现文件
//

#include "stdafx.h"
#include "Temperature.h"
#include "DlgStartCheck.h"
#include "ErrorCode.h"
#include <time.h>

// CDlgStartCheck 对话框

IMPLEMENT_DYNAMIC(CDlgStartCheck, CDialog)

CDlgStartCheck::CDlgStartCheck(CWnd* pParent /*=NULL*/)
	: CDialog(CDlgStartCheck::IDD, pParent)
	, m_valInterval(1)
	, m_valTemperature(25.0)
	, m_valDataTime(0.0)
	, m_valTime(0)
	, m_nTemp2(0)
	, m_pDeviceClient(NULL)
	, m_CardID(0)
	, m_IsStartSuccess( FALSE )
{

}

CDlgStartCheck::~CDlgStartCheck()
{
}

void CDlgStartCheck::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	DDX_Text(pDX, IDC_EDIT_INTERVAL, m_valInterval);
	DDX_Text(pDX, IDC_EDIT_WARN_TEMPERATURE, m_valTemperature);
	DDX_DateTimeCtrl(pDX, IDC_DATETIMEPICKER_DAY, m_valDataTime);
	DDX_DateTimeCtrl(pDX, IDC_DATETIMEPICKER_TIME, m_valTime);
	DDX_Control(pDX, IDC_SPIN1, m_spin);
	DDX_Text(pDX, IDC_EDIT_WARN_TEMPERATURE2, m_nTemp2);
	DDX_Control(pDX, IDC_EDIT_INTERVAL, m_edit1);
	DDX_Control(pDX, IDC_EDIT_WARN_TEMPERATURE, m_edit2);
	DDX_Control(pDX, IDC_EDIT_WARN_TEMPERATURE2, m_edit3);
}


BEGIN_MESSAGE_MAP(CDlgStartCheck, CDialog)
//	ON_NOTIFY(NM_THEMECHANGED, IDC_SPIN1, &CDlgStartCheck::OnNMThemeChangedSpin1)
ON_NOTIFY(UDN_DELTAPOS, IDC_SPIN1, &CDlgStartCheck::OnDeltaposSpin1)
ON_BN_CLICKED(IDOK, &CDlgStartCheck::OnBnClickedOk)
END_MESSAGE_MAP()


// CDlgStartCheck 消息处理程序

long CDlgStartCheck::GetInterval()
{
	return m_valInterval;
}

float CDlgStartCheck::GetWarningTemperature()
{
	return m_valTemperature;
}

void CDlgStartCheck::GetTimeData(
				unsigned char* year, unsigned char* month, unsigned char* day, 
				unsigned char* hour, unsigned char* minute )
{
	int nHour	= m_valTime.GetHour();
	int nMinute = m_valTime.GetMinute();
	int nYear	= m_valDataTime.GetYear();
	int nMonth	= m_valDataTime.GetMonth();
	int nDay	= m_valDataTime.GetDay();

	*year	= (unsigned char)( nYear % 2000 );
	*month	= (unsigned char)( nMonth );
	*day	= (unsigned char)( nDay );
	*hour	= (unsigned char)( nHour );
	*minute	= (unsigned char)( nMinute );
}
BOOL CDlgStartCheck::OnInitDialog()
{
	CDialog::OnInitDialog();

	m_IsStartSuccess = FALSE;
	if( theApp.m_Lang == 0 )
	{
		SetWindowText( _T("设置") );
	}
	m_spin.SetBuddy( &m_edit1 );

	SYSTEMTIME tm;
	GetLocalTime( &tm );
	
	m_valDataTime = CTime(tm.wYear, tm.wMonth, tm.wDay, tm.wHour, tm.wMinute, tm.wSecond );
	m_valTime = CTime(tm.wYear, tm.wMonth, tm.wDay, tm.wHour, tm.wMinute, tm.wSecond );
	SetLang( theApp.m_Lang );
	UpdateData( FALSE );
	return TRUE;  // return TRUE unless you set the focus to a control
}



//void CDlgStartCheck::OnNMThemeChangedSpin1(NMHDR *pNMHDR, LRESULT *pResult)
//{
//	// 该功能要求使用 Windows XP 或更高版本。
//	// 符号 _WIN32_WINNT 必须 >= 0x0501。
//	// TODO: 在此添加控件通知处理程序代码
//	*pResult = 0;
//}

void CDlgStartCheck::OnDeltaposSpin1(NMHDR *pNMHDR, LRESULT *pResult)
{
	LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
	if( pNMUpDown->iDelta == -1 ) // up
	{
		m_valInterval++;
	}
	else
	{
		m_valInterval--;
	}

	if( m_valInterval <=0 )
	{
		m_valInterval = 1;
	}
	UpdateData( FALSE );
	*pResult = 0;
}


void CDlgStartCheck::OnBnClickedOk()
{
	CString str;

	UINT nLangRCSuccess = IDS_STR_SET_STARTCHECK_NOERROR;
	UINT nLangRCFailed = IDS_STR_SET_STARTCHECK;
	if( theApp.m_Lang == 0 )
	{
		nLangRCSuccess = IDS_STR_SET_STARTCHECK_NOERROR_CH;
		nLangRCFailed = IDS_STR_SET_STARTCHECK_CH;
	}
	this->UpdateData();
	if( m_pDeviceClient && m_CardID != 0 )
	{
		U32 u32Ret = -1;
		unsigned char  nYear, nMonth, nDay, nHour, nMinute;
		unsigned short nInterval;
		unsigned char		nWarningTemperature;
		nInterval = (unsigned short)GetInterval();
		nWarningTemperature = (unsigned char)GetWarningTemperature();
		GetTimeData( &nYear, &nMonth, &nDay, &nHour, &nMinute );

		CARD_TIME CardTime;
		CardTime.u8Year		= nYear;
		CardTime.u8Month	= nMonth;
		CardTime.u8Day		= nDay;
		CardTime.u8Hour		= nHour;
		CardTime.u8Minute	= nMinute;

		do 
		{
			u32Ret = m_pDeviceClient->SetCheckTimeInterval( m_CardID, nInterval );
			if( u32Ret != RETURN_NO_ERROR )	break;
			//u32Ret = pDeviceClient->SetWarningData( CardID, nWarningTemperature, 1 );
			//if( u32Ret != RETURN_NO_ERROR )	break;
			u32Ret = m_pDeviceClient->SetStartTime( m_CardID, 0, &CardTime );

		} while( 0 );

		if( u32Ret != RETURN_NO_ERROR )
		{
			str.LoadString( nLangRCFailed );
			
		}
		else
		{
			m_IsStartSuccess = TRUE;
			str.LoadString( nLangRCSuccess );
		}
	}
	else
	{
		str.LoadString( nLangRCSuccess );
	}

	MessageBox( str );
}

void CDlgStartCheck::SetLang(char nLang)
{
	if( nLang == 0 )
	{
		CString str;

		str.LoadString( IDS_STR_DIALOG2_INTERVAL );
		GetDlgItem( IDC_STATIC_INTERVAL )->SetWindowText( str );

		str.LoadString( IDS_STR_DIALOG2_LIMIT );
		GetDlgItem( IDC_STATIC_LIMIT )->SetWindowText( str );

		str.LoadString( IDS_STR_DIALOG2_LIMIT2 );
		GetDlgItem( IDC_STATIC_LOWER )->SetWindowText( str );

		str.LoadString( IDS_STR_DIALOG2_TIME );
		GetDlgItem( IDC_STATIC_START )->SetWindowText( str );

		str.LoadString( IDS_STR_OK );
		GetDlgItem( IDOK )->SetWindowText( str );

		str.LoadString( IDS_STR_CANCEL );
		GetDlgItem( IDCANCEL )->SetWindowText( str );
	}
}

⌨️ 快捷键说明

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