1.尚义县气象局河北076750;2.阳原县气象局河北075800 摘要:为了减轻了观测员的工作强度,降低手工编报出错的机率本文主要介绍降雪加密观测编发报软件的设计与实现。开发环境为:Windows XP(SP3)中文版+ .NET Framework 3.5+ Visual Studio .NET 2008。 关键字:降雪,观测,.NET 中图分类号:S161.6 文献标识码:A 1 引言 根据中国气象局关于开展降雪加密观测的紧急通知中,为 满足预报服务对降雪观测的需求,决定开展降雪加密观测。为了 减轻了观测员的工作强度,降低手工编报出错的机率在市局业 务科的大力支持下开发编写了降雪加密观测编发报软件。 2 Visual Studio .NET 集成开发环境概述 Visual Studio 是微软公司推出的开发环境。是目前最流行的 Windows 平台应用程序开发环境。Visual Studio .NET 继承了Visual Basic 6.0 的快速开发的优点,另外,与.NET 框架下面的其他 语言如C# 和Visual C++ 一样,Visual Studio .NET 是完全面向对 象的。Visual Studio 可以用来创建Windows 平台下的Windows应 用程序和网络应用程序,也可以用来创建网络服务、智能设备应 用程序和Office 插件。 3设计思路 此系统的流程如图1 所示,其功能包括:参数设置;报文编 辑;报文发送;系统主界面如图2 所示: 图1 系统运行流程图图2 降雪加密观测编发报软 件主界面图 3.1 参数设置:右击桌面右下角状态栏的最小化图标,选择 “参数”或者系统界面上的红色参数设置连接按钮可以打开参数 设置窗体,如图3 所示。此模块可以设置台站的区站号、经纬度, 方便灵活,可移植性强。报文的发送是通过FTP方式上传到远程 服务器上指定的远端路径,所以首先设置连接远程服务器的参 数,可以通过此模块设置服务器IP 地址、端口、用户名、密码、远 端路径,设置完毕重启软件设置生效。如果访问的远程服务器相 应参数有变动可以通过此模块重新设置。 图3 参数设置 3.2 报文编辑:输入观测数据后单击“计算编报”,系统在后 台根据降雪加密观测的相关文件按照编报文件名的格式和编报 文件内容的格式自动编译并在本地文件夹中生成报文。报文的 文件名、文件内容然后在界面上显示出来,形象直观,可读性强。 在输入观测数据的时候如果误输入其它的非法数值(如字符,汉 字等)或超出观测范围的数值(如累积降雪深度为9999CM 等)系 统会出现错误提示对话框,来提醒观测员。这在一定程度上减轻 了观测员的工作强度,也避免了在手工编报过程中因认为因素 造成观测数据的真实性。 3.3 报文发送:观测员在认真校对报文的文件名和报文内容 准确无误后,单击“报文发送”,系统会自动连接到远程服务器, 并把生成的报文上传到指定的远端目录文件夹下。报文发送到 远端目录下后,系统把上传到服务器的报文再下载到本地指定 的目录文件夹下,然后比较两者报文的内容是否相同,如果相同 说明文件发送成功,否则说明文件没有成功发送。在报文发送的 过程中从远程数据库的连接到报文内容的比较,发送是否成功, 系统界面的报文回执栏都会显示每一步报文的发送过程,一目 了然的查看了报文的发送状态。如图2 所示。 4降雪加密观测编发报软件实现的核心代码 4.1 在Visual Studio.NET 平台下实现报文编辑的主要代码 为: …… FileName=CreateFileName();//文件名组合函数 if (File.Exists(FileName));//如果文件存在File.Delete(FileName); //直接删除已经存在的文件 sw=File.CreateText(FileName);// 创建新文件 sw.WriteLine (ReportText);// 写入文本内容,ReportText 表示编辑好的文本内容 …… StreamReader sr=File.OpenText(path);// 打开文件 txtReportText=sr.ReadToEnd ();// 报文内容显示在界面 上 …… 4.2 报文发送是通过FTP 方式发送到远程服务器上,主要 代码为: …… //连接FTP FTP myftp=new FTP (IP,ServerPath,UserName,UserPwd, Port); // 其中IP 表示服务器地址,ServerPath 表示远端路径, UserName 表示用户名,UserPwd 表示用户密码,Port 表示服务器 端口 //上传文件 myftp.Put(UpFilePath, UpFileName); // 其中UpFilePath 表示要上传文件的本地路径,fileName 表示要上传的文件名 //文件下载 myftp.Get(DownFileName,LocalFilePath); //下载到本地 // 其中fileName 表示从远端服务器下载文件的文件名, LocalFilePath 表示要下载文件到本地的路径。 //关闭连接 myftp.DisConnect(); …… UpFileText=File.OpenText(UpFileName);//打开本地报文 FileText1=UpFileText.ReadToEnd();// 读取报文内容 DownFileText=File.OpenText (DownFileName);// 打开从远端 服务器下载的报文 FileText2=DownFileText.ReadToEnd ();DownFileName// 读取 报文内容 if (string.Equals(FileText1, FileText2)==true)// 如果文件 内容相同 { ……//报文发送成功。 } else { ……//报文发送失败。 } …… 5结语 本系统在Visual Studio.NET 平台下实现了降雪加密观测 自动编报、发报的功能,在张家口全市14 个台站2009 年11 月9 日至今加密观测编发报的运行下,没有出现任何错误,可以帮助 观测人员减轻工作强度,降低手工编报出错的机率,提高工作效 率。 参考文献: [1]吕伟臣,霍言,吕宝臣.Visual C# 2005 入门与提高第1 版[M]. 清华大学出版社,2006. [2]肖建.ASP.NET 编程基础[M] 第1 版.清华大学出版社, 2002. |