freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計(jì)--簡單ftp客戶端的實(shí)現(xiàn)-畢業(yè)設(shè)計(jì)(參考版)

2025-01-23 04:23本頁面
  

【正文】 深入淺出 MFC 華中科技出版社 [2] 孫鑫著。同時(shí)通過這次課程設(shè)計(jì)我們形成了通過從各方面查找資料來豐富自己的知識(shí)的能力。 8 心得體會(huì) 在這次課程設(shè)計(jì)中,我們小組通過從各個(gè)方面查找資料,了 解了 WinI API編程的基本知識(shí),熟悉了 MFC 編程中的一些控件知識(shí),通過這次設(shè)計(jì)鍛煉了我們組員的團(tuán)隊(duì)協(xié)作能力。 3. 在返回上一級(jí)目錄的函數(shù)編寫過程中,無法返回到根目錄 原因: 比如:在 ”/FTP”之下,返回到上一級(jí) 目錄,原代碼將導(dǎo)致當(dāng)前目錄strCurrentDirectory 為空, 如果運(yùn)行 m_pConnectionSetCurrentDirectory(strCurrentDirectory),顯然也是不對(duì)的 解決之道: 在 GetLastDiretory 中添加判斷:當(dāng)前目錄是否為空,如果是,則設(shè)置strCurrentDirectory=”/”。 2. 在進(jìn)入下一級(jí)目錄的函數(shù)編寫過程中,只能進(jìn)入第二層目錄 原因: 假設(shè)當(dāng)前目錄為 “/”,進(jìn)入第一層子目錄 ”FTP”之后,當(dāng)前目錄變?yōu)椤?/FTP”,再想進(jìn)入 FTP 目錄下的 ”MyFtp”子目錄的時(shí)候,之前的代碼,僅僅是實(shí)現(xiàn)了 “/FTP”+”MyFtp”簡單加法,即當(dāng)前目錄為 ”/FTPMyFtp”,雖然是不對(duì)的。 //銷毀對(duì)話框資源 } 6.測試程序 連接操作: 綜合設(shè)計(jì) 簡單 Ftp 客戶端的實(shí)現(xiàn) 25 連接成功后: 綜合設(shè)計(jì) 簡單 Ftp 客戶端的實(shí)現(xiàn) 26 此后可根據(jù) FTP 服務(wù)器所提供的權(quán)限進(jìn)行相應(yīng)的操作 7.整個(gè)設(shè)計(jì)過程中遇到的主 要問題 1. 如果已經(jīng)連上了某服務(wù)器 ,而在沒有退出程序之前,再點(diǎn)連接 ,就會(huì)有問題了 原因 : CFtpDlg在調(diào)用 OnExit 函數(shù)的時(shí)候僅僅是隱藏了對(duì)話框 ,并沒有銷毀它 ,導(dǎo)致了 m_FtpDlg的重復(fù)創(chuàng)建 (IDD_DIALOG2,this)。 m_pFileFind = NULL。 } } OnQuary()。 if (m_pConnectionRename(strOldName,strNewName)) AfxMessageBox(重命名成功! ,MB_OK|MB_ICONINFORMATION)。//得到所選擇的文件名 CNewNameDlg dlg。 if (i==1) { AfxMessageBox(沒有選擇文件 !,MB_OK | MB_ICONQUESTION)。 CString strOldName。 CDialog::OnOK()。 } } OnQuary()。 } else { if (m_pConnectionRemove(strFileName)) AfxMessageBox(刪除成功! ,MB_OK|MB_ICONINFORMATION)。 strFileName = (i,0)。 if (i==1) { AfxMessageBox(沒有選擇文件 !,MB_OK | MB_ICONQUESTION)。 } //更新 ClistCtrl 的內(nèi)容 OnQuary()。 //調(diào)用 CFtpConnect 類中的 PutFile 函數(shù)上傳文件 if (m_pConnectionPutFile(strSourceName,strDestName)) AfxMessageBox(上傳成功! ,MB_OK|MB_ICONINFORMATION)。 if (()==IDOK) { //獲得待上傳的本地機(jī)文件路徑和文件名 strSourceName = ()。 //原文件名 CString strDestName。 } } else { //選擇的是目錄 AfxMessageBox(不能下載目錄 !\n 請(qǐng)重選 !,MB_OK|MB_ICONSTOP)。 //調(diào)用 CFtpConnect 類中的 GetFile 函數(shù)下載文件 if (m_pConnectionGetFile(strSourceName,strDestName)) AfxMessageBox(下載成功! ,MB_OK|MB_ICONINFORMATION)。 CFileDialog dlg(FALSE,strSourceName)。 //下載后的文件名 CString strSourceName。 } else { //如果選中了文件 ,則得到選擇項(xiàng)的類型,判斷是不是文件 CString strType=(i,2)。 } 綜合設(shè)計(jì) 簡單 Ftp 客戶端的實(shí)現(xiàn) 21 模塊四 : FTP 客戶端部分功能的實(shí)現(xiàn) : (李明 負(fù)責(zé)) 下載函數(shù) OnDownLoad: 為 ”下載 ”按紐添加 BN_CLICKED 響應(yīng)函數(shù) OnDownLoad,代碼如下: void CFtpDlg::OnDownload() { int i=(1,LVNI_SELECTED)。//得到當(dāng)前的數(shù)值 “i” } //刪除最后一個(gè) ?/?之后的字符串 str = (LastIndex)。/39。 i()。str) { int LastIndex=0。 //對(duì)當(dāng)前目錄進(jìn)行查詢 ,更新 ClistCtrl 控件的內(nèi)容 ListContent(*)。 } else { //調(diào)用函數(shù) GetLastDiretory,得到上一級(jí)目錄名 GetLastDiretory(strCurrentDirectory)。 //聲明為靜態(tài)變量 m_pConnectionGetCurrentDirectory(strCurrentDirectory)。 //對(duì)當(dāng)前目錄進(jìn)行查詢 ,更新 ClistCtrl 控件的內(nèi)容 ListContent(*)。 } else { //判斷是不是目錄 if (DIR!=(i,2))//顯示文件的第三列非 DIR { AfxMessageBox(不是子目錄 !,MB_OK | MB_ICONSTOP)。 //判斷文件是否選中 strSub = (i,0)。 strCurrentDirectory+=/。 } } 下一級(jí)目錄函數(shù) OnNextdirectory: 為 ”下一級(jí)目錄 ”按紐添加 BN_CLICKED 響應(yīng)函數(shù) OnNextdirectory,代碼如下: void CFtpDlg::OnNextdirectory() { static CString strCurrentDirectory, strSub。 (i,2,strFileLength)。 (i,strFileName,0)。 else (% GB, 綜合設(shè)計(jì) 簡單 Ftp 客戶端的實(shí)現(xiàn) 19 (LONGLONG)m_pFileFindGetLength64()/(*1024*1024))。 } else { if (m_pFileFindGetLength64() (1024*1024)) (% KB, (LONGLONG)m_pFileFindGetLength64()/)。 if (m_pFileFindIsDirectory()) { //如果是目錄不求大小 ,用 DIR代替 strFileLength = DIR。 CTime FileTime(ft)。 m_pFileFindGetLastWriteTime(amp。 strFileName = m_pFileFindGetFileName()。 CString strFileLength。 } CString strFileName。 if (!bContinue) { //查找完畢 ,失敗 m_pFileFindClose()。 綜合設(shè)計(jì) 簡單 Ftp 客戶端的實(shí)現(xiàn) 18 BOOL bContinue。 } CFtpDlg 添加函數(shù) ListContent 聲明: void ListContent(LPCTSTR )。 return TRUE。 //初如化 CftpFileFind 類對(duì)象 m_pFileFind m_pFileFind = new CFtpFileFind(m_pConnection)。 (1,日期 ,LVCFMT_CENTER,100)。 //設(shè)置 CListCtrl 對(duì)象的屬性 (LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES)。 m_pFileFind = NULL。 } CView::OnTimer(nIDEvent)。 //創(chuàng)建非模態(tài)對(duì)話框 CFtpDlg 綜合設(shè)計(jì) 簡單 Ftp 客戶端的實(shí)現(xiàn) 16 (IDD_DIALOG2,this)。 KillTimer(1)。 //提醒用戶 } } else //如果連接成功,執(zhí)行如下 { CString str=連接成功 !。 KillTimer(1)。 ((CMainFrame*)GetParent())SetMessageText(str)。 //用于判斷是否超時(shí) time_out++。 m_pConnection=NULL。 m_pConnection=m_pSessionGetFtpConnection(m_FtpWebSite, m_UserName,m_UserPwd)。 //設(shè)置定時(shí)器 ,一秒發(fā)一次 WM_TIMER CString str=正在連接中 ....。 m_pSession=new CInterSession(AfxGetAppName(), 1, PRE_CONFIG_INTERNET_ACCESS)。 m_UserName = 。 m_pSession = NULL。 m_pConnection = NULL。 m_UserPwd = _T()。 //用于建立 Ftp 連接 注: CFtpDlg 為后建立的新類 并在構(gòu)造函數(shù)中初如化: CMyFtpView::CMyFtpView() { m_FtpWebSite = _T()。
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1