📄 sickdld.cpp
字号:
// SickDld.cpp : implementation file
//
#include "stdafx.h"
#include "TTY.h"
#include "SickDld.h"
#include "TTYDoc.h"
#include "MainFrm.h"
#include "TTYView.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CSickDld dialog
CSickDld::CSickDld(CWnd* pParent /*=NULL*/)
: CDialog(CSickDld::IDD, pParent)
{
//{{AFX_DATA_INIT(CSickDld)
m_FilePath = _T("");
//}}AFX_DATA_INIT
/*m_View_Checked=FALSE;
m_Save_Checked=FALSE;
m_SavePath_Checked=FALSE;*/
}
void CSickDld::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CSickDld)
DDX_Control(pDX, IDC_CHECK2, m_ViewFlag);
DDX_Control(pDX, IDC_CHECK1, m_ReceiveFlag);
DDX_Control(pDX, IDC_COMBO1, m_CombCmd);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CSickDld, CDialog)
//{{AFX_MSG_MAP(CSickDld)
ON_CBN_SELCHANGE(IDC_COMBO1, OnSelchangeCombo1)
ON_BN_CLICKED(IDC_BUTTON3, OnCommandSend)
ON_BN_CLICKED(IDC_BUTTON2, OnClear)
ON_BN_CLICKED(IDC_CHECK1, OnReceiveFlag)
ON_BN_CLICKED(IDC_CHECK2, OnViewFlag)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSickDld message handlers
void CSickDld::OnSelchangeCombo1()
{
// TODO: Add your control notification handler code here
int index=m_CombCmd.GetCurSel();
switch(index)
{
/*case 4: //19200
m_SendOut.Pos[0]=0x02;
m_SendOut.Pos[1]=0x00;
m_SendOut.Pos[2]=0x02;
m_SendOut.Pos[3]=0x00;
m_SendOut.Pos[4]=0x20;
m_SendOut.Pos[5]=0x41;
m_SendOut.Pos[6]=0x51;
m_SendOut.Pos[7]=0x08;
m_SendOut.Lengh=8;
break;*/
case 4: //38400
m_SendOut.Pos[0]=0x02;
m_SendOut.Pos[1]=0x00;
m_SendOut.Pos[2]=0x02;
m_SendOut.Pos[3]=0x00;
m_SendOut.Pos[4]=0x20;
m_SendOut.Pos[5]=0x40;
m_SendOut.Pos[6]=0x50;
m_SendOut.Pos[7]=0x08;
m_SendOut.Lengh=8;
break;
case 5: //500000
m_SendOut.Pos[0]=0x02;
m_SendOut.Pos[1]=0x00;
m_SendOut.Pos[2]=0x02;
m_SendOut.Pos[3]=0x00;
m_SendOut.Pos[4]=0x20;
m_SendOut.Pos[5]=0x48;
m_SendOut.Pos[6]=0x58;
m_SendOut.Pos[7]=0x08;
m_SendOut.Lengh=8;
break;
case 3: //9600
m_SendOut.Pos[0]=0x02;
m_SendOut.Pos[1]=0x00;
m_SendOut.Pos[2]=0x02;
m_SendOut.Pos[3]=0x00;
m_SendOut.Pos[4]=0x20;
m_SendOut.Pos[5]=0x42;
m_SendOut.Pos[6]=0x52;
m_SendOut.Pos[7]=0x08;
m_SendOut.Lengh=8;
break;
case 1: //请求测量数据
m_SendOut.Pos[0]=0x02;
m_SendOut.Pos[1]=0x00;
m_SendOut.Pos[2]=0x02;
m_SendOut.Pos[3]=0x00;
m_SendOut.Pos[4]=0x30;
m_SendOut.Pos[5]=0x01;
m_SendOut.Pos[6]=0x31;
m_SendOut.Pos[7]=0x18;
m_SendOut.Lengh=8;
break;
case 2: //请求连续采集数据
m_SendOut.Pos[0]=0x02;
m_SendOut.Pos[1]=0x00;
m_SendOut.Pos[2]=0x02;
m_SendOut.Pos[3]=0x00;
m_SendOut.Pos[4]=0x20;
m_SendOut.Pos[5]=0x24;
m_SendOut.Pos[6]=0x34;
m_SendOut.Pos[7]=0x08;
m_SendOut.Lengh=8;
break;
case 6: //停止采集
m_SendOut.Pos[0]=0x02;
m_SendOut.Pos[1]=0x00;
m_SendOut.Pos[2]=0x02;
m_SendOut.Pos[3]=0x00;
m_SendOut.Pos[4]=0x20;
m_SendOut.Pos[5]=0x25;
m_SendOut.Pos[6]=0x35;
m_SendOut.Pos[7]=0x08;
m_SendOut.Lengh=8;
break;
case 0: //请求状态
m_SendOut.Pos[0]=0x02;
m_SendOut.Pos[1]=0x00;
m_SendOut.Pos[2]=0x01;
m_SendOut.Pos[3]=0x00;
m_SendOut.Pos[4]=0x31;
m_SendOut.Pos[5]=0x15;
m_SendOut.Pos[6]=0x12;
m_SendOut.Lengh=7;
break;
}
}
/*void CSickDld::OnSave()
{
// TODO: Add your control notification handler code here
char filters[] = "*.txt | *.txt|";
CFileDialog oFileDialog(FALSE, NULL, "*.txt", NULL, filters, NULL);
if (oFileDialog.DoModal() == IDOK)
{
CString csPath;
csPath = oFileDialog.GetPathName();
//CFile oFile;
m_FilePath=csPath;
UpdateData(false);
}
CTTYDoc *m_App = (CTTYDoc *)AfxGetApp();
//m_App->File_Save.Open(m_FilePath, CFile::modeCreate | CFile::modeWrite );
m_App->SavePath_Checked=TRUE;
//File_Save.Open(m_FilePath, CFile::modeCreate | CFile::modeWrite );
}*/
void CSickDld::OnCommandSend()
{
// TODO: Add your control notification handler code here
CMainFrame *pFrame = (CMainFrame*)AfxGetApp()->m_pMainWnd;
CTTYDoc *m_pDoc = (CTTYDoc *)pFrame->GetActiveDocument();
m_pDoc->WriteComm(m_SendOut.Pos , m_SendOut.Lengh);
CDialog::OnOK();
}
void CSickDld::OnClear()
{
// TODO: Add your control notification handler code here
CMainFrame *pFrame = (CMainFrame*)AfxGetApp()->m_pMainWnd;
//获得与该窗体符合的视图:
CTTYView *m_pView = (CTTYView *) pFrame->GetActiveView();
//调用视图函数:
m_pView->Clear();
}
void CSickDld::OnReceiveFlag()
{
// TODO: Add your control notification handler code here
if(m_ReceiveFlag.GetCheck())
{
CTTYDoc *m_App = (CTTYDoc *)AfxGetApp();
m_App->Save_Checked=TRUE;
}
/*else
{
m_App->Save_Checked=FALSE;
}*/
}
void CSickDld::OnViewFlag()
{
// TODO: Add your control notification handler code here
if(m_ViewFlag.GetCheck())
{
CTTYDoc *m_App = (CTTYDoc *)AfxGetApp();
m_App->View_Checked=TRUE;
}
/*else
{
m_App->View_Checked=FALSE;
}*/
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -