- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
FtpExp实验
FtpExp程序
新建一个基于对话框的工程,取名FtpExp。
构建对话框,共三个静态文本,三个编辑框,两个按钮,一个组合框,一个 复选框,一个列表框。
更改属性:两个按钮的ID分别为IDC_LOGIN、IDC_EXIT;标题为“登陆”、 “退出”;复选框的ID改为IDC_ANONYMOUS,标题为“匿名登陆”;组 合框的标题改为“文件浏览列表”;三个静态文本框的标题分别改为“Ftp地 址”、“用户名”、“密码”;三个编辑框的ID分别改为IDC_EDIT_SERVER、 IDC_EDIT_NAME、IDC_EDIT_PASSWORD;列表框的ID改为 IDC_LIST_FILE;IDC_EDIT_PASSWORD的控件的样式中“密码“为true。
分别为三个编辑框添加Cstring类型的成员变量m_strServer、m_strName、 m_strPassword来分别表示Ftp地址、用户名和密码;为列表框添加ClistBox 类型的成员变量m_listFile;为复选框添加CButton类型的成员变量 m_btnAnonymous。
在CFtpExpDlg类的头文件中添加所要包含的头文件,具体代码如下:
#includeafxinet.h;
为两个按钮添加各自的单击消息函数OnLogin() 、OnExit()。
为复选框添加单击消息函数OnAnonymous() 。
为OnAnonymous()添加代码如下:
void CFtpExpDlg::OnAnonymous()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
int check = m_btnAnonymous.GetCheck();
if(check == 1)
{
m_strName=anonymous;
m_strPassword=yours@;
UpdateData(FALSE);
}
}
在CFtpExpDlg类的头文件中添加如下成员函数和成员变量,代码如下:
public:
CFtpExpDlg(CWnd* pParent = NULL); // standard constructor
成员函数:
//初始化一个Internet连接
void InitConnection();
//连接FTP服务器
BOOL OpenConnection(CString strServer);
//获取FTP服务器上的文件目录
int GetFileName(CStringArray * localNameArray );
//关闭与FTP服务器的连接
BOOL CloseConnection();
成员变量:
//定义CInternetSession类对象指针
CInternetSession *pInternetSession;
//定义CFtpConnection类对象指针
CFtpConnection *pFtpConnection;
//存储FTP站点的URL
CString m_strFullURL;
//存储FTP服务器的路径名
CString m_strFullPath;
//应用程序的名字
CString strAppName;
//Internet服务的类型
DWORD dwServiceType;
//FTP服务器的端口号
INTERNET_PORT nPort;
编写CFtpExpDlg类的各个成员函数,参考代码如下:
void CFtpExpDlg::InitConnection()
{
//获取应用程序名称
strAppName.LoadString(AFX_IDS_APP_TITLE);
// 创建一个Internet会话
pInternetSession = new CInternetSession(strAppName,
INTERNET_OPEN_TYPE_PRECONFIG);
// 如果创建失败,则返回并给出错误信息
if(!pInternetSession)
{
AfxMessageBox(初始化会话失败!);
return;
}
}
BOOL CFtpExpDlg::OpenConnection(CString strServer)
{
//设置等待光标
CWaitCursor cursor;
//若FTP服务器的URL为空返回0
if(strServer == )
return 0;
//若用户名或密码为空则返回0
if( (m_strPassword
文档评论(0)