快讯

用C#做个带精灵的邮件通知程序

2004-02-14 09:34  出处:eNet硅谷动力  作者:王凯明  责任编辑:pjl 

上面的函数中用到了ReadFromNetStream()、WriteToNetStream()、Stat()、checkForError()等函数。ReadFromNetStream()是用来从网络流中读取信息的,带一个类型为ref NetworkStream的参数;WriteToNetStream()是向网络流中写入信息的,带两个类型为ref NetworkStream,string的参数;Stat()是当检查到新邮件后用来向用户报告信息的函数;checkForError()是进行查错的,带一个String类型的参数。四个函数如下: /// /// 这个函数用来显示新邮件数信息 /// public void Stat() { WriteToNetStream(ref netStream, "STAT"); string returnMsg=ReadFromNetStream(ref netStream); checkForError(returnMsg); //将总邮件数和邮件大小分离 string[] TotalStat= returnMsg.Split(new char[] {' '}); int count =Int32.Parse(TotalStat[1]); int totalSize=Int32.Parse(TotalStat[2]); //调用精灵,告知用户新邮件数 Form2 agent= new Form2(count); } /// /// 这个函数用来向网络流写入数据 /// /// /// private void WriteToNetStream(ref NetworkStream NetStream, string Command) { string stringToSend = Command + "\r\n"; Byte[] arrayToSend = Encoding.ASCII.GetBytes(stringToSend.ToCharArray()); NetStream.Write(arrayToSend, 0, arrayToSend.Length); } /// /// 这个函数用来从网络流中读取数据 /// /// /// private String ReadFromNetStream(ref NetworkStream NetStream) { StringBuilder strReceived= new StringBuilder(); StreamReader sr= new StreamReader(NetStream); String strLine = sr.ReadLine(); while(strLine==null || strLine.Length==0) { strLine = sr.ReadLine(); } strReceived.Append(strLine); if(sr.Peek()!=-1) { while ((strLine=sr.ReadLine())!=null) { strReceived.Append(strLine); } } return strReceived.ToString(); } /// /// 这个函数用来检测网络流中的错误 /// /// private void checkForError(String strMessage) { if (strMessage.IndexOf("+OK") == -1) throw new Exception("ERROR - . Recieved: " + strMessage); } 对于主窗体,我们还要添加各类事件处理函数,这样程序就可以工作了。各函数如下: private void menuItem1_Click(object sender, System.EventArgs e) { this.Opacity=100;//使窗体可见 } private void menuItem2_Click(object sender, System.EventArgs e) { this.EmailCheck();//检查是否有新邮件 } private void menuItem3_Click(object sender, System.EventArgs e) { this.Close();//退出程序 } private void button1_Click(object sender, System.EventArgs e) { this.Opacity=0;//使窗体不可见 } private void button2_Click(object sender, System.EventArgs e) { this.EmailCheck();//检查是否有新邮件 } private void timer1_Tick(object sender, System.EventArgs e) { this.EmailCheck();//检查是否有新邮件 }
键盘也能翻页,试试“← →”键
IT热词搜索 来源:360新闻
软件论坛帖子排行
相关文章

相关软件:

腾讯QQ2012
大小:52.93 MB 授权:免费
腾讯QQ2012
立即下载
腾讯QQ2013
大小:49.32 MB 授权:免费
腾讯QQ2013
立即下载