📄 taskmanager.cpp
字号:
// TaskManager.cpp : implementation file
//
#include "stdafx.h"
#include "FtpServer.h"
#include "TaskManager.h"
#include "UpdateDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CTaskManager dialog
CTaskManager::CTaskManager(CWnd* pParent /*=NULL*/)
: CDialog(CTaskManager::IDD, pParent)
{
//{{AFX_DATA_INIT(CTaskManager)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
void CTaskManager::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CTaskManager)
DDX_Control(pDX, IDC_LIST1, m_list);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CTaskManager, CDialog)
//{{AFX_MSG_MAP(CTaskManager)
ON_BN_CLICKED(IDC_BUTTONADD, OnButtonadd)
ON_BN_CLICKED(IDC_BUTTONDEL, OnButtondel)
ON_BN_CLICKED(IDC_BUTTONDELALL, OnButtondelall)
ON_BN_CLICKED(IDC_BUTTONUPDATE, OnButtonupdate)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CTaskManager message handlers
BOOL CTaskManager::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
/* m_list.SetBkColor(RGB(100,100,128));
m_list.SetTextBkColor(RGB(0,128,128));
m_list.SetTextColor(RGB(255,255,0));*/
m_list.SetExtendedStyle( LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT | LVS_EX_HEADERDRAGDROP );
TCHAR szBuf[20];
LV_COLUMN lvc;
int i;
for ( i = 0; i < 11; i++ )
{
//lvc.cx = 48+14*i;
switch(i)
{
case 0:
wsprintf(szBuf, _T("FTP地址"));
lvc.cx = 100;
break;
case 1:
wsprintf(szBuf, _T("FTP用户名") );
lvc.cx = 100;
break;
case 2:
wsprintf(szBuf, _T("FTP密码") );
lvc.cx = 100;
break;
case 3:
wsprintf(szBuf, _T("监控文件") );
lvc.cx = 300;
break;
case 4:
wsprintf(szBuf, _T("间隔小时") );
lvc.cx = 70;
break;
case 5:
wsprintf(szBuf, _T("间隔分钟") );
lvc.cx = 70;
break;
case 6:
wsprintf(szBuf, _T("上传后改名") );
lvc.cx = 80;
break;
case 7:
wsprintf(szBuf, _T("上传后删除") );
lvc.cx = 80;
break;
case 8:
wsprintf(szBuf, _T("上传路径") );
lvc.cx = 80;
break;
case 9:
wsprintf(szBuf, _T("开始时间") );
lvc.cx = 120;
break;
case 10:
wsprintf(szBuf, _T("终止时间") );
lvc.cx = 120;
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 CTaskManager::OnButtonadd()
{
// TODO: Add your control notification handler code here
CFtpServerApp *pApp = (CFtpServerApp *)AfxGetApp();
CMyTask *pTask = new CMyTask;
CMyTask *pTaskTmp = new CMyTask;
CUpdateDlg dlg;
if (pApp->m_diaryList.GetCount()>0)
{
pTaskTmp=pApp->m_diaryList.GetTail();
dlg.m_ftpname=pTaskTmp->m_FtpUserName;
dlg.m_ftppsw=pTaskTmp->m_FtpUserPsw;
dlg.m_ftpserver=pTaskTmp->m_FtpServer;
}
CTime tmp;
dlg.m_dateTmp=( tmp.GetCurrentTime()+CTimeSpan( 365, 1, 0, 0 ));
dlg.m_date=tmp.GetCurrentTime();
if(IDOK == dlg.DoModal())
{
pTask->m_SurveillantPath = dlg.m_filenametemp;
pTask->m_FtpUserName = dlg.m_ftpname;
pTask->m_FtpUserPsw = dlg.m_ftppsw;
pTask->m_FtpServer = dlg.m_ftpserver;
pTask->m_IntervalMinute = dlg.m_intervalminute;
pTask->m_IntervalHour = dlg.m_intervalhour;
pTask->m_RemoteFilePath = dlg.m_remotepath;
pTask->m_UploadDelete = dlg.m_del;
pTask->m_UploadRename = dlg.m_rename;
pTask->m_starthour = dlg.m_starthour;
// pTask->m_endhour = dlg.m_endhour;
pTask->m_TstartDate = dlg.m_date;
pTask->m_TendDate = dlg.m_dateTmp;
pApp->m_diaryList.AddTail(pTask);
pApp->onSave();
}
UpWindows();
}
void CTaskManager::OnButtondel()
{
// TODO: Add your control notification handler code here
int nSel;
POSITION pos;
CFtpServerApp *pApp = (CFtpServerApp *)AfxGetApp();
if(FindMyDiary(nSel, pos))
{
pApp->m_diaryList.RemoveAt(pos);
m_list.DeleteItem(nSel);
pApp->onSave();
}
else
{
//MessageBox("错误","错误", MB_OK);
}
}
int CTaskManager::FindMyDiary(int& nSel, POSITION& pos)
{
CFtpServerApp *pApp = (CFtpServerApp *)AfxGetApp();
POSITION pos1 = m_list.GetFirstSelectedItemPosition();
{
nSel = m_list.GetNextSelectedItem(pos1);
}
pos = pApp->m_diaryList.FindIndex(nSel);
// ASSERT(pos != NULL);
if ((pos == NULL) || (nSel == -1))
return 0;
return 1;
}
void CTaskManager::OnButtondelall()
{
// TODO: Add your control notification handler code here
CFtpServerApp *pApp = (CFtpServerApp *)AfxGetApp();
pApp->m_diaryList.RemoveAll();
m_list.DeleteAllItems();
pApp->onSave();
}
void CTaskManager::OnButtonupdate()
{
// TODO: Add your control notification handler code here
int nSel;
POSITION pos;
CFtpServerApp *pApp = (CFtpServerApp *)AfxGetApp();
if(FindMyDiary(nSel, pos))
{
CMyTask* pMyDiary=pApp->m_diaryList.GetAt(pos);
CUpdateDlg dlg;
dlg.m_filepath=pMyDiary->m_SurveillantPath;
dlg.m_ftpname=pMyDiary->m_FtpUserName;
dlg.m_ftppsw=pMyDiary->m_FtpUserPsw;
dlg.m_ftpserver=pMyDiary->m_FtpServer;
dlg.m_intervalminute=pMyDiary->m_IntervalMinute;
dlg.m_intervalhour=pMyDiary->m_IntervalHour;
dlg.m_remotepath=pMyDiary->m_RemoteFilePath;
dlg.m_del=pMyDiary->m_UploadDelete;
dlg.m_rename=pMyDiary->m_UploadRename;
dlg.m_starthour=pMyDiary->m_starthour;
dlg.m_date= pMyDiary->m_TstartDate ;
dlg.m_dateTmp= pMyDiary->m_TendDate;
// dlg.m_endhour=pMyDiary->m_endhour;
if(IDOK == dlg.DoModal())
{
pMyDiary->m_SurveillantPath = dlg.m_filepath;
pMyDiary->m_FtpUserName = dlg.m_ftpname;
pMyDiary->m_FtpUserPsw = dlg.m_ftppsw;
pMyDiary->m_FtpServer = dlg.m_ftpserver;
pMyDiary->m_IntervalMinute = dlg.m_intervalminute;
pMyDiary->m_IntervalHour = dlg.m_intervalhour;
pMyDiary->m_RemoteFilePath = dlg.m_remotepath;
pMyDiary->m_UploadDelete = dlg.m_del;
pMyDiary->m_UploadRename = dlg.m_rename;
pMyDiary->m_starthour = dlg.m_starthour;
pMyDiary->m_TstartDate = dlg.m_date;
pMyDiary->m_TendDate = dlg.m_dateTmp;
// pMyDiary->m_endhour = dlg.m_endhour;
pApp->onSave();
UpWindows();
}
}
else
{
//MessageBox("错误","错误", MB_OK);
}
}
void CTaskManager::UpWindows()
{
CFtpServerApp *pApp = (CFtpServerApp *)AfxGetApp();
m_list.DeleteAllItems();
WORD nCount;
POSITION pos;
CString my_date;
nCount = (WORD)pApp->m_diaryList.GetCount();
pos = pApp->m_diaryList.GetHeadPosition();
for(int k = 0; k < nCount && pos != NULL; k++)
{
CMyTask* pTask = pApp->m_diaryList.GetNext(pos);
m_list.InsertItem(k,LPSTR_TEXTCALLBACK);
//my_date = pApp->TimetoCString(pMyDiary->m_TDate);
//m_list.SetItemText(k, 0, my_date);
m_list.SetItemText(k, 0, pTask->m_FtpServer);
m_list.SetItemText(k, 1, pTask->m_FtpUserName);
m_list.SetItemText(k, 2, pTask->m_FtpUserPsw);
m_list.SetItemText(k, 3, pTask->m_SurveillantPath);
CString my_temp;
my_temp.Format("%d",pTask->m_IntervalHour);
m_list.SetItemText(k, 4, my_temp);
my_temp.Format("%d",pTask->m_IntervalMinute);
m_list.SetItemText(k, 5, my_temp);
if (pTask->m_UploadRename)
my_temp.Format("%s","是");
else
my_temp.Format("%s","否");
m_list.SetItemText(k, 6, my_temp);
if (pTask->m_UploadDelete)
my_temp.Format("%s","是");
else
my_temp.Format("%s","否");
m_list.SetItemText(k, 7, my_temp);
m_list.SetItemText(k, 8, pTask->m_RemoteFilePath);
my_temp.Format("%s %d时",TimetoCString(pTask->m_TstartDate),pTask->m_starthour);
m_list.SetItemText(k, 9, my_temp);
my_temp.Format("%s",TimetoCString(pTask->m_TendDate));
m_list.SetItemText(k, 10, my_temp);
}
}
CString CTaskManager::TimetoCString(CTime& m_Ttime)
{
int m_nyear, m_nmonth, m_nday;
CString m_date;;
char m_chyear[9], m_chmonth[5], m_chday[5];
m_nyear = m_Ttime.GetYear();
m_nmonth = m_Ttime.GetMonth();
m_nday = m_Ttime.GetDay();
_gcvt((double)m_nyear, 4, m_chyear);
_gcvt((double)m_nmonth, 2, m_chmonth);
_gcvt((double)m_nday, 2, m_chday);
m_date = (CString)m_chyear + "年" + (CString)m_chmonth + "月" + (CString)m_chday + "日";
return m_date;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -