FTP客户端课程设计报告书(3)
//获得选中的内容,得到第index行.第0列的内容(下标从0开始) CString FirstColumn=m_ctrlServerFile.GetItemText(index,0); CString SecondColumn = m_ctrlServerFile.GetItemText(index,1); CStringArray ServName; int nFileNumber=0;
if (index == 0) // 返回上层目录 {
if (cFtpOpr.setBackPath() == 0) {
*pResult = 0; return; }
UpdateServerFile();// 更新服务器的文件显示 CString temp;
m_ctrlServer.ResetContent(); cFtpOpr.GetPath(temp);
m_ctrlServer.AddString((LPSTR)(LPCTSTR)temp); m_ctrlServer.SetCurSel(0); *pResult = 0; return; }
if (SecondColumn==\文件夹\ {
if (cFtpOpr.setNextPath(FirstColumn) == 0) {
*pResult = 0; return; }
UpdateServerFile();// 更新服务器的文件显示 CString temp;
m_ctrlServer.ResetContent(); cFtpOpr.GetPath(temp);
m_ctrlServer.AddString((LPSTR)(LPCTSTR)temp); m_ctrlServer.SetCurSel(0); }
else if (SecondColumn==\文件\ {// 点到的是文件,进行下载
cFtpOpr.GetFtpFile(FirstColumn,m_strLocPath); ListLocFile(); }
*pResult = 0; }
// 将本地文件列表出来
void CFtpDlg::ListLocFile()
第10页
{
m_ctrlLocalFile.DeleteAllItems();
int ix = m_ctrlLocal.FindString(0,m_strLocPath); if (ix == CB_ERR) {
int iy = m_ctrlLocal.GetCount();
m_ctrlLocal.SetCurSel(m_ctrlLocal.AddString(m_strLocPath)); } else {
m_ctrlLocal.SetCurSel(m_ctrlLocal.SetCurSel(ix)); }
int k = 0;
m_ctrlLocalFile.InsertItem(0,\上层目录\ char * lpPath = (LPSTR)(LPCTSTR)m_strLocPath; char szFind[300];
WIN32_FIND_DATA FindFileData; strcpy(szFind,lpPath); strcat(szFind,\
HANDLE hFind=::FindFirstFile(szFind,&FindFileData); while(TRUE) {
if(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
CString str = FindFileData.cFileName; if (str != '.' && str != \ {
LVITEM lvitem;
lvitem.mask = LVIF_IMAGE|LVIF_TEXT; lvitem.iItem = k+1;
lvitem.pszText = (LPSTR)(LPCTSTR)str; lvitem.iImage = 0; lvitem.iSubItem =0;
m_ctrlLocalFile.InsertItem(&lvitem);
m_ctrlLocalFile.SetItemText(k+1,1,\文件夹\ ++k; } } else {
// 文件
LVITEM lvitem;
lvitem.mask = LVIF_IMAGE|LVIF_TEXT;
第11页
lvitem.iItem = k+1;
lvitem.pszText = FindFileData.cFileName; lvitem.iImage = 1; lvitem.iSubItem = 0;
m_ctrlLocalFile.InsertItem(&lvitem); m_ctrlLocalFile.SetItemText(k+1,1,\文件\ ++k; }
if(!FindNextFile(hFind,&FindFileData))break; }
FindClose(hFind); }
// 选择了本地文件的组合框中的不同项目
void CFtpDlg::OnSelchangeComboboxexLocal() {
m_ctrlLocal.SetCurSel(m_ctrlLocal.GetCurSel()); m_ctrlLocal.GetWindowText(m_strLocPath); m_ctrlLocal.ResetContent(); // 添加硬盘盘符
size_t szAllDriveStrings=::GetLogicalDriveStrings(0,NULL);
TCHAR *pDriveStrings=new TCHAR[szAllDriveStrings+sizeof(_T(\ GetLogicalDriveStrings(szAllDriveStrings,pDriveStrings); size_t szDriveString=::strlen(pDriveStrings); while(szDriveString>0) {
m_ctrlLocal.AddString(pDriveStrings); pDriveStrings+=szDriveString+1;
szDriveString=::strlen(pDriveStrings); }
ListLocFile(); }
// 点击了ASCII单选按钮 void CFtpDlg::OnAscii() {
bBinary1 = 0; }
// 点击了二进制单选按钮 void CFtpDlg::OnBinary() {
bBinary1 = 1; // 使用二进制 }
// 自动选择二进制或ASCII单选按钮
第12页
void CFtpDlg::OnAuto() {
bBinary1 = 2; // 自动 }
// 主动方式单选按钮
void CFtpDlg::OnActive() {
bPassive1 = 0; }
// 被动方式单选按钮
void CFtpDlg::OnPassive() {
bPassive1 = 1; }
// 上传
void CFtpDlg::OnBtnup() {
POSITION p=m_ctrlLocalFile.GetFirstSelectedItemPosition(); if (p == NULL) {
return; }
//获取刚选取的位置的下标(从0开始的)
int index = m_ctrlLocalFile.GetNextSelectedItem(p); //获得选中的内容
//得到第index行.第0列的内容(下标从0开始)
CString FirstColumn=m_ctrlLocalFile.GetItemText(index,0); CString SecondColumn = m_ctrlLocalFile.GetItemText(index,1); if (SecondColumn==\文件夹\ {
CTime CurrentTime=CTime::GetCurrentTime(); CString strTime;
strTime.Format(\\
CurrentTime.GetDay(),CurrentTime.GetHour(), CurrentTime.GetMinute(),
CurrentTime.GetSecond());
strTime += \暂不支持上传文件夹!\\r\\n\
int nLength = m_ediMessage.SendMessage(WM_GETTEXTLENGTH); m_ediMessage.SetSel(nLength, nLength); m_ediMessage.ReplaceSel(strTime); return; }
else if (SecondColumn==\文件\
第13页
{
// 点到的是文件,进行上传 if (cFtpOpr.ReStatus()==2) {
cFtpOpr.PutFtpFile(m_strLocPath + FirstColumn,FirstColumn); UpdateServerFile();// 更新服务器的文件显示 } } }
//下载
void CFtpDlg::OnBtndown() {
// TODO: Add your control notification handler code here POSITION p=m_ctrlServerFile.GetFirstSelectedItemPosition(); if (p == NULL) {
return; }
//获取刚选取的位置的下标(从0开始的)
int index = m_ctrlServerFile.GetNextSelectedItem(p); //获得选中的内容
//得到第index行.第0列的内容(下标从0开始)
CString FirstColumn=m_ctrlServerFile.GetItemText(index,0); CString SecondColumn = m_ctrlServerFile.GetItemText(index,1);
if (SecondColumn==\文件夹\ {
CTime CurrentTime=CTime::GetCurrentTime(); CString strTime;
strTime.Format(\\
CurrentTime.GetDay(),CurrentTime.GetHour(), CurrentTime.GetMinute(),
CurrentTime.Get …… 此处隐藏:2705字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [综合文档]应答器设备技术规范(征求意见稿)A1
- [综合文档]教师 2012年高考政治试题按考点分类汇
- [综合文档]保险公司的总经理助理竞职演说
- [综合文档]卫生应急大练兵大比武活动考试--题库(
- [综合文档]徐州经济技术开发区总体规划环境影响报
- [综合文档]汉语拼音表(带声调)
- [综合文档]二年级 上 思维训练( 1~18)
- [综合文档]特色学校五年发展规划
- [综合文档]机床经常出现报警“X1轴定位监控”
- [综合文档]《电子技术基础》21.§5—2、3、4 习题
- [综合文档]浙江省深化普通高中课程改革
- [综合文档]CRISP原理 - 图文
- [综合文档]2017年电大社会调查研究与方法形考答案
- [综合文档]浅析建筑施工安全毕业论文
- [综合文档]《回忆我的母亲》名师教案
- [综合文档]装饰装修工程监理规划
- [综合文档]三下乡心得体会-文艺
- [综合文档]柱计算长度系数 - 图文
- [综合文档]全流程思考,提高燃电系统热电转换率--
- [综合文档]2018年嘉定区中考物理一模含答案
- 433M车库门滚动码遥控器
- 8、架空线路施工规范
- 大学四年声乐学习的体会
- 新北师大版五年级数学上册《轴对称再认
- 部编版五年级上册语文第六单元小结复习
- 小学六年级英语形容词用法
- 第2课 抗美援朝保家卫国 课件01(岳麓版
- 2015年天津大学运筹学基础考研真题,考
- 微机计算机控制技术课后于海生(第2版)
- 安全教育实践活动
- Delphi程序设计教程_第1章_Delphi概述
- 第八讲 工业革命与启蒙运动
- 《中华人民共和国药典》2005年版二部勘
- 科粤版九年级化学2.3构成物质的微粒(1)
- 西师大版数学三年级下册《长方形、正方
- ch6_冒泡排序演示
- 第4章 冲裁模具设计
- 浙江中小民营企业员工流失论文[终稿]
- 再议有线数字电视市场营运模式
- 昆明供水工程监理大纲




