📄 uploaddata.cpp
字号:
// uploaddata.cpp : implementation file
//
#include "stdafx.h"
#include "rectvinfo.h"
#include "uploaddata.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// uploaddata dialog
CRectvinfoApp* theUpDlgApp;
uploaddata::uploaddata(CWnd* pParent /*=NULL*/)
: CDialog(uploaddata::IDD, pParent)
{
//{{AFX_DATA_INIT(uploaddata)
m_md = 1;
m_statictxt = _T("月份:");
//}}AFX_DATA_INIT
}
void uploaddata::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(uploaddata)
DDX_Control(pDX, IDC_COMBO_TERMID, m_termid);
DDX_Control(pDX, IDC_COMBO_DATATYPE, m_datatype);
DDX_Text(pDX, IDC_EDIT_MD, m_md);
DDV_MinMaxByte(pDX, m_md, 1, 50);
DDX_Text(pDX, IDC_STATIC_MD, m_statictxt);
DDV_MaxChars(pDX, m_statictxt, 20);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(uploaddata, CDialog)
//{{AFX_MSG_MAP(uploaddata)
ON_CBN_SELCHANGE(IDC_COMBO_DATATYPE, OnSelchangeComboDatatype)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// uploaddata message handlers
BOOL uploaddata::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
CString str;
// str.Format(_T("所有DSP"));
// m_datatype.InsertString(0,(LPCTSTR)str);
str.Format(_T("查询月统计数据"),0);
m_datatype.InsertString(0,(LPCTSTR)str);
str.Format(_T("查询本月日统计"),1);
m_datatype.InsertString(1,(LPCTSTR)str);
str.Format(_T("查询上月日统计"),2);
m_datatype.InsertString(2,(LPCTSTR)str);
str.Format(_T("查询掉电数据"),3);
m_datatype.InsertString(3,(LPCTSTR)str);
str.Format(_T("查询实时电压"),4);
m_datatype.InsertString(4,(LPCTSTR)str);
str.Format(_T("查询实时时钟"),5);
m_datatype.InsertString(5,(LPCTSTR)str);
str.Format(_T("查询仪器参数"),6);
m_datatype.InsertString(6,(LPCTSTR)str);
str = _T("下载实时时钟");
m_datatype.InsertString(7,(LPCTSTR)str);
str = _T("下载仪器参数");
m_datatype.InsertString(8,(LPCTSTR)str);
m_datatype.SetCurSel(0);
theUpDlgApp = (CRectvinfoApp*)AfxGetApp();
int i,ti=0;
char * telnum;
SOCKET ts;
for (i=0;i<MAXCLIENTNUM;i++)
{
telnum = theUpDlgApp->GetSocketTel(i);
ts = theUpDlgApp->GetSocket(i);
if((strlen(telnum)==4)&&(ts!=NULL))
{
m_termid.InsertString(ti,(LPCTSTR)telnum);
route[ti] = i;
ti++;
}
}
m_termid.SetCurSel(0);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void uploaddata::OnOK()
{
// TODO: Add extra validation here
unsigned int order,j,i;
SYSTEMTIME loctime;
DWORD twoparam;
UpdateData(TRUE);
if (m_termid.GetCount()==0) MessageBox("目前没有联机的终端!");
else
{
order = m_datatype.GetCurSel();
if (order==0)
{
if ((m_md<1)||(m_md>12))
{
MessageBox("月份错误!");
return;
}
}
else if (order<3)
{
GetLocalTime(&loctime);
if (loctime.wMonth==2)
{
if (loctime.wYear%4==0) j = 29;
else j = 28;
}
else if ((loctime.wMonth==4)||(loctime.wMonth==6)||(loctime.wMonth==9)||(loctime.wMonth==10)||(loctime.wMonth==12))
{
j = 30;
}
else j = 31;
if ((m_md<1)||(m_md>j))
{
MessageBox("日期错误!");
return;
}
}
else if (order==3)
{
/* if ((m_md<1)||(m_md>50))
{
MessageBox("记录序号错误!");
return;
}*/
}
else m_md = 0x11;
if (order<5) order+=3;
else if (order<7) order+=8;
else order += 0x26;
j = (m_md/10)*16+m_md%10;
twoparam = order | (j<<16);
i = m_termid.GetCurSel();
i = route[i];
// i=0;
if ((i>=MAXCLIENTNUM)||(i<0)) MessageBox("严重错误!");
else
{
if (theUpDlgApp->CommPtr->GetSocketCommState(i) != 0)
{
MessageBox("这个终端的前次通信尚未结束!请稍等再试!");
return;
}
theUpDlgApp->CommPtr->PostThreadMessage(UPLOADDATA, WPARAM(twoparam), LPARAM(i));
}
}
CDialog::OnOK();
}
void uploaddata::OnSelchangeComboDatatype()
{
// TODO: Add your control notification handler code here
int ti;
ti = m_datatype.GetCurSel();
if (ti>3)
{
m_statictxt.Empty();
}
else if (ti==3) m_statictxt = _T("记录序号:");
else if (ti==0)
{
m_statictxt = _T("月份:");
}
else m_statictxt = _T("日期:");
UpdateData(FALSE);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -