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

📄 remoteatminfo.cpp

📁 SDK DVR/DVS HIKVISION
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// RemoteATMInfo.cpp : implementation file
//

#include "stdafx.h"
#include "newclient.h"
#include "RemoteATMInfo.h"

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

/////////////////////////////////////////////////////////////////////////////
// CRemoteATMInfo dialog


CRemoteATMInfo::CRemoteATMInfo(CWnd* pParent /*=NULL*/)
	: CDialog(CRemoteATMInfo::IDD, pParent)
{
	//{{AFX_DATA_INIT(CRemoteATMInfo)
	m_csBusinessCode = _T("");
	m_dwBusinessStart = 0;
	m_dwBusinessLen = 0;
	m_dwCardNumInfoLen = 0;
	m_dwCardNumInfoStart = 0;
	m_dwCardLenInfoLen = 0;
	m_dwCardLenInfoStart = 0;
	m_sATMIP = _T("");
	m_sMessageInfo = _T("");
	m_dwMessageLen = 0;
	m_dwMessageStart = 0;
	m_wATMPort = 0;
	m_csBusinessCode5 = _T("");
	//}}AFX_DATA_INIT
}


void CRemoteATMInfo::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CRemoteATMInfo)
	DDX_Control(pDX, IDC_COMBOTYPE5, m_Type5Ctrl);
	DDX_Control(pDX, IDC_COMBOATMTYPE2, m_ATMTypeCtrl2);
	DDX_Control(pDX, IDC_COMBOTYPE, m_TypeCtrl);
	DDX_Control(pDX, IDC_COMBOINPUTTYPE, m_InputTypeCtrl);
	DDX_Control(pDX, IDC_COMBOATMTYPE, m_ATMTypeCtrl);
	DDX_Text(pDX, IDC_BUSINESSCODE, m_csBusinessCode);
	DDX_Text(pDX, IDC_BUSINESSSTART, m_dwBusinessStart);
	DDX_Text(pDX, IDC_BUSINESSLEN, m_dwBusinessLen);
	DDX_Text(pDX, IDC_CARDNUMINFOLEN, m_dwCardNumInfoLen);
	DDX_Text(pDX, IDC_CARDNUMINFOSTART, m_dwCardNumInfoStart);
	DDX_Text(pDX, IDC_CARDNUMLENINFOLEN, m_dwCardLenInfoLen);
	DDX_Text(pDX, IDC_CARDNUMLENINFOSTART, m_dwCardLenInfoStart);
	DDX_Text(pDX, IDC_EDITATMIP, m_sATMIP);
	DDX_Text(pDX, IDC_MESSAGEINFO, m_sMessageInfo);
	DDX_Text(pDX, IDC_MESSAGELEN, m_dwMessageLen);
	DDX_Text(pDX, IDC_MESSAGESTART, m_dwMessageStart);
	DDX_Text(pDX, IDC_EDITATMPORT, m_wATMPort);
	DDX_Text(pDX, IDC_BUSINESSCODE5, m_csBusinessCode5);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CRemoteATMInfo, CDialog)
	//{{AFX_MSG_MAP(CRemoteATMInfo)
	ON_CBN_SELCHANGE(IDC_COMBOINPUTTYPE, OnSelchangeComboinputtype)
	ON_CBN_SELCHANGE(IDC_COMBOTYPE, OnSelchangeCombotype)
	ON_BN_CLICKED(IDATMOK, OnAtmok)
	ON_BN_CLICKED(ID_EXIT, OnExit)
	ON_CBN_SELCHANGE(IDC_COMBOTYPE5, OnSelchangeCombotype5)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CRemoteATMInfo message handlers

