www.pudn.com > RMS2000_C.rar > CurveDlg.cpp
// CurveDlg.cpp : implementation file
//
#include "stdafx.h"
#include "DrawCli.h"
#include "CurveDlg.h"
#include "MainFrm.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CCurveDlg dialog
CCurveDlg::CCurveDlg(CWnd* pParent /*=NULL*/)
: CDialog(CCurveDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CCurveDlg)
m_EditDay = 0;
m_EditMonth = 0;
m_EditYear = 0;
m_szRtuName = _T("");
//}}AFX_DATA_INIT
}
void CCurveDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CCurveDlg)
DDX_Control(pDX, IDC_RTU_NAME, m_RtuName);
DDX_Control(pDX, IDC_YEAR_SPIN, m_YearSpin);
DDX_Control(pDX, IDC_NAME_LIST, m_NameList);
DDX_Control(pDX, IDC_MONTH_SPIN, m_MonthSpin);
DDX_Control(pDX, IDC_DAY_SPIN, m_DaySpin);
DDX_Text(pDX, IDC_EDIT_DAY, m_EditDay);
DDV_MinMaxInt(pDX, m_EditDay, 1, 31);
DDX_Text(pDX, IDC_EDIT_MONTH, m_EditMonth);
DDV_MinMaxInt(pDX, m_EditMonth, 1, 12);
DDX_Text(pDX, IDC_EDIT_YEAR, m_EditYear);
DDX_CBString(pDX, IDC_RTU_NAME, m_szRtuName);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CCurveDlg, CDialog)
//{{AFX_MSG_MAP(CCurveDlg)
ON_CBN_SELCHANGE(IDC_RTU_NAME, OnSelchangeRtuName)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CCurveDlg message handlers
BOOL CCurveDlg::OnInitDialog()
{
int itemp,iRtuNum,index,year,month,day;
char szDate[12],szBuff[NAME_LEN];
RmsSta sParam;
CDialog::OnInitDialog();
_strdate(szDate);
year=(szDate[6]-'0')*10+szDate[7]-'0';
month=(szDate[0]-'0')*10+szDate[1]-'0';
day=(szDate[3]-'0')*10+szDate[4]-'0';
year=(year>=97)? (year+1900) : (year+2000);
m_YearSpin.SetRange(1997, 2015);
m_YearSpin.SetBase(10);
m_YearSpin.SetPos(year);
m_MonthSpin.SetRange(1, 12);
m_MonthSpin.SetBase(10);
m_MonthSpin.SetPos(month);
m_DaySpin.SetRange(1, 31);
m_DaySpin.SetBase(10);
m_DaySpin.SetPos(day);
CDrawApp* pApp=(CDrawApp*)AfxGetApp();
for (itemp=0; itempm_QJCS.InstallSta; itemp++)
if (pApp->m_QJCS.StaToRtu[itemp]!=0)
m_RtuName.AddString(Stations[pApp->m_QJCS.StaToRtu[itemp]-1]->RtuName);
else
m_RtuName.AddString("Õ¾Ãû䶨Òå");
if (m_RtuName.GetCount()>0)
{
m_RtuName.SetCurSel(0);
index=m_RtuName.GetCurSel();
m_RtuName.GetLBText(index,szBuff);
iRtuNum=pApp->m_QJCS.StaToRtu[index];
if (iRtuNum<1) iRtuNum=1;
memcpy(&sParam,Stations[iRtuNum-1],sizeof(RmsSta));
for (itemp=0; itempRtuName,szRtuName)==0))
return (itemp+1);
return 0;
}
void CCurveDlg::OnSelchangeRtuName()
{
int index,iRtuNum,itemp,
ktemp,count,countSel;
char szBuff[NAME_LEN];
RmsSta sParam;
CWnd::GetDlgItemText(IDC_RTU_NAME,szBuff,NAME_LEN);
if (strlen(szBuff)!=0)
{
countSel=m_NameList.GetSelCount();
if (countSel>0)
{
iRtuNum=GetRtuNumberFromName(szBuff);
count=m_NameList.GetCount();
for (itemp=0; itemp0)
{
if (m_InfoTable.CurveNum>=CURVE_NUM) break;
ktemp=m_InfoTable.CurveNum;
m_InfoTable.Year[ktemp]= CWnd::GetDlgItemInt(IDC_EDIT_YEAR);
m_InfoTable.Month[ktemp]=CWnd::GetDlgItemInt(IDC_EDIT_MONTH);
m_InfoTable.Day[ktemp]=CWnd::GetDlgItemInt(IDC_EDIT_DAY);
m_InfoTable.RtuNum[ktemp]=iRtuNum;
m_InfoTable.ycOrder[ktemp]=itemp+1;
m_NameList.GetText(itemp,szBuff);
strcpy(m_InfoTable.ycName[ktemp],szBuff);
m_InfoTable.CurveNum++;
}
}
}
CDrawApp* pApp=(CDrawApp*)AfxGetApp();
index=m_RtuName.GetCurSel();
m_RtuName.GetLBText(index,szBuff);
iRtuNum=pApp->m_QJCS.StaToRtu[index];
if (iRtuNum<1) iRtuNum=1;
memcpy(&sParam,Stations[iRtuNum-1],sizeof(RmsSta));
m_NameList.ResetContent();
for (itemp=0; itemp0)
{
iRtuNum=GetRtuNumberFromName(szBuff);
count=m_NameList.GetCount();
for (itemp=0; itemp0)
{
if (m_InfoTable.CurveNum>=CURVE_NUM) break;
ktemp=m_InfoTable.CurveNum;
m_InfoTable.Year[ktemp]= CWnd::GetDlgItemInt(IDC_EDIT_YEAR);
m_InfoTable.Month[ktemp]=CWnd::GetDlgItemInt(IDC_EDIT_MONTH);
m_InfoTable.Day[ktemp]=CWnd::GetDlgItemInt(IDC_EDIT_DAY);
m_InfoTable.RtuNum[ktemp]=iRtuNum;
m_InfoTable.ycOrder[ktemp]=itemp+1;
m_NameList.GetText(itemp,szBuff);
strcpy(m_InfoTable.ycName[ktemp],szBuff);
m_InfoTable.CurveNum++;
}
}
else return;
y=CWnd::GetDlgItemInt(IDC_EDIT_YEAR);
m=CWnd::GetDlgItemInt(IDC_EDIT_MONTH);
d=CWnd::GetDlgItemInt(IDC_EDIT_DAY);
sprintf(m_szDate,"%04d-%02d-%02d",y,m,d);
CDialog::OnOK();
}