国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

靜設備接管法蘭匯總表自動生成軟件的開發(fā)

2017-08-31 12:23帥志強
化工設計 2017年4期
關(guān)鍵詞:匯總表管口控件

帥 露 王 彬 蒲 弦 帥志強

中國成達工程有限公司 成都 610041 莆田學院 莆田 351100

靜設備接管法蘭匯總表自動生成軟件的開發(fā)

帥 露*王 彬 蒲 弦 帥志強

中國成達工程有限公司 成都 610041 莆田學院 莆田 351100

為提高設備詳細設計階段制作法蘭接管匯總表的效率和質(zhì)量,編制自動生成程序。先利用Excel制作接管法蘭匯總表模板文件,其次利用Microsoft SQL Server建立接管法蘭匯總表相關(guān)參數(shù)數(shù)據(jù)庫,最后通過C#編程,實現(xiàn)對SQL相關(guān)參數(shù)信息的查詢,Excel表格生成的控制,從而完成接管法蘭匯總表的自動生成軟件的開發(fā)。結(jié)果表明,所編制的軟件能夠完成對接管法蘭匯總表的自動生成,生成文件能夠滿足施工要求。

接管法蘭匯總表 模塊化 數(shù)據(jù)庫 軟件開發(fā)

在工程項目詳細設計階段,靜設備專業(yè)需要繪制大量施工圖,主要包括裝配圖、零部件圖及接管法蘭匯總表等。其中接管法蘭匯總表由于內(nèi)容多而繁瑣,不僅費工、費時,而且極易出現(xiàn)錯誤。另一方面接管法蘭匯總表形式相對單一,主要在于遵循標準標記規(guī)定進行參數(shù)表達。因此若能將其模塊化,既能提工作效率,又能提高設計質(zhì)量。

本文主要思路是通過C#編寫用戶界面,響應用戶操作,然后訪問相關(guān)數(shù)據(jù)庫進行查詢,最后將查詢結(jié)果按相應標記方法輸出到預先制作好的Excel模板中,完成接管法蘭匯總表的制作。其中C#與數(shù)據(jù)庫的交互通過ADO.NET技術(shù)完成[1,2],而對Excel則通過Excel對象模型進行訪問[3]。

1 接管法蘭匯總表Excel模板文件制作

考慮到接管數(shù)量的差異,制作兩種不同規(guī)格(A4,A2大小)的Excel模板用作接管法蘭匯總表的基本圖框,A4大小的Excel模板見圖1,程序運行時會根據(jù)總項目數(shù)選擇相應的模板制作法蘭匯總表。

圖1 接管法蘭匯總表Excel模板

由模板文件可知,其主要輸出的相關(guān)信息:接管號、件號、圖號或標準號、名稱、數(shù)量、材料、單重、總重及備注等。

2 相關(guān)數(shù)據(jù)庫的建立

制作法蘭匯總表主要涉及接管、法蘭、人孔、補強板、管件等零件相關(guān)參數(shù),本文參考相關(guān)標準,利用Microsoft SQL Server建立各部件的標準參數(shù)數(shù)據(jù)表。其中接管參數(shù)主要包括公稱直徑、外徑、壁厚等級等,而法蘭參數(shù)除了公稱直徑、壓力等級等參數(shù)外,還包括法蘭外徑、法蘭厚度等參數(shù),雖然這些參數(shù)對于制作法蘭匯總表并非必須,但是考慮到數(shù)據(jù)的完整性以及后續(xù)功能的完善和擴展,仍然將其錄入,以備不時之需。

3 C#程序的實現(xiàn)

3.1 界面設計

接管法蘭匯總表自動生成程序的主界面見圖2,其中涉及的主要C#控件有Lable、TextBox、Button、Panel、ListBox、ComboBox、TabControl、CheckBox及DataGridView等。

圖2 接管法蘭匯總表自動生成程序用戶界面

對于某一管口而言,當其是人孔時,法蘭界面便無需顯示,同時考慮到某管口可能通過其他零部件圖表達,因此程序中還添加了自定義選項,以提高自主性,這部分功能采用CheckBox和TabControl控件來實現(xiàn),默認顯示法蘭選項,當選擇其它選項顯示的同時將隱藏法蘭選項,具體效果見圖3。

圖3 人孔、自定義TabControl界面

對于接管參數(shù),程序默認為標準管,當為鍛件管時只需勾選“鍛件管” CheckBox控件便可以激活相應的用戶輸入控件。出于便利性考慮,程序允許用戶只需要在一個界面上輸入就可以完成匯總表的制作,因此這里采用ComboBox控件來容納管口信息,通過后臺的關(guān)聯(lián)來保持各控件顯示與管口信息的一致性,同時考慮到直觀性,采用DataGridView控件對匯總表進行初步顯示,便于用戶發(fā)現(xiàn)錯誤并進行修改。

3.2 程序設計

主要介紹程序設計中的關(guān)鍵代碼,闡明程序設計的思路和具體實現(xiàn)過程。

3.2.1 C#與Microsoft SQL Server交互

與Microsoft SQL Server交互主要通過ADO.NET技術(shù)完成[1],本程序涉及的SqlClient類主要有SqlConnection、SqlCommand、SqlDataAdapter、SqlDataReader等,其具體功能見表1。

表1 常用的SqlClient類

但在使用ADO.NET之前,需要先添加相關(guān)命名空間,然后連接SQL Server數(shù)據(jù)庫,其具體代碼如下。

