📄 dlginput2.cpp
字号:
// DlgInput2.cpp : 实现文件
//
#include "stdafx.h"
#include "PCIEBoardTest.h"
#include "DlgInput2.h"
#include ".\dlginput2.h"
// CDlgInput2 对话框
IMPLEMENT_DYNAMIC(CDlgInput2, CDialog)
CDlgInput2::CDlgInput2(CWnd* pParent /*=NULL*/)
: CDialog(CDlgInput2::IDD, pParent)
, m_strInputAddr(_T(""))
, m_strInputData(_T(""))
{
m_uMaxAddr = 0;
}
CDlgInput2::~CDlgInput2()
{
}
void CDlgInput2::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Text(pDX, IDC_EDIT_INPUT2_ADDR, m_strInputAddr);
DDX_Text(pDX, IDC_EDIT_INPUT2_DATA, m_strInputData);
}
BEGIN_MESSAGE_MAP(CDlgInput2, CDialog)
ON_BN_CLICKED(IDOK, OnBnClickedOk)
END_MESSAGE_MAP()
// CDlgInput2 消息处理程序
void CDlgInput2::SetMaxAddr(ULONG p_uMaxAddr)
{
m_uMaxAddr = p_uMaxAddr;
}
void CDlgInput2::OnBnClickedOk()
{
// TODO: 在此添加控件通知处理程序代码
UpdateData();
int i;
m_uAddr = 0;
for(i=0; i<m_strInputAddr.GetLength(); ++i)
{
char ch = m_strInputAddr.GetAt(i);
if (ch >= '0' && ch <= '9')
{
m_uAddr <<= 0x04;
m_uAddr += ch - '0';
}
else if (ch >= 'a' && ch <= 'f')
{
m_uAddr <<= 0x04;
m_uAddr += ch - 'a' + 10;
}
else if(ch >= 'A' && ch <= 'F')
{
m_uAddr <<= 0x04;
m_uAddr += ch - 'A' + 10;
}
else
{
MessageBox("Must Input HEX data!");
GetDlgItem(IDC_EDIT_INPUT2_ADDR)->SetFocus();
return;
}
}
m_uData = 0;
for(i=0; i<m_strInputData.GetLength(); ++i)
{
char ch = m_strInputData.GetAt(i);
if (ch >= '0' && ch <= '9')
{
m_uData <<= 0x04;
m_uData += ch - '0';
}
else if (ch >= 'a' && ch <= 'f')
{
m_uData <<= 0x04;
m_uData += ch - 'a' + 10;
}
else if(ch >= 'A' && ch <= 'F')
{
m_uData <<= 0x04;
m_uData += ch - 'A' + 10;
}
else
{
MessageBox("Must Input HEX data!");
GetDlgItem(IDC_EDIT_INPUT2_DATA)->SetFocus();
return;
}
}
if (m_uMaxAddr > 0 && m_uAddr >= m_uMaxAddr)
{
MessageBox("Addr Overflow!");
GetDlgItem(IDC_EDIT_INPUT2_ADDR)->SetFocus();
return;
}
if (m_uAddr & 0x03)
{
MessageBox("Addr must align32!");
GetDlgItem(IDC_EDIT_INPUT2_ADDR)->SetFocus();
return;
}
OnOK();
}
ULONG CDlgInput2::GetAddr()
{
return m_uAddr;
}
ULONG CDlgInput2::GetData()
{
return m_uData;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -