📄 pheiftpdlg.cpp
字号:
bWorking=finder.FindNextFile();
currfd=finder.GetFileName();
if(finder.IsDirectory())
UploadDir(currfd);
else
Uploadsf(currfd);
}
else
{
CString mess=_T("Cannot upload: ")+selfile;
AfxMessageBox(mess);
}
finder.Close();
}
}
SetRemDir(m_remdir);
}
void CPheiFTPDlg::OnButtonLocparent()
{
CString tdir=m_locdir;
int slopepos=tdir.ReverseFind('\\');
if(slopepos==-1)
return;
m_locdir=tdir.Left(slopepos);
SetLocDir(m_locdir);
UpdateData(FALSE);
}
void CPheiFTPDlg::OnButtonRemparent()
{
CString tdir=m_remdir;
int slopepos=tdir.ReverseFind('/');
if(slopepos==-1)
return;
tdir=tdir.Left(slopepos);
if(tdir.IsEmpty())
tdir=_T("/");
if(m_pFtpConnection->SetCurrentDirectory(tdir))
{
m_remdir=tdir;
SetRemDir(m_remdir);
}
else
AfxMessageBox("Can not open the parent dir!");
UpdateData(FALSE);
}
void CPheiFTPDlg::SetLocDir(CString strlocdir)
{
if(strlocdir.IsEmpty())
strlocdir=_T("C:\\My Documents");
m_locdir=strlocdir;
//delete all existing items in the listctrl
m_locfile.DeleteAllItems();
//display all files and dirs in strlocdir
CFileFind finder;
CString strallfd=strlocdir+_T("\\*.*");
CString currfd;
int nItem=0;
BOOL bWorking = finder.FindFile(strallfd);
while (bWorking)
{
bWorking = finder.FindNextFile();
currfd=finder.GetFileName();
CString ismp3f=currfd.Right(4);
CString mp3f=_T(".mp3");
CString exef=_T(".exe");
CString htmf=_T(".htm");
if(finder.IsDots() || finder.IsHidden() || finder.IsSystem())
continue;
if(finder.IsDirectory())
m_locfile.InsertItem(nItem,currfd,2);
else if(ismp3f==mp3f)
m_locfile.InsertItem(nItem,currfd,0);
else if(ismp3f==exef)
m_locfile.InsertItem(nItem,currfd,3);
else if(ismp3f==htmf)
m_locfile.InsertItem(nItem,currfd,4);
else
m_locfile.InsertItem(nItem,currfd,1);
nItem++;
}
UpdateData(FALSE);
}
void CPheiFTPDlg::OnDblclkListLocfile(NMHDR* pNMHDR, LRESULT* pResult)
{
CListCtrl* pList=&m_locfile;
int nItem;
POSITION pos = pList->GetFirstSelectedItemPosition();
if (pos == NULL)
AfxMessageBox("No directary or file selected!");
else
{
nItem = pList->GetNextSelectedItem(pos);
CString seldir;
seldir=pList->GetItemText(nItem,0);
seldir=m_locdir+slope+seldir;
//the selected item is dir?
CFileFind finder;
BOOL bWorking = finder.FindFile(seldir);
if (bWorking)
{
bWorking = finder.FindNextFile();
if(finder.IsDirectory())
{
//if the selected item is dir,open it for local dir.
m_locdir=seldir;
SetLocDir(seldir);
UpdateData(FALSE);
}
else
{
ShellExecute(NULL, "open" ,seldir,NULL,NULL,SW_SHOWNORMAL);
}
}
}
*pResult = 0;
}
void CPheiFTPDlg::OnSelchangeComboLocdir()
{
UpdateData(TRUE);
CString rString;
int selnum=m_ctrllocdir.GetCurSel();
m_ctrllocdir.GetLBText(selnum,rString);
m_locdir=rString;
SetLocDir(m_locdir);
m_status=_T("Status: ");
UpdateData(FALSE);
}
void CPheiFTPDlg::OnKillfocusComboLocdir()
{
UpdateData(TRUE);
CString tdir=m_locdir;
int slopepos=tdir.ReverseFind('\\');
if(slopepos!=-1)
{
tdir=tdir.Left(slopepos);
if(tdir.GetLength()==m_locdir.GetLength()-1)
m_locdir=tdir;
}
SetLocDir(m_locdir);
m_status=_T("Status: ");
UpdateData(FALSE);
}
void CPheiFTPDlg::OnSetfocusComboLocdir()
{
m_status=_T("Local dir: ")+m_locdir;
UpdateData(FALSE);
}
void CPheiFTPDlg::SetRemDir(CString strremdir)
{
if(strremdir.IsEmpty())
strremdir=_T("/");
m_remdir=strremdir;
//delete all existing items in the listctrl
m_remfile.DeleteAllItems();
//display all files and dirs in strremdir
CFtpFileFind ftpFind(m_pFtpConnection);
BOOL bContinue = ftpFind.FindFile(strremdir);
if (!bContinue)
{
// the directory is empty; just close up and return.
ftpFind.Close();
return;
}
CString strFileName;
int nItem=0;
while (bContinue)
{
// FindNextFile must be called before info can be gleaned from ftpFind
bContinue = ftpFind.FindNextFile();
strFileName = ftpFind.GetFileName();
CString ismp3f=strFileName.Right(4);
CString mp3f=_T(".mp3");
CString exef=_T(".exe");
CString htmf=_T(".htm");
if(ftpFind.IsDots())
continue;
if(ftpFind.IsDirectory())
m_remfile.InsertItem(nItem,strFileName,2);
else if(ismp3f==mp3f)
m_remfile.InsertItem(nItem,strFileName,0);
else if(ismp3f==exef)
m_remfile.InsertItem(nItem,strFileName,3);
else if(ismp3f==htmf)
m_remfile.InsertItem(nItem,strFileName,4);
else
m_remfile.InsertItem(nItem,strFileName,1);
nItem++;
}
ftpFind.Close();
UpdateData(FALSE);
}
void CPheiFTPDlg::OnDblclkListRemfile(NMHDR* pNMHDR, LRESULT* pResult)
{
CListCtrl* pList=&m_remfile;
int nItem;
POSITION pos = pList->GetFirstSelectedItemPosition();
if (pos == NULL)
AfxMessageBox("No directary selected!");
else
{
nItem = pList->GetNextSelectedItem(pos);
CString seldir;
seldir=pList->GetItemText(nItem,0);
if(m_remdir==_T("/"))
seldir=m_remdir+seldir;
else
seldir=m_remdir+_T("/")+seldir;
//if the selected item is dir,open it for remote dir.
if(m_pFtpConnection->SetCurrentDirectory(seldir))
{
m_remdir=seldir;
SetRemDir(seldir);
UpdateData(FALSE);
}
else
AfxMessageBox("Can not open the dir or it is not a dir!");
}
*pResult = 0;
}
void CPheiFTPDlg::Downloadsf(CString strFileName)
{
CString pstrRemoteFile=m_remdir+_T("/")+strFileName;
CString pstrLocalFile=m_locdir+_T("\\")+strFileName;
if(m_pFtpConnection->GetFile(pstrRemoteFile,pstrLocalFile))
{
m_status=_T("Succeed to download ")+strFileName;
UpdateData(FALSE);
}
else
{
m_status=_T("Fail to download ")+strFileName;
UpdateData(FALSE);
}
}
void CPheiFTPDlg::Uploadsf(CString strFileName)
{
CString pstrRemoteFile=m_remdir+_T("/")+strFileName;
CString pstrLocalFile=m_locdir+_T("\\")+strFileName;
if(m_pFtpConnection->PutFile(pstrLocalFile,pstrRemoteFile))
{
m_status=_T("Succeed to upload ")+strFileName;
UpdateData(FALSE);
}
else
{
m_status=_T("Fail to upload ")+strFileName;
UpdateData(FALSE);
}
}
void CPheiFTPDlg::OnButtonManagesite()
{
CManageSite mngs;
for(int icpy=0;icpy<30;icpy++)
{
strcpy(mngs.sitearray[icpy].name,sitearray[icpy].name);
strcpy(mngs.sitearray[icpy].server,sitearray[icpy].server);
strcpy(mngs.sitearray[icpy].user,sitearray[icpy].user);
strcpy(mngs.sitearray[icpy].password,sitearray[icpy].password);
strcpy(mngs.sitearray[icpy].port,sitearray[icpy].port);
}
mngs.sitecount=sitecount;
if(mngs.DoModal()==IDOK)
{
sitecount=mngs.sitecount;
for(int icpyr=0;icpyr<sitecount;icpyr++)
{
strcpy(sitearray[icpyr].name,mngs.sitearray[icpyr].name);
strcpy(sitearray[icpyr].server,mngs.sitearray[icpyr].server);
strcpy(sitearray[icpyr].user,mngs.sitearray[icpyr].user);
strcpy(sitearray[icpyr].password,mngs.sitearray[icpyr].password);
strcpy(sitearray[icpyr].port,mngs.sitearray[icpyr].port);
}
if(sitefile.Open("sitemng",CFile::modeCreate | CFile::modeWrite))
{
char codedpassword[20];
for(int si=0;si<sitecount;si++)
{
for(int ic=0;ic<20;ic++)
{
char ccode=code[ic];
char cpassword=sitearray[si].password[ic];
codedpassword[ic]=cpassword + ccode;
}
sitefile.Write(sitearray[si].name,10);
sitefile.Write(sitearray[si].server,40);
sitefile.Write(sitearray[si].user,20);
sitefile.Write(codedpassword,20);
sitefile.Write(sitearray[si].port,10);
}
sitefile.Flush();
sitefile.Close();
}
}
}
void CPheiFTPDlg::OnSite1()
{
if(flagconnect)
OnButtonDisconnect();
int num=0;
m_server=_T(sitearray[num].server);
m_user=_T(sitearray[num].user);
m_password=_T(sitearray[num].password);
m_port=_T(sitearray[num].port);
UpdateData(FALSE);
OnButtonConnect();
}
void CPheiFTPDlg::OnSite2()
{
if(flagconnect)
OnButtonDisconnect();
int num=1;
m_server=_T(sitearray[num].server);
m_user=_T(sitearray[num].user);
m_password=_T(sitearray[num].password);
m_port=_T(sitearray[num].port);
UpdateData(FALSE);
OnButtonConnect();
}
void CPheiFTPDlg::OnSite3()
{
if(flagconnect)
OnButtonDisconnect();
int num=2;
m_server=_T(sitearray[num].server);
m_user=_T(sitearray[num].user);
m_password=_T(sitearray[num].password);
m_port=_T(sitearray[num].port);
UpdateData(FALSE);
OnButtonConnect();
}
void CPheiFTPDlg::OnSite4()
{
if(flagconnect)
OnButtonDisconnect();
int num=3;
m_server=_T(sitearray[num].server);
m_user=_T(sitearray[num].user);
m_password=_T(sitearray[num].password);
m_port=_T(sitearray[num].port);
UpdateData(FALSE);
OnButtonConnect();
}
void CPheiFTPDlg::OnSite5()
{
if(flagconnect)
OnButtonDisconnect();
int num=4;
m_server=_T(sitearray[num].server);
m_user=_T(sitearray[num].user);
m_password=_T(sitearray[num].password);
m_port=_T(sitearray[num].port);
UpdateData(FALSE);
OnButtonConnect();
}
void CPheiFTPDlg::OnSite6()
{
if(flagconnect)
OnButtonDisconnect();
int num=5;
m_server=_T(sitearray[num].server);
m_user=_T(sitearray[num].user);
m_password=_T(sitearray[num].password);
m_port=_T(sitearray[num].port);
UpdateData(FALSE);
OnButtonConnect();
}
void CPheiFTPDlg::OnSite7()
{
if(flagconnect)
OnButtonDisconnect();
int num=6;
m_server=_T(sitearray[num].server);
m_user=_T(sitearray[num].user);
m_password=_T(sitearray[num].password);
m_port=_T(sitearray[num].port);
UpdateData(FALSE);
OnButtonConnect();
}
void CPheiFTPDlg::OnSite8()
{
if(flagconnect)
OnButtonDisconnect();
int num=7;
m_server=_T(sitearray[num].server);
m_user=_T(sitearray[num].user);
m_password=_T(sitearray[num].password);
m_port=_T(sitearray[num].port);
UpdateData(FALSE);
OnButtonConnect();
}
void CPheiFTPDlg::OnSite9()
{
if(flagconnect)
OnButtonDisconnect();
int num=8;
m_server=_T(sitearray[num].server);
m_user=_T(sitearray[num].user);
m_password=_T(sitearray[num].password);
m_port=_T(sitearray[num].port);
UpdateData(FALSE);
OnButtonConnect();
}
void CPheiFTPDlg::OnSite10()
{
if(flagconnect)
OnButtonDisconnect();
int num=9;
m_server=_T(sitearray[num].server);
m_user=_T(sitearray[num].user);
m_password=_T(sitearray[num].password);
m_port=_T(sitearray[num].port);
UpdateData(FALSE);
OnButtonConnect();
}
void CPheiFTPDlg::OnSite11()
{
if(flagconnect)
OnButtonDisconnect();
int num=10;
m_server=_T(sitearray[num].server);
m_user=_T(sitearray[num].user);
m_password=_T(sitearray[num].password);
m_port=_T(sitearray[num].port);
UpdateData(FALSE);
OnButtonConnect();
}
void CPheiFTPDlg::OnSite12()
{
if(flagconnect)
OnButtonDisconnect();
int num=11;
m_server=_T(sitearray[num].server);
m_user=_T(sitearray[num].user);
m_password=_T(sitearray[num].password);
m_port=_T(sitearray[num].port);
UpdateData(FALSE);
OnButtonConnect();
}
void CPheiFTPDlg::OnSite13()
{
if(flagconnect)
OnButtonDisconnect();
int num=12;
m_server=_T(sitearray[num].server);
m_user=_T(sitearray[num].user);
m_password=_T(sitearray[num].password);
m_port=_T(sitearray[num].port);
UpdateData(FALSE);
OnButtonConnect();
}
void CPheiFTPDlg::OnSite14()
{
if(flagconnect)
OnButtonDisconnect();
int num=13;
m_server=_T(sitearray[num].server);
m_user=_T(sitearray[num].user);
m_password=_T(sitearray[num].password);
m_port=_T(sitearray[num].port);
UpdateData(FALSE);
OnButtonConnect();
}
void CPheiFTPDlg::OnSite15()
{
if(flagconnect)
OnButtonDisconnect();
int num=14;
m_server=_T(sitearray[num].server);
m_user=_T(sitearray[num].user);
m_password=_T(sitearray[num].password);
m_port=_T(sitearray[num].port);
UpdateData(FALSE);
OnButtonConnect();
}
void CPheiFTPDlg::OnSite16()
{
if(flagconnect)
OnButtonDisconnect();
int num=15;
m_server=_T(sitearray[num].server);
m_user=_T(sitearray[num].user);
m_password=_T(sitearray[num].password);
m_port=_T(sitearray[num].port);
UpdateData(FALSE);
OnButtonConnect();
}
void CPheiFTPDlg::OnSite17()
{
if(flagconnect)
OnButtonDisconnect();
int num=16;
m_server=_T(sitearray[num].server);
m_user=_T(sitearray[num].user);
m_password=_T(sitearray[num].password);
m_port=_T(sitearray[num].port);
UpdateData(FALSE);
OnButtonConnect();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -