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

📄 dlgremoteset.cpp

📁 本程序采用VC++和MySql编写的田间信息自动采集系统
💻 CPP
字号:
// DlgRemoteSet.cpp : implementation file
//

#include "stdafx.h"
#include "rt.h"
#include "DlgRemoteSet.h"

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

/////////////////////////////////////////////////////////////////////////////
// CDlgRemoteSet dialog


CDlgRemoteSet::CDlgRemoteSet(CWnd* pParent /*=NULL*/)
	: CDialog(CDlgRemoteSet::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDlgRemoteSet)
	m_sPeriodHo = _T("");
	m_sPeriodMin = _T("");
	m_sPeriodSec = _T("");
	m_sSendHo = _T("");
	m_sSendMin = _T("");
	m_sSetView = _T("");
	//}}AFX_DATA_INIT
	m_bModify = FALSE;
}


void CDlgRemoteSet::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDlgRemoteSet)
	DDX_Control(pDX, IDC_BTN_SAVE, m_cSave);
	DDX_Control(pDX, IDC_BTN_NEXT, m_cNext);
	DDX_Control(pDX, IDOK, m_cOk);
	DDX_Text(pDX, IDC_PERIOD_HO, m_sPeriodHo);
	DDX_Text(pDX, IDC_PERIOD_MIN, m_sPeriodMin);
	DDX_Text(pDX, IDC_PERIOD_SEC, m_sPeriodSec);
	DDX_Text(pDX, IDC_Send_HO, m_sSendHo);
	DDX_Text(pDX, IDC_Send_MIN, m_sSendMin);
	DDX_Text(pDX, IDC_SET_VIEW, m_sSetView);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDlgRemoteSet, CDialog)
	//{{AFX_MSG_MAP(CDlgRemoteSet)
	ON_BN_CLICKED(IDC_BTN_NEXT, OnBtnNext)
	ON_BN_CLICKED(IDC_BTN_Modify, OnBTNModify)
	ON_BN_CLICKED(IDC_BTN_SAVE, OnBtnSave)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDlgRemoteSet message handlers

void CDlgRemoteSet::OnBtnNext() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	if(!m_bModify){
	  if(m_iCurrentNum>=m_iTimeNum){
	     m_iCurrentNum =0;
	  } 
	  int x = 2+m_iCurrentNum*4;
         m_sSendHo = m_sSendT.Mid(x,2);
         m_sSendMin = m_sSendT.Mid(x+2,2);
	     m_iCurrentNum++;
	}
	else {
	  m_iTimeNum++;
      m_sSendT  += Tools.IntToStr(atoi(m_sSendHo)); 
      m_sSendT += Tools.IntToStr(atoi(m_sSendMin));
	  m_sSetView += Tools.IntToStr(atoi(m_sSendHo));
	  m_sSetView+=Tools.IntToStr(atoi(m_sSendMin))+"\t\r\r";
	  m_sSendHo ="";
      m_sSendMin ="";
	}
	UpdateData(FALSE);
}



void CDlgRemoteSet::OnOK() 
{
	// TODO: Add extra validation here
	SendSet();
	CDialog::OnOK();
}

BOOL CDlgRemoteSet::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	theResult=m_cDM.select();
	UpdateData(TRUE);
	m_cSave.EnableWindow(FALSE);
	if(theResult.Next()){
	   m_sPeriod = theResult.GetString("period");
	   m_sSendT = theResult.GetString("time");
	   m_iAuto = theResult.GetInt("autoset");
       m_sPeriodHo = m_sPeriod.Mid(0,2);
	   m_sPeriodMin = m_sPeriod.Mid(2,2);
	   m_sPeriodSec = 	m_sPeriod.Mid(4,2);
    
	   m_iTimeNum = atoi(m_sSendT.Mid(0,2));
	   m_sSendHo = m_sSendT.Mid(2,2);
       m_sSendMin = m_sSendT.Mid(4,2);
	   m_iCurrentNum = 1;
	}

	
    UpdateData(FALSE);
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}



void CDlgRemoteSet::OnBTNModify() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	m_bModify = TRUE;
    m_sPeriodHo = _T("");
	m_sPeriodMin = _T("");
	m_sPeriodSec = _T("");
	m_sSendHo = _T("");
	m_sSendMin = _T("");
	m_sSetView = _T("");
	m_sPeriod = "";
	m_sSendT = "";
	m_iTimeNum = 0;
	m_cNext.SetWindowText("输入下一条");
	m_cSave.EnableWindow(TRUE);
	UpdateData(FALSE);

}

void CDlgRemoteSet::OnBtnSave() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	m_bModify = FALSE;
    m_sPeriod = Tools.IntToStr(atoi(m_sPeriodHo)); 
    m_sPeriod += Tools.IntToStr(atoi(m_sPeriodMin));
	m_sPeriod += Tools.IntToStr(atoi(m_sPeriodSec));
	m_cNext.SetWindowText("查看下一条");
	CString temp ;
	m_sSendT = Tools.IntToStr(m_iTimeNum)+m_sSendT;
	temp ="update RemoteSet set period='"+m_sPeriod;
	temp +="',time = '"+m_sSendT+"' where autoset = ";
	if(m_iAuto == 1)
		temp +="1";
	else 
        temp +="0";
	m_cDM.Update(temp);
	m_cSave.EnableWindow(FALSE);
	UpdateData(FALSE);
}

void CDlgRemoteSet::SetWnd(HWND wnd)
{
  hWnd =wnd;
}

void CDlgRemoteSet::SendSet()
{
    CString temp = m_sPeriod+m_sSendT;
    ::SendMessage(hWnd, WM_REMOTE_SET, (WPARAM)('a'), (LPARAM)0);
	for(int i =0 ; i<temp.GetLength ();i++){
		::SendMessage(hWnd, WM_REMOTE_SET, (WPARAM)(temp.GetAt(i)), (LPARAM)1);
	}
	::SendMessage(hWnd, WM_REMOTE_SET, (WPARAM) ('e'), (LPARAM)-1);
}

⌨️ 快捷键说明

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