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

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

来源:网络收集 时间:2026-08-29
导读: { CString strAboutMenu; strAboutMenu.LoadString(IDS_ABOUTBOX); if (!strAboutMenu.IsEmpty()) { pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); } } SetI

{

CString strAboutMenu;

strAboutMenu.LoadString(IDS_ABOUTBOX); if (!strAboutMenu.IsEmpty()) {

pSysMenu->AppendMenu(MF_SEPARATOR);

pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); } }

SetIcon(m_hIcon, TRUE); SetIcon(m_hIcon, FALSE); m_ctrBinary.SetCheck(1); m_ctrActive.SetCheck(1);

m_editPort.SetWindowText(\ bBinary1 = 1; // 使用二进制 bPassive1 = 0; // 使用主动 myPort = 21;

m_imgList.Create(20,20,ILC_COLOR32,0,0); // 创建图像列表 m_imgList.SetBkColor(RGB(255,255,255)); // 文件夹图标

hIconFold = ::LoadIcon(AfxGetResourceHandle(),MAKEINTRESOURCE(IDI_FOLDER)); // 文件图标

hIconFile = ::LoadIcon(AfxGetResourceHandle(),MAKEINTRESOURCE(IDI_FILE)); m_imgList.Add(hIconFold); m_imgList.Add(hIconFile);

m_ctrlLocalFile.SetImageList(&m_imgList,LVSIL_SMALL); // 关联 m_ctrlServerFile.SetImageList(&m_imgList,LVSIL_SMALL); // 关联 m_editServer.SetWindowText(\ m_editName.SetWindowText(\ m_editPassword.SetWindowText(\ m_btnCon.EnableWindow(TRUE); m_btnClo.EnableWindow(FALSE);

m_ctrlLocalFile.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES); m_ctrlServerFile.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES); m_ctrlLocalFile.InsertColumn(0,\文件名\设置列 m_ctrlLocalFile.InsertColumn(1,\文件类型\ m_ctrlLocalFile.InsertColumn(2,\修改日期\

m_ctrlServerFile.InsertColumn(0,\文件名\设置列 m_ctrlServerFile.InsertColumn(1,\文件类型\ m_ctrlServerFile.InsertColumn(2,\修改日期\ // 添加硬盘盘符

size_t szAllDriveStrings=::GetLogicalDriveStrings(0,NULL);

TCHAR *pDriveStrings=new TCHAR[szAllDriveStrings+sizeof(_T(\ GetLogicalDriveStrings(szAllDriveStrings,pDriveStrings); size_t szDriveString=::strlen(pDriveStrings);

第5页

while(szDriveString>0) {

m_ctrlLocal.AddString(pDriveStrings); pDriveStrings+=szDriveString+1;

szDriveString=::strlen(pDriveStrings); }

int index = m_ctrlLocal.FindString(0,\ m_ctrlLocal.SetCurSel(index);

m_strLocPath = \初始化为c盘 ListLocFile();

cFtpOpr.setEidt(&m_ediMessage);

return TRUE; // return TRUE unless you set the focus to a control }

void CFtpDlg::OnSysCommand(UINT nID, LPARAM lParam) {

if ((nID & 0xFFF0) == IDM_ABOUTBOX) {

CAboutDlg dlgAbout; dlgAbout.DoModal(); } else {

CDialog::OnSysCommand(nID, lParam); } }

void CFtpDlg::OnPaint() {

if (IsIconic()) {

CPaintDC dc(this); // device context for painting

SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect rect;

GetClientRect(&rect);

int x = (rect.Width() - cxIcon + 1) / 2; int y = (rect.Height() - cyIcon + 1) / 2; dc.DrawIcon(x, y, m_hIcon); } else {

CDialog::OnPaint(); } }

第6页

HCURSOR CFtpDlg::OnQueryDragIcon() {

return (HCURSOR) m_hIcon; }

// 连接服务器

void CFtpDlg::OnBtnConnect() {

// TODO: Add your control notification handler code here

m_editServer.GetWindowText(m_strServer); // 记录FTP服务器地址 CString strtemp;

m_editPort.GetWindowText(strtemp);

myPort = ::atoi(strtemp); // 获得设置的端口号 int i;

if (bAnony == 0) {// 不使用匿名

m_editName.GetWindowText(m_strName); // 记录FTP登陆用户名 m_editPassword.GetWindowText(m_strPassword); // 记录FTP登陆用户密码 i = cFtpOpr.set(m_strServer,m_strName,m_strPassword); } else

{// 使用匿名

CString strNameTemp;

m_editName.GetWindowText(strNameTemp); // 匿名登陆的用户名 i = cFtpOpr.set(m_strServer,strNameTemp,\ }

if (i)

{// 设置成功,打开连接

if (cFtpOpr.OpenConnection()) {// 连接成功

m_btnClo.EnableWindow(TRUE); m_btnCon.EnableWindow(FALSE);

UpdateServerFile();// 更新服务器的文件显示 m_ctrlServer.ResetContent(); CString temp;

cFtpOpr.GetPath(temp);

m_ctrlServer.AddString((LPSTR)(LPCTSTR)temp); m_ctrlServer.SetCurSel(0);

m_chkAnony.EnableWindow(FALSE); m_ctrActive.EnableWindow(FALSE);

CButton *temp2 =(CButton*)GetDlgItem(IDC_PASSIVE); temp2->EnableWindow(FALSE); m_editPort.EnableWindow(FALSE); } else

第7页

{

// 连接失败 } } }

void CFtpDlg::OnBtnClose() {// 关闭连接

if (cFtpOpr.CloseConnection()) {// 关闭成功

m_btnClo.EnableWindow(FALSE); m_btnCon.EnableWindow(TRUE);

m_ctrlServerFile.DeleteAllItems(); m_ctrlServer.ResetContent(); m_ctrActive.EnableWindow(TRUE);

CButton *temp2 =(CButton*)GetDlgItem(IDC_PASSIVE); temp2->EnableWindow(TRUE); m_editPort.EnableWindow(TRUE); m_chkAnony.EnableWindow(TRUE); } }

// 双击本地文件列表控件中的选项

void CFtpDlg::OnDblclkListLocalfile(NMHDR* pNMHDR, LRESULT* pResult) {

// TODO: Add your control notification handler code here 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 (index == 0) // 返回上层目录 {

int k = m_strLocPath.GetLength() - 1; if (m_strLocPath.Right(2) == \ {

return; }

// 删除当层的项目

int ix = m_ctrlLocal.FindString(0,m_strLocPath);

第8页

if (ix != CB_ERR) {

m_ctrlLocal.DeleteString(ix); }

for (int j = k -1; j >= 2;--j) {

if (m_strLocPath.GetAt(j) == '\\\\') {

m_strLocPath = m_strLo …… 此处隐藏:3480字,全部文档内容请下载后查看。喜欢就下载吧 ……

FTP客户端课程设计报告书(2).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)