BOOL CRemoteATMInfo::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	CRect rc(0, 0, 0, 0);
	GetParent()->GetClientRect(&rc);
	((CTabCtrl*)GetParent())->AdjustRect(FALSE, &rc);
	MoveWindow(&rc);

	m_bSetPara = FALSE;
	m_nInputMode = -1;
	m_nTypeSel = 0;
	
	if(m_bConnectServer)
	{
		if (!NET_DVR_GetATMPortCFG(m_lServerID, &m_ATMPort))
		{
			m_bNewPort = FALSE;
			CString sTemp;
			sTemp.Format("Get ATM Port failed: NET_DVR_GetLastError = %d \n", NET_DVR_GetLastError());
			TRACE(sTemp);
		}
		else
		{
			m_bNewPort = TRUE;
		}
		
		if(NET_DVR_ClientGetframeformat(m_lServerID, &m_ATMInfo))
		{
			if (m_bNewPort)
			{
				m_InputTypeCtrl.SetCurSel(m_ATMInfo.dwInputMode);
				m_ATMTypeCtrl2.SetCurSel(m_ATMInfo.dwATMType);
				m_sATMIP.Format("%s", m_ATMInfo.sATMIP);
				m_ATMTypeCtrl.SetCurSel(m_ATMInfo.dwATMType);
				m_TypeCtrl.SetCurSel(m_nTypeSel);
				m_csBusinessCode.Format("%s", m_ATMInfo.frameTypeCode[m_nTypeSel].code);
				switch (m_ATMInfo.dwInputMode)
				{
				case 0:
					m_nInputMode = 0;
					m_sATMIP.Format("%s", m_ATMInfo.sATMIP);
					m_ATMTypeCtrl.SetCurSel(m_ATMInfo.dwATMType);
					m_dwMessageStart = m_ATMInfo.dwFrameSignBeginPos;
					m_dwMessageLen = m_ATMInfo.dwFrameSignLength;
					m_sMessageInfo.Format("%s", m_ATMInfo.byFrameSignContent);
					m_dwCardLenInfoStart = m_ATMInfo.dwCardLengthInfoBeginPos;
					m_dwCardLenInfoLen = m_ATMInfo.dwCardLengthInfoLength;
					m_dwCardNumInfoStart = m_ATMInfo.dwCardNumberInfoBeginPos;
					m_dwCardNumInfoLen = m_ATMInfo.dwCardNumberInfoLength;
					m_dwBusinessStart = m_ATMInfo.dwBusinessTypeBeginPos;
					m_dwBusinessLen = m_ATMInfo.dwBusinessTypeLength;
					m_TypeCtrl.SetCurSel(m_nTypeSel);
					m_csBusinessCode.Format("%s", m_ATMInfo.frameTypeCode[m_nTypeSel].code);
					break;
				case 1:
					m_wATMPort = m_ATMPort;
					m_nInputMode = 1;
					break;
				case 2:				
					m_nInputMode = 2;
					break;
				case 3:
					m_nInputMode = 3;
					break;
				default:
					break;
				}
			}
			else
			{
				m_InputTypeCtrl.SetCurSel(m_ATMInfo.dwInputMode);
				m_sATMIP.Format("%s", m_ATMInfo.sATMIP);
				m_ATMTypeCtrl.SetCurSel(m_ATMInfo.dwATMType);
				m_Type5Ctrl.SetCurSel(m_nTypeSel);
				m_csBusinessCode5.Format("%s", m_ATMInfo.frameTypeCode[m_nTypeSel].code);
				switch (m_ATMInfo.dwInputMode)
				{
				case 0:
					m_nInputMode = 0;
					m_dwMessageStart = m_ATMInfo.dwFrameSignBeginPos;
					m_dwMessageLen = m_ATMInfo.dwFrameSignLength;
					m_sMessageInfo.Format("%s", m_ATMInfo.byFrameSignContent);
					m_dwCardLenInfoStart = m_ATMInfo.dwCardLengthInfoBeginPos;
					m_dwCardLenInfoLen = m_ATMInfo.dwCardLengthInfoLength;
					m_dwCardNumInfoStart = m_ATMInfo.dwCardNumberInfoBeginPos;
					m_dwCardNumInfoLen = m_ATMInfo.dwCardNumberInfoLength;
					m_dwBusinessStart = m_ATMInfo.dwBusinessTypeBeginPos;
					m_dwBusinessLen = m_ATMInfo.dwBusinessTypeLength;
					m_TypeCtrl.SetCurSel(m_nTypeSel);
					m_csBusinessCode.Format("%s", m_ATMInfo.frameTypeCode[m_nTypeSel].code);
					break;
				case 1:
				case 2:
				case 3:
					m_nInputMode = 1;
					m_Type5Ctrl.SetCurSel(m_nTypeSel);
					m_csBusinessCode5.Format("%s", m_ATMInfo.frameTypeCode[m_nTypeSel].code);
					break;
				default:
					break;
				}
			}
			EnableControl(m_nInputMode, m_bNewPort);
		}
		else
		{
			AfxMessageBox("Get transaction information failed!"); 
		}
	}
	UpdateData(FALSE);
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CRemoteATMInfo::OnSelchangeComboinputtype() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	switch (m_InputTypeCtrl.GetCurSel())
	{
	case 0:
		m_nInputMode = 0;
		break;
	case 1:
		m_nInputMode = 1;
		break;
	case 2:
		m_nInputMode = 2;
		break;
	case 3:
		m_nInputMode = 3;
		break;
	default:
		break;
	}
	
	EnableControl(m_nInputMode, m_bNewPort);
}

