📄 taskdlg.cpp
字号:
// TaskDlg.cpp : implementation file
//
#include "stdafx.h"
#include "Aotu.h"
#include "TaskDlg.h"
#include "FregDlg.h"
#include "Global.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CTaskDlg dialog
CTaskDlg::CTaskDlg(CWnd* pParent /*=NULL*/)
: CDialog(CTaskDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CTaskDlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
void CTaskDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CTaskDlg)
DDX_Control(pDX, IDC_LIST1, m_list);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CTaskDlg, CDialog)
//{{AFX_MSG_MAP(CTaskDlg)
ON_BN_CLICKED(IDC_UPDATEBTU, OnUpdatebtu)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CTaskDlg message handlers
void CTaskDlg::OnUpdatebtu()
{
// TODO: Add your control notification handler code here
int nSel;
POSITION pos;
if(FindMyDiary(nSel, pos))
{
CFregDlg fregdlg;
CTask* pMyDiary=global.m_TaskList.GetAt(pos);
CString strTmp;
strTmp.Format("***%s***\r\n***源表:%s ;目标表:%s***\r\n***最后执行时间:%s***\r\n",pMyDiary->taskName,pMyDiary->sourceTable,pMyDiary->objectTable,TimetoCString(pMyDiary->excuteTime));
fregdlg.m_TaskContent = strTmp;
fregdlg.m_day = pMyDiary->freday;
fregdlg.m_hour = pMyDiary->frehour;
fregdlg.m_minute = pMyDiary->freminute;
fregdlg.m_starthour = pMyDiary->starthour;
fregdlg.m_endhour = pMyDiary->endhour;
fregdlg.m_endTimet = pMyDiary->endTime;
fregdlg.m_startTimet = pMyDiary->startTime;
fregdlg.overflag = pMyDiary->overflag;
if(IDOK == fregdlg.DoModal())
{
pMyDiary->freday = fregdlg.m_day;
pMyDiary->frehour = fregdlg.m_hour;
pMyDiary->freminute = fregdlg.m_minute;
pMyDiary->starthour = fregdlg.m_starthour;
pMyDiary->endhour = fregdlg.m_endhour;
pMyDiary->endTime = fregdlg.m_endTimet;
pMyDiary->startTime = fregdlg.m_startTimet;
pMyDiary->overflag = fregdlg.overflag;
pMyDiary->OnSave();
global.OpenConfigDB();
UpWindows();
}
}
else
{
//MessageBox("错误","错误", MB_OK);
}
}
int CTaskDlg::FindMyDiary(int& nSel, POSITION& pos)
{
POSITION pos1 = m_list.GetFirstSelectedItemPosition();
{
nSel = m_list.GetNextSelectedItem(pos1);
}
pos = global.m_TaskList.FindIndex(nSel);
// ASSERT(pos != NULL);
if ((pos == NULL) || (nSel == -1))
return 0;
return 1;
}
BOOL CTaskDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_list.SetExtendedStyle( LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT | LVS_EX_HEADERDRAGDROP );
TCHAR szBuf[20];
LV_COLUMN lvc;
int i;
for ( i = 0; i < 10; i++ )
{
//lvc.cx = 48+14*i;
switch(i)
{
case 0:
wsprintf(szBuf, _T("任务名称"));
lvc.cx = 130;
break;
case 1:
wsprintf(szBuf, _T("记录最新时间") );
lvc.cx = 180;
break;
case 2:
wsprintf(szBuf, _T("执行间隔") );
lvc.cx = 120;
break;
case 3:
wsprintf(szBuf, _T("任务开始时间") );
lvc.cx = 100;
break;
case 4:
wsprintf(szBuf, _T("任务结束时间") );
lvc.cx = 100;
break;
case 5:
wsprintf(szBuf, _T("上次任务执行时间") );
lvc.cx = 180;
break;
case 6:
wsprintf(szBuf, _T("下次任务执行时间") );
lvc.cx = 180;
break;
case 7:
wsprintf(szBuf, _T("执行总次数") );
lvc.cx = 100;
break;
case 8:
wsprintf(szBuf, _T("成功次数") );
lvc.cx = 100;
break;
case 9:
wsprintf(szBuf, _T("失败次数") );
lvc.cx = 100;
break;
}
lvc.mask = LVCF_FMT | LVCF_SUBITEM | LVCF_TEXT | LVCF_WIDTH;
lvc.fmt = LVCFMT_LEFT;
lvc.pszText =szBuf;
lvc.iSubItem = i;
//lvc.cx = 48+14*i;
m_list.InsertColumn( i, &lvc );
}
UpWindows();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CTaskDlg::UpWindows()
{
global.OpenConfigDB();
m_list.DeleteAllItems();
WORD nCount;
POSITION pos;
CString my_date;
nCount = (WORD)global.m_TaskList.GetCount();
pos = global.m_TaskList.GetHeadPosition();
for(int k = 0; k < nCount && pos != NULL; k++)
{
CTask* pTask = global.m_TaskList.GetNext(pos);
m_list.InsertItem(k,LPSTR_TEXTCALLBACK);
m_list.SetItemText(k, 0, pTask->taskName);
m_list.SetItemText(k, 1, TimetoCString(pTask->excuteTime));
CString my_temp;
my_temp.Format("%d天,%d时,%d分",pTask->freday,pTask->frehour,pTask->freminute);
m_list.SetItemText(k, 2, my_temp);
m_list.SetItemText(k, 3, TimetoC(pTask->startTime));
m_list.SetItemText(k, 4, TimetoC(pTask->endTime));
m_list.SetItemText(k, 5, TimetoCString(pTask->preEXTime));
m_list.SetItemText(k, 6, TimetoCString(pTask->nextEXTime));
my_temp.Format("%d",pTask->countTime);
m_list.SetItemText(k, 7, my_temp);
my_temp.Format("%d",pTask->successSum);
m_list.SetItemText(k, 8, my_temp);
my_temp.Format("%d",pTask->failedSum);
m_list.SetItemText(k, 9, my_temp);
}
}
CString CTaskDlg::TimetoCString(DATE& m_Ttime)
{
COleDateTime tmp=m_Ttime;
int m_nyear, m_nmonth, m_nday;
int m_nhour,m_nminute,m_nsecond;
CString m_date;
char m_chyear[9], m_chmonth[5], m_chday[5];
char m_hour[9],m_minute[9],m_second[5];
m_nyear = tmp.GetYear();
m_nmonth = tmp.GetMonth();
m_nday = tmp.GetDay();
m_nhour = tmp.GetHour();
m_nminute = tmp.GetMinute();
m_nsecond = tmp.GetSecond();
m_date.Format("%d年%d月%d日 %d时%d分%d秒",m_nyear,m_nmonth,m_nday,m_nhour,m_nminute,m_nsecond);
return m_date;
}
CString CTaskDlg::TimetoC(DATE& m_Ttime)
{
COleDateTime tmp=m_Ttime;
int m_nyear, m_nmonth, m_nday;
CString m_date;
char m_chyear[9], m_chmonth[5], m_chday[5];
m_nyear = tmp.GetYear();
m_nmonth = tmp.GetMonth();
m_nday = tmp.GetDay();
m_date.Format("%d年%d月%d日",m_nyear,m_nmonth,m_nday);
return m_date;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -