APP下载

静设备接管法兰汇总表自动生成软件的开发

2017-08-31帅志强

化工设计 2017年4期
关键词:汇总表管口控件

帅 露 王 彬 蒲 弦 帅志强

中国成达工程有限公司 成都 610041 莆田学院 莆田 351100

静设备接管法兰汇总表自动生成软件的开发

帅 露*王 彬 蒲 弦 帅志强

中国成达工程有限公司 成都 610041 莆田学院 莆田 351100

为提高设备详细设计阶段制作法兰接管汇总表的效率和质量,编制自动生成程序。先利用Excel制作接管法兰汇总表模板文件,其次利用Microsoft SQL Server建立接管法兰汇总表相关参数数据库,最后通过C#编程,实现对SQL相关参数信息的查询,Excel表格生成的控制,从而完成接管法兰汇总表的自动生成软件的开发。结果表明,所编制的软件能够完成对接管法兰汇总表的自动生成,生成文件能够满足施工要求。

接管法兰汇总表 模块化 数据库 软件开发

在工程项目详细设计阶段,静设备专业需要绘制大量施工图,主要包括装配图、零部件图及接管法兰汇总表等。其中接管法兰汇总表由于内容多而繁琐,不仅费工、费时,而且极易出现错误。另一方面接管法兰汇总表形式相对单一,主要在于遵循标准标记规定进行参数表达。因此若能将其模块化,既能提工作效率,又能提高设计质量。

本文主要思路是通过C#编写用户界面,响应用户操作,然后访问相关数据库进行查询,最后将查询结果按相应标记方法输出到预先制作好的Excel模板中,完成接管法兰汇总表的制作。其中C#与数据库的交互通过ADO.NET技术完成[1,2],而对Excel则通过Excel对象模型进行访问[3]。

1 接管法兰汇总表Excel模板文件制作

考虑到接管数量的差异,制作两种不同规格(A4,A2大小)的Excel模板用作接管法兰汇总表的基本图框,A4大小的Excel模板见图1,程序运行时会根据总项目数选择相应的模板制作法兰汇总表。

图1 接管法兰汇总表Excel模板

由模板文件可知,其主要输出的相关信息:接管号、件号、图号或标准号、名称、数量、材料、单重、总重及备注等。

2 相关数据库的建立

制作法兰汇总表主要涉及接管、法兰、人孔、补强板、管件等零件相关参数,本文参考相关标准,利用Microsoft SQL Server建立各部件的标准参数数据表。其中接管参数主要包括公称直径、外径、壁厚等级等,而法兰参数除了公称直径、压力等级等参数外,还包括法兰外径、法兰厚度等参数,虽然这些参数对于制作法兰汇总表并非必须,但是考虑到数据的完整性以及后续功能的完善和扩展,仍然将其录入,以备不时之需。

3 C#程序的实现

3.1 界面设计

接管法兰汇总表自动生成程序的主界面见图2,其中涉及的主要C#控件有Lable、TextBox、Button、Panel、ListBox、ComboBox、TabControl、CheckBox及DataGridView等。

图2 接管法兰汇总表自动生成程序用户界面

对于某一管口而言,当其是人孔时,法兰界面便无需显示,同时考虑到某管口可能通过其他零部件图表达,因此程序中还添加了自定义选项,以提高自主性,这部分功能采用CheckBox和TabControl控件来实现,默认显示法兰选项,当选择其它选项显示的同时将隐藏法兰选项,具体效果见图3。

图3 人孔、自定义TabControl界面

对于接管参数,程序默认为标准管,当为锻件管时只需勾选“锻件管” CheckBox控件便可以激活相应的用户输入控件。出于便利性考虑,程序允许用户只需要在一个界面上输入就可以完成汇总表的制作,因此这里采用ComboBox控件来容纳管口信息,通过后台的关联来保持各控件显示与管口信息的一致性,同时考虑到直观性,采用DataGridView控件对汇总表进行初步显示,便于用户发现错误并进行修改。

3.2 程序设计

主要介绍程序设计中的关键代码,阐明程序设计的思路和具体实现过程。

3.2.1 C#与Microsoft SQL Server交互

与Microsoft SQL Server交互主要通过ADO.NET技术完成[1],本程序涉及的SqlClient类主要有SqlConnection、SqlCommand、SqlDataAdapter、SqlDataReader等,其具体功能见表1。

表1 常用的SqlClient类

但在使用ADO.NET之前,需要先添加相关命名空间,然后连接SQL Server数据库,其具体代码如下。

using System.Data;

using System.Data.SqlClient; //添加命名空间

string connString = @"server=DEWINSPRING;

integrated security=true;

database=STGB";

SqlConnection conn = new SqlConnection(connString); //连接数据库

连接数据库后可以用两种方式对数据库进行访问[1],① 始终保持数据库打开状态,待用户结束所有对数据库的操作再将其关闭,但这种方法必须建立与数据库的活动连接,这无疑将造成资源的巨大浪费;② 更加实用的方式是使用数据适配器对数据库进行访问,其不需要一直保持数据库为打开状态,而是将需要修改的数据保存到本地,以脱机的方式进行处理,等工作结束之后再将所有修改保存回数据源中,其实现的具体代码如下。

SqlDataAdapter da = new SqlDataAdapter();

//数据库法兰参数赋值

da.SelectCommand = new SqlCommand(qry, conn);

da.Fill(dflange);

执行以上代码,能够将法兰参数存储到本地数组中以便后续使用,其他参数可以用同样的方法获得。

3.2.2 数据与交互界面的关联

交互界面的关联主要包括两个方面:① 用户进行界面操作时,后台响应完成相应动作;② 由于本程序允许用户在一个界面中操作,因此当用户选择不同管口时,应该将其对应管口的参数反映到当前界面上,也就是说将界面显示和各管口的实时数据关联起来。下面以法兰参数为例说明将数据还原于界面显示的具体过程。

if (listBox1.SelectedItem != null)//当有管口被选中时

{

int i;

i=listBox1.SelectedIndex;//获取被选中管口的索引

//-------复原管口参数------//

//复原法兰参数

nozzlenumber.Text = listBox1.SelectedItem.ToString();

listBox1.SelectedItem=dt1.Rows[i]["nozzlenumber"];

flangestd.SelectedItem=dt1.Rows[listBox1.SelectedIndex]["flangestd"];

……

通过以上代码便将用户对某管口法兰的选择重新显示,使用户清楚对管口进行的操作以便进一步修改。

3.2.3 C#与Excel的交互

C#通过Excel对象模型完成对Excel的访问,其中最常用的对象有Application、Workbook、Worksheet、Range等[3]。但在应用其对象之前必须先添加Excel的COM组件以及其命名空间,其具体方法是在“项目”中选择“添加”再选择“COM”组件中的“Microsoft Office 15.0 Object Library”添加,并引用其命名空间即可。C#打开Excel模板文件的代码如下。

Excel.Application excel = new Excel.Application();

Excel.Workbook book = excel.Application.Workbooks.Add(@"C: mytest.xlsx");

打开Excel模板文件后就可以通过Range等对象对其内容进行修改,具体方法可以参考相应文献。

3.3 程序的打包和发布

本程序采用微软自带的“InstallShield Limited Edition Project”程序进行打包,程序完成时只需要对项目添加“安装和部署”,参考相关提示便能完成程序的打包和发布,最终生成本程序的安装包[4]。

4 运行结果

软件运行结果及生成的接管法兰汇总表分别见图4和图5。

图4 法兰接管汇总表运行结果界面

图5 生成法兰接管汇总表界面

由此可知本软件可以基本实现法兰汇总表的自动生成,而且生成法兰汇总表基本满足设备施工图的技术要求。

5 结语

应用此软件自动生成接管法兰汇总表不仅能提高效率还能避免差错,既省时,又省力。不仅如此,所建立的数据库还可能为程序的后续开发和完善提供数据支持,而开发本程序的方法对于今后相关程序的开发也具有借鉴意义。

1 阿格沃尔,哈德莱斯顿,沈洁等. C# 2008数据库入门经典[M].清华大学出版社, 2009.

2 Karli Watson Marco Bellinaso,康博. C#入门经典[M].清华大学出版社, 2002.

3 李文骏,黄金晶. C#.NET开发Excel报表浅析[J]. 军民两用技术与产品, 2010, (12): 39-42.

4 刘 艺. InstallShield 2000使用详解[M].机械工业出版社, 2002.

2016-07-04)

*帅 露:助理工程师。2015年毕业于大连理工大学化工机械专业获得硕士学位。从事静设备工程设计与研究工作。 联系电话:(028) 65537580,Email:ShuaiLu@chengda.com。

猜你喜欢

汇总表管口控件
2022年7月板带材产量汇总表
2022年6月板带材产量汇总表
基于ANSYS的压力容器管口载荷施加方式的研究
2022年3月板带材产量汇总表
煤化工变换设备在改扩建项目中利旧的可行性分析
基于.net的用户定义验证控件的应用分析
2019年河南省水土流失治理统计汇总表(本年达到)
汽轮机高压内缸的制造工艺研究
关于.net控件数组的探讨
“压强”易错题练习