void CRemoteATMInfo::OnSelchangeCombotype() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	memcpy(m_ATMInfo.frameTypeCode[m_nTypeSel].code,m_csBusinessCode,12);
	m_nTypeSel = m_TypeCtrl.GetCurSel();
	m_csBusinessCode.Format("%s", m_ATMInfo.frameTypeCode[m_nTypeSel].code);
	
	UpdateData(FALSE);
}


void CRemoteATMInfo::EnableControl(int nEnable, BOOL bNewPort)
{
	if (bNewPort)
	{
		GetDlgItem(IDC_COMBOTYPE5)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_BUSINESSCODE5)->ShowWindow(SW_HIDE);
		if(nEnable == 0)
		{	
			GetDlgItem(IDC_EDITATMIP)->ShowWindow(SW_SHOW);
			GetDlgItem(IDC_EDITATMPORT)->ShowWindow(SW_HIDE);	
			GetDlgItem(IDC_COMBOATMTYPE2)->ShowWindow(SW_HIDE);
			GetDlgItem(IDC_COMBOATMTYPE)->ShowWindow(SW_SHOW);		
			GetDlgItem(IDC_STATIC99)->ShowWindow(SW_SHOW);
			GetDlgItem(IDC_STATIC100)->ShowWindow(SW_SHOW);	
			GetDlgItem(IDC_STATIC100)->SetWindowText("ATM IP");

			GetDlgItem(IDC_STATIC1)->SetWindowText("Frame ID");
			GetDlgItem(IDC_STATIC11)->SetWindowText("Offset");
			GetDlgItem(IDC_STATIC12)->SetWindowText("Length");
			GetDlgItem(IDC_STATIC1)->ShowWindow(SW_SHOW);
			GetDlgItem(IDC_STATIC11)->ShowWindow(SW_SHOW);
			GetDlgItem(IDC_STATIC12)->ShowWindow(SW_SHOW);
			GetDlgItem(IDC_MESSAGELEN)->ShowWindow(SW_SHOW);
			GetDlgItem(IDC_MESSAGESTART)->ShowWindow(SW_SHOW);
			GetDlgItem(IDC_STATIC13)->ShowWindow(SW_SHOW);
			GetDlgItem(IDC_MESSAGEINFO)->ShowWindow(SW_SHOW);
			GetDlgItem(IDC_STATIC2)->ShowWindow(SW_SHOW);
			GetDlgItem(IDC_STATIC21)->ShowWindow(SW_SHOW);
			GetDlgItem(IDC_STATIC22)->ShowWindow(SW_SHOW);
			GetDlgItem(IDC_STATIC3)->ShowWindow(SW_SHOW);
			GetDlgItem(IDC_STATIC31)->ShowWindow(SW_SHOW);
			GetDlgItem(IDC_STATIC32)->ShowWindow(SW_SHOW);
			GetDlgItem(IDC_STATIC4)->ShowWindow(SW_SHOW);
			GetDlgItem(IDC_STATIC41)->ShowWindow(SW_SHOW);
			GetDlgItem(IDC_STATIC42)->ShowWindow(SW_SHOW);
			GetDlgItem(IDC_STATIC43)->ShowWindow(SW_SHOW);
			GetDlgItem(IDC_STATIC44)->ShowWindow(SW_SHOW);
			GetDlgItem(IDC_CARDNUMLENINFOSTART)->ShowWindow(SW_SHOW);
			GetDlgItem(IDC_CARDNUMLENINFOLEN)->ShowWindow(SW_SHOW);
			GetDlgItem(IDC_CARDNUMINFOSTART)->ShowWindow(SW_SHOW);
			GetDlgItem(IDC_CARDNUMINFOLEN)->ShowWindow(SW_SHOW);
			GetDlgItem(IDC_BUSINESSSTART)->ShowWindow(SW_SHOW);
			GetDlgItem(IDC_BUSINESSLEN)->ShowWindow(SW_SHOW);
			GetDlgItem(IDC_COMBOTYPE)->ShowWindow(SW_SHOW);
			GetDlgItem(IDC_BUSINESSCODE)->ShowWindow(SW_SHOW);
		}
		else if (nEnable == 1)

⌨️ 快捷键说明

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