Chinaunix首页 | 论坛 | 博客
  • 博客访问: 14497507
  • 博文数量: 5645
  • 博客积分: 9880
  • 博客等级: 中将
  • 技术积分: 68081
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-28 13:35
文章分类

全部博文(5645)

文章存档

2008年(5645)

我的朋友

分类:

2008-04-28 20:54:11

下载本文示例代码
  一.Managed C 简介:  Managed C 是微软Visual Studio.Net的一部分,它是从标准C 发展而来的,所以和标准C 几乎是一样的。不过因为它是建立在.Net架构之上的,经编译器编译后生成的是微软的中间语言(Microsoft Intermediate Language,MSIL),用它来编写的代码是托管的C 代码,所以相对标准C 它又多了几分新异。  二.新邮件检查原理简介:  首先,我想有必要向大家介绍一下通过POP3协议完成新邮件检查的基本原理。在了解的其基本原理的基础上完成整个程序也就变得相对容易了。  POP3协议工作的基本原理如下:  一开始便是客户端与服务器的连接。不过,在客户端连接到服务器之前,注意把端口设为POP3协议默认的110号。  客户端连接服务器成功后,服务器会返回以下信息:   OK……  字符 OK是POP3协议的返回信息。它的回应信息不像SMTP协议那样用丰富多变的数字表示,只有两个: OK或者-ERR。其中, OK表示连接成功,而-ERR则表示连接失败。  接下来,客户端输入USER <用户名>  该命令告诉服务器你的用户名。注意,有些服务器会区分大小写字母的。  服务器返回 OK后,客户端输入PASS <口令>  服务器返回 OK后,还返回一些邮箱的统计信息,比如: OK 1 message(s) [1304 byte(s)]  不同的服务器返回的信息格式不太一样,所以我们可以用STAT命令来查看邮箱的情况。STAT命令的回应中有两个数字,分别表示邮件的数量和邮件的大小。  如果信箱里有信,就可以用RETR命令来获取邮件的正文。RETR命令的格式为:   RETR <邮件编号>  如果返回结果第一行是 OK信息,则表示成功。第二行起便是邮件的正文。最后一行和SMTP协议一样,是一个单独的英文句号,表示邮件的结尾部分。  把邮件存储起来后要用DELE命令删除邮箱中的邮件,否则原有的邮件会继续保留在服务器上,一旦邮件一多,你的邮箱就爆了。DELE命令的格式为:   DELE <邮件编号>  如果删错了,可以用RSET命令来恢复所有已被删除的邮件。条件是你还没有退出,一旦退出,那就一切Bye Bye了。全部完成以后,输入QUIT命令就可以退出POP3服务器了。  以上我简要地向大家介绍了POP3协议工作的基本原理,不过我们程序的任务是完成新邮件检查,所以以上收取邮件和删除服务器备份的部分就不需要了。我们要完成的只是从STAT命令的服务器回复中分离出新邮件的数目并向用户报告。  三 .程序的实现:  在介绍完新邮件检查的基本原理后,我们就不妨着手我们的程序了。首先,打开Visual Studio.Net,新建一个项目,在项目类型里选择"Visual C 项目",在模板中选择"MC AppWiz",项目的名称不妨为"MailChecker",图示如下:   在新建完项目后,VS.Net会为我们生成一个框架和一些代码文件,其中有一个名为"MailChecker.cpp"的文件就是程序的主文件了,我们要做的仅是对它完成编码工作。  另外需要注意的是,用Managed C 向导生成的程序是基于控制台的,所以程序的界面不是传统的Windows界面,因此会不利于和用户进行交互,所以在这个程序中我运用了Windows Forms的编程方法编写出了一个传统的Windows窗体界面。Windows Forms也是.Net中的一项新概念,它能大大简化Windows窗体和相关控件的编程,有关Windows Forms的更多知识请读者参考相关的资料。在这个程序中,我只是运用了Windows Forms的编程方法用纯编码的方式写出了一个Windows窗体界面,对于一些细节,这不是本文介绍的重点所以也就不多作介绍了,望读者能理解。  首先我们得添加对Windows Forms名字空间(namespace)的引用,如此我们才能享受Windows Forms给我们带来的方便和快捷。方法是在文件开始处添加: #using using namespace System::Windows::Forms;  同时,我们还要用到一些其他的名字空间的引用,具体这里就不给出了,请读者参考文后所附的源代码文件。  程序的主界面是一个从Form继承过来的类-MainForm,它的声明如下:   public __gc class MainForm : public Form{private:Label *label1;Label *label2;Label *label3;TextBox *ServerAdd;TextBox *Username;TextBox *Password;Button *btnChecker;CPOP3Client *pPOP3Client;void btn_Click( Object *sender, System::EventArgs *e ); int MailChecker();public:MainForm();};  其中包含了一些必要的窗体控件和一个CPOP3Client类的对象pPOP3Client,该类是我们程序的主体,它完成了新邮件检查的基本工作,我将在后面介绍。  MainForm类的构造函数MainForm()完成窗体控件的初始化工作,下面的代码是完全手工编写的而没有借助窗体设计器的帮助。不过在Visual C#中我们就可以运用窗体设计器来大大简化我们的工作,不过自己动手编写代码的好处就是能使我们更加深入的了解Windows Forms编程的机理。  设计好的窗体示意图如下: 共3页。 1 2 3 :   一.Managed C 简介:  Managed C 是微软Visual Studio.Net的一部分,它是从标准C 发展而来的,所以和标准C 几乎是一样的。不过因为它是建立在.Net架构之上的,经编译器编译后生成的是微软的中间语言(Microsoft Intermediate Language,MSIL),用它来编写的代码是托管的C 代码,所以相对标准C 它又多了几分新异。  二.新邮件检查原理简介:  首先,我想有必要向大家介绍一下通过POP3协议完成新邮件检查的基本原理。在了解的其基本原理的基础上完成整个程序也就变得相对容易了。  POP3协议工作的基本原理如下:  一开始便是客户端与服务器的连接。不过,在客户端连接到服务器之前,注意把端口设为POP3协议默认的110号。  客户端连接服务器成功后,服务器会返回以下信息:   OK……  字符 OK是POP3协议的返回信息。它的回应信息不像SMTP协议那样用丰富多变的数字表示,只有两个: OK或者-ERR。其中, OK表示连接成功,而-ERR则表示连接失败。  接下来,客户端输入USER <用户名>  该命令告诉服务器你的用户名。注意,有些服务器会区分大小写字母的。  服务器返回 OK后,客户端输入PASS <口令>  服务器返回 OK后,还返回一些邮箱的统计信息,比如: OK 1 message(s) [1304 byte(s)]  不同的服务器返回的信息格式不太一样,所以我们可以用STAT命令来查看邮箱的情况。STAT命令的回应中有两个数字,分别表示邮件的数量和邮件的大小。  如果信箱里有信,就可以用RETR命令来获取邮件的正文。RETR命令的格式为:   RETR <邮件编号>  如果返回结果第一行是 OK信息,则表示成功。第二行起便是邮件的正文。最后一行和SMTP协议一样,是一个单独的英文句号,表示邮件的结尾部分。  把邮件存储起来后要用DELE命令删除邮箱中的邮件,否则原有的邮件会继续保留在服务器上,一旦邮件一多,你的邮箱就爆了。DELE命令的格式为:   DELE <邮件编号>  如果删错了,可以用RSET命令来恢复所有已被删除的邮件。条件是你还没有退出,一旦退出,那就一切Bye Bye了。全部完成以后,输入QUIT命令就可以退出POP3服务器了。  以上我简要地向大家介绍了POP3协议工作的基本原理,不过我们程序的任务是完成新邮件检查,所以以上收取邮件和删除服务器备份的部分就不需要了。我们要完成的只是从STAT命令的服务器回复中分离出新邮件的数目并向用户报告。  三 .程序的实现:  在介绍完新邮件检查的基本原理后,我们就不妨着手我们的程序了。首先,打开Visual Studio.Net,新建一个项目,在项目类型里选择"Visual C 项目",在模板中选择"MC AppWiz",项目的名称不妨为"MailChecker",图示如下:   在新建完项目后,VS.Net会为我们生成一个框架和一些代码文件,其中有一个名为"MailChecker.cpp"的文件就是程序的主文件了,我们要做的仅是对它完成编码工作。  另外需要注意的是,用Managed C 向导生成的程序是基于控制台的,所以程序的界面不是传统的Windows界面,因此会不利于和用户进行交互,所以在这个程序中我运用了Windows Forms的编程方法编写出了一个传统的Windows窗体界面。Windows Forms也是.Net中的一项新概念,它能大大简化Windows窗体和相关控件的编程,有关Windows Forms的更多知识请读者参考相关的资料。在这个程序中,我只是运用了Windows Forms的编程方法用纯编码的方式写出了一个Windows窗体界面,对于一些细节,这不是本文介绍的重点所以也就不多作介绍了,望读者能理解。  首先我们得添加对Windows Forms名字空间(namespace)的引用,如此我们才能享受Windows Forms给我们带来的方便和快捷。方法是在文件开始处添加: #using using namespace System::Windows::Forms;  同时,我们还要用到一些其他的名字空间的引用,具体这里就不给出了,请读者参考文后所附的源代码文件。  程序的主界面是一个从Form继承过来的类-MainForm,它的声明如下:   public __gc class MainForm : public Form{private:Label *label1;Label *label2;Label *label3;TextBox *ServerAdd;TextBox *Username;TextBox *Password;Button *btnChecker;CPOP3Client *pPOP3Client;void btn_Click( Object *sender, System::EventArgs *e ); int MailChecker();public:MainForm();};  其中包含了一些必要的窗体控件和一个CPOP3Client类的对象pPOP3Client,该类是我们程序的主体,它完成了新邮件检查的基本工作,我将在后面介绍。  MainForm类的构造函数MainForm()完成窗体控件的初始化工作,下面的代码是完全手工编写的而没有借助窗体设计器的帮助。不过在Visual C#中我们就可以运用窗体设计器来大大简化我们的工作,不过自己动手编写代码的好处就是能使我们更加深入的了解Windows Forms编程的机理。  设计好的窗体示意图如下: 共3页。 1 2 3 : 下载本文示例代码


Managed C 设计新邮件检查器Managed C 设计新邮件检查器Managed C 设计新邮件检查器Managed C 设计新邮件检查器Managed C 设计新邮件检查器Managed C 设计新邮件检查器Managed C 设计新邮件检查器Managed C 设计新邮件检查器Managed C 设计新邮件检查器Managed C 设计新邮件检查器Managed C 设计新邮件检查器Managed C 设计新邮件检查器Managed C 设计新邮件检查器Managed C 设计新邮件检查器Managed C 设计新邮件检查器
阅读(149) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~