教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 综合文档 >

FTP客户端课程设计报告书(3)

来源:网络收集 时间:2026-08-29
导读: //获得选中的内容,得到第index行.第0列的内容(下标从0开始) CString FirstColumn=m_ctrlServerFile.GetItemText(index,0); CString SecondColumn = m_ctrlServerFile.GetItemText(index,1); CStringArray ServName

//获得选中的内容,得到第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字,全部文档内容请下载后查看。喜欢就下载吧 ……

FTP客户端课程设计报告书(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/404873.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)