毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

VC++的ftp客户端设计论文(流程图+源代码) 第6页

更新时间:2010-5-18:  来源:毕业论文
VC++的ftp客户端设计论文(流程图+源代码) 第6页
5.3.6 上一级目录函数OnLasttdirectory:

1.为”上一级目录”按纽添加BN_CLICKED响应函数OnLastdirectory,代码如下:
//返回上一级目录
void CFtpDlg::OnLastdirectory()

 static CString  strCurrentDirectory;  //声明为静态变量
    m_pConnection->GetCurrentDirectory(strCurrentDirectory);
 if (strCurrentDirectory == "/")
 {
  AfxMessageBox("已经是根目录了!",MB_OK | MB_ICONSTOP);
 }
 else
 {
        //调用函数GetLastDiretory,得到上一级目录名
        GetLastDiretory(strCurrentDirectory);
        //设置当前目录为上一级目录
        m_pConnection->SetCurrentDirectory(strCurrentDirectory);
  //对当前目录进行查询,更新ClistCtrl控件的内容
        ListContent("*");
 }
}

2.为CFtpDlg类添加一工具函数GetLastDiretory用于得到上一级目录的名称
//用于得到上一级目录的字符串表示
void CFtpDlg::GetLastDiretory(CString &str)
{
 int LastIndex=0;//定义一个初始整形变量
 for (int i=0; i<str.GetLength(); i++)//定义i取得当前地址字符串长度
 {
  if (str.GetAt(i)=='/')//追溯至数组的最后一个“/”
   LastIndex = i;//得到当前的数值“i”
 }
    //删除最后一个’/’之后的字符串
 str = str.Left(LastIndex);//自带的left()函数:返回参数前的所有字符串
 if (LastIndex == 0)//当追溯的本身即为根目录
  str="/";
}


5.4 模块四: FTP客户端部分功能的实现: (李明 负责)
5.4.1 下载函数OnDownLoad:

    为”下载”按纽添加BN_CLICKED响应函数OnDownLoad,代码如下:
void CFtpDlg::OnDownload()
{
 int i=m_FtpFile.GetNextItem(-1,LVNI_SELECTED);
//先判断是否已经选中文件
 if (i==-1) //如果没有被选中
 { //弹出对话框提示没有选择文件
        AfxMessageBox("没有选择文件!",MB_OK | MB_ICONQUESTION);
 }
 else
 {
//如果选中了文件,则得到选择项的类型,判断是不是文件
    CString strType=m_FtpFile.GetItemText(i,2);  
  if (strType!="<DIR>")   //选择的是文件
  {
   CString strDestName;  //下载后的文件名
   CString strSourceName; //原文件名
//得到所要下载的文件名
   strSourceName = m_FtpFile.GetItemText(i,0);   
   CFileDialog dlg(FALSE,"",strSourceName);
         //弹出SAVE AS对话框 
   if (dlg.DoModal()==IDOK)
   {
    //获得下载文件在本地机上存储的路径和名称
    strDestName=dlg.GetPathName(); 
    //调用CFtpConnect类中的GetFile函数下载文件
if (m_pConnection->GetFile(strSourceName,strDestName))
AfxMessageBox("下载成功!",MB_OK|MB_ICONINFORMATION);
else
AfxMessageBox("下载失败!",MB_OK|MB_ICONSTOP);
 }
}
else
{
 //选择的是目录
 AfxMessageBox("不能下载目录!\n请重选!",MB_OK|MB_ICONSTOP);
 }
}
}

5.4.2 上传函数OnUpLoad:

 为”上传”按纽添加BN_CLICKED响应函数OnUpload,代码如下:
void CFtpDlg::OnUpload()
{
 //获得当前输入
 CString strSourceName; //原文件名
 CString strDestName;
 CFileDialog dlg(TRUE,"","*.*");
 if (dlg.DoModal()==IDOK)
 {
  //获得待上传的本地机文件路径和文件名
  strSourceName = dlg.GetPathName();
  strDestName = dlg.GetFileName(); 
  //调用CFtpConnect类中的PutFile函数上传文件
  if (m_pConnection->PutFile(strSourceName,strDestName))
   AfxMessageBox("上传成功!",MB_OK|MB_ICONINFORMATION);
  else
   AfxMessageBox("上传失败!",MB_OK|MB_ICONSTOP);
 }
    //更新ClistCtrl的内容
    OnQuary();
}

5.4.3 删除函数OnDelete:

 为”删除”按纽添加BN_CLICKED响应函数OnDelete,代码如下:
//删除选择的文件
void CFtpDlg::OnDelete()
{
 int i=m_FtpFile.GetNextItem(-1,LVNI_SELECTED);
 if (i==-1)
 {
        AfxMessageBox("没有选择文件!",MB_OK | MB_ICONQUESTION);
 }
 else
 {
  CString  strFileName;
  strFileName = m_FtpFile.GetItemText(i,0);
  if ("<DIR>"==m_FtpFile.GetItemText(i,2))

上一页  [1] [2] [3] [4] [5] [6] [7] 下一页

VC++的ftp客户端设计论文(流程图+源代码) 第6页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。