📄 usbvreqdialog.cpp
字号:
// UsbvreqDialog.cpp : implementation file
//
#include "stdafx.h"
#include "SEEDDEC2407.h"
#include "UsbvreqDialog.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CUsbvreqDialog dialog
CUsbvreqDialog::CUsbvreqDialog(CWnd* pParent /*=NULL*/)
: CDialog(CUsbvreqDialog::IDD, pParent)
{
//{{AFX_DATA_INIT(CUsbvreqDialog)
m_VendorReq = 0;
m_strEndpoint0data = _T("");
m_VendorIndex = 0;
m_VendorLength = 0;
m_VendorValue = 0;
//}}AFX_DATA_INIT
}
void CUsbvreqDialog::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CUsbvreqDialog)
DDX_Control(pDX, IDC_DIRECTION, m_ctrDirection);
DDX_Text(pDX, IDC_REQUEST, m_VendorReq);
DDX_Text(pDX, IDC_ENDP0DATA, m_strEndpoint0data);
DDX_Text(pDX, IDC_INDEX, m_VendorIndex);
DDX_Text(pDX, IDC_LENGTH, m_VendorLength);
DDX_Text(pDX, IDC_VALUE, m_VendorValue);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CUsbvreqDialog, CDialog)
//{{AFX_MSG_MAP(CUsbvreqDialog)
ON_CBN_CLOSEUP(IDC_DIRECTION, OnCloseupDirection)
ON_CBN_DROPDOWN(IDC_DIRECTION, OnDropdownDirection)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CUsbvreqDialog message handlers
void CUsbvreqDialog::OnOK()
{
// TODO: Add extra validation here
CDialog::OnOK();
strtodata();
}
void CUsbvreqDialog::strtodata()
{
int i;
int j= 0;
int usrdata = 0;
LPCTSTR strbuffer;
int longth = 0;
strbuffer = m_strEndpoint0data.GetBuffer(100);
for(i = 0;i<m_VendorLength;)
{
if(strbuffer[i] !=' ')
{
usrdata = chartonumber(strbuffer[i]);
m_Endpoint0data[j]=usrdata;
}
i = i +1;
if(strbuffer[i] !=' ')
{
usrdata = chartonumber(strbuffer[i]);
m_Endpoint0data[j]=usrdata+ m_Endpoint0data[j]* (0x10);
j++;
}
i = i+1;
}
}
int CUsbvreqDialog::chartonumber(char str)
{
int usrdata;
switch(str)
{
case '0':
usrdata = 0;
break;
case '1':
usrdata = 1;
break;
case '2':
usrdata = 2;
break;
case '3':
usrdata = 3;
break;
case '4':
usrdata = 4;
break;
case '5':
usrdata = 5;
break;
case '6':
usrdata = 6;
break;
case '7':
usrdata = 7;
break;
case '8':
usrdata = 8;
break;
case '9':
usrdata = 9;
break;
case 'A':
case 'a':
usrdata = 0xa;
break;
case 'B':
case 'b':
usrdata = 0xb;
break;
case 'C':
case 'c':
usrdata = 0xc;
break;
case 'D':
case 'd':
usrdata = 0xd;
break;
case 'E':
case 'e':
usrdata = 0xe;
break;
case 'F':
case 'f':
usrdata = 0xf;
break;
default:
AfxMessageBox("有无效数据,请重新输入");
usrdata = 0xff;
}
return usrdata;
}
void CUsbvreqDialog::OnCloseupDirection()
{
// TODO: Add your control notification handler code here
int nSel;
if ((nSel=m_ctrDirection.GetCurSel())!=CB_ERR)
{
m_ctrDirection.GetLBText( nSel, m_sDirSelection );
m_VendorDir = nSel;
}
else
{
m_ctrDirection.ResetContent();
m_ctrDirection.AddString(m_sDirSelection);
m_ctrDirection.SelectString(-1,m_sDirSelection);
}
}
void CUsbvreqDialog::OnDropdownDirection()
{
// TODO: Add your control notification handler code here
m_ctrDirection.ResetContent();
m_ctrDirection.AddString("1:IN");
m_ctrDirection.AddString("0:OUT");
}
BOOL CUsbvreqDialog::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_ctrDirection.SetWindowText(m_sDirSelection);
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 + -