using System.Data;

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

string connString = @"server=DEWINSPRING;

integrated security=true;

database=STGB";

SqlConnection conn = new SqlConnection(connString); //連接數(shù)據(jù)庫

連接數(shù)據(jù)庫后可以用兩種方式對數(shù)據(jù)庫進行訪問[1],① 始終保持數(shù)據(jù)庫打開狀態(tài),待用戶結(jié)束所有對數(shù)據(jù)庫的操作再將其關(guān)閉,但這種方法必須建立與數(shù)據(jù)庫的活動連接,這無疑將造成資源的巨大浪費;② 更加實用的方式是使用數(shù)據(jù)適配器對數(shù)據(jù)庫進行訪問,其不需要一直保持數(shù)據(jù)庫為打開狀態(tài),而是將需要修改的數(shù)據(jù)保存到本地,以脫機的方式進行處理,等工作結(jié)束之后再將所有修改保存回數(shù)據(jù)源中,其實現(xiàn)的具體代碼如下。

SqlDataAdapter da = new SqlDataAdapter();

//數(shù)據(jù)庫法蘭參數(shù)賦值

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

da.Fill(dflange);

執(zhí)行以上代碼,能夠?qū)⒎ㄌm參數(shù)存儲到本地數(shù)組中以便后續(xù)使用,其他參數(shù)可以用同樣的方法獲得。

3.2.2 數(shù)據(jù)與交互界面的關(guān)聯(lián)

交互界面的關(guān)聯(lián)主要包括兩個方面:① 用戶進行界面操作時,后臺響應完成相應動作;② 由于本程序允許用戶在一個界面中操作,因此當用戶選擇不同管口時,應該將其對應管口的參數(shù)反映到當前界面上,也就是說將界面顯示和各管口的實時數(shù)據(jù)關(guān)聯(lián)起來。下面以法蘭參數(shù)為例說明將數(shù)據(jù)還原于界面顯示的具體過程。

if (listBox1.SelectedItem != null)//當有管口被選中時

{

int i;

i=listBox1.SelectedIndex;//獲取被選中管口的索引

//-------復原管口參數(shù)------//

//復原法蘭參數(shù)

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等對象對其內(nèi)容進行修改,具體方法可以參考相應文獻。

3.3 程序的打包和發(fā)布

本程序采用微軟自帶的“InstallShield Limited Edition Project”程序進行打包,程序完成時只需要對項目添加“安裝和部署”,參考相關(guān)提示便能完成程序的打包和發(fā)布,最終生成本程序的安裝包[4]。

4 運行結(jié)果

軟件運行結(jié)果及生成的接管法蘭匯總表分別見圖4和圖5。

圖4 法蘭接管匯總表運行結(jié)果界面

圖5 生成法蘭接管匯總表界面

由此可知本軟件可以基本實現(xiàn)法蘭匯總表的自動生成,而且生成法蘭匯總表基本滿足設備施工圖的技術(shù)要求。

5 結(jié)語

應用此軟件自動生成接管法蘭匯總表不僅能提高效率還能避免差錯,既省時,又省力。不僅如此,所建立的數(shù)據(jù)庫還可能為程序的后續(xù)開發(fā)和完善提供數(shù)據(jù)支持,而開發(fā)本程序的方法對于今后相關(guān)程序的開發(fā)也具有借鑒意義。

1 阿格沃爾,哈德萊斯頓,沈潔等. C# 2008數(shù)據(jù)庫入門經(jīng)典[M].清華大學出版社, 2009.

2 Karli Watson Marco Bellinaso,康博. C#入門經(jīng)典[M].清華大學出版社, 2002.

3 李文駿,黃金晶. C#.NET開發(fā)Excel報表淺析[J]. 軍民兩用技術(shù)與產(chǎn)品, 2010, (12): 39-42.

4 劉 藝. InstallShield 2000使用詳解[M].機械工業(yè)出版社, 2002.

2016-07-04)

*帥 露:助理工程師。2015年畢業(yè)于大連理工大學化工機械專業(yè)獲得碩士學位。從事靜設備工程設計與研究工作。 聯(lián)系電話:(028) 65537580,Email:ShuaiLu@chengda.com。

猜你喜歡
匯總表管口控件
2022年7月板帶材產(chǎn)量匯總表
2022年6月板帶材產(chǎn)量匯總表
基于ANSYS的壓力容器管口載荷施加方式的研究
2022年3月板帶材產(chǎn)量匯總表
煤化工變換設備在改擴建項目中利舊的可行性分析
基于.net的用戶定義驗證控件的應用分析
2019年河南省水土流失治理統(tǒng)計匯總表(本年達到)
汽輪機高壓內(nèi)缸的制造工藝研究
關(guān)于.net控件數(shù)組的探討
“壓強”易錯題練習
湖南省| 泾源县| 北票市| 准格尔旗| 玛曲县| 龙川县| 怀柔区| 枣阳市| 河东区| 仪征市| 黄冈市| 怀来县| 赣榆县| 庆元县| 胶南市| 广昌县| 桂林市| 文昌市| 公安县| 烟台市| 宁化县| 汾阳市| 腾冲县| 安仁县| 荣成市| 察哈| 台山市| 文水县| 固始县| 勃利县| 汝城县| 金塔县| 延寿县| 汕尾市| 博野县| 龙泉市| 临清市| 涡阳县| 乌拉特前旗| 芒康县| 色达县|