張海泉
摘 要:文中的主要內(nèi)容是用VB語(yǔ)言編制與船舶設(shè)計(jì)相關(guān)和與船舶原理教學(xué)相關(guān)的一些應(yīng)用程序。主要為船舶結(jié)構(gòu)和靜水力計(jì)算兩部分的應(yīng)用程序。該程序可廣泛應(yīng)用在船舶設(shè)計(jì)、船舶傾斜試驗(yàn)以及船舶原理課程的教學(xué)中。文中提供了程序的使用方法和程序的源代碼,具有一定的推廣應(yīng)用價(jià)值。
關(guān)鍵詞:VB語(yǔ)言 船舶結(jié)構(gòu) 靜水力計(jì)算
中圖分類(lèi)號(hào):TP393.09 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2017)11(b)-0008-02
在用傳統(tǒng)程序設(shè)計(jì)語(yǔ)言設(shè)計(jì)程序時(shí)都是通過(guò)編寫(xiě)程序代碼設(shè)計(jì)用戶(hù)界面,在設(shè)計(jì)過(guò)程中看不到界面的實(shí)際顯示效果,必須編譯后運(yùn)行程序才能觀察,如果對(duì)界面的效果不滿(mǎn)意,還要回到程序中修改,這種編程—編譯的操作可能要反復(fù)多次,大大影響了軟件開(kāi)發(fā)效率。VB提供了可視化設(shè)計(jì)工具,把Windows 界面設(shè)計(jì)的復(fù)雜性“封裝”起來(lái),開(kāi)發(fā)人員不必為界面設(shè)計(jì)而編寫(xiě)大量程序代碼,只需按設(shè)計(jì)要求的屏幕布局,用系統(tǒng)提供的工具在屏幕上畫(huà)出各種部件,即圖形對(duì)象,并設(shè)置這些圖形對(duì)象的屬性。VB自動(dòng)產(chǎn)生界面設(shè)計(jì)代碼,設(shè)計(jì)人員只需編寫(xiě)實(shí)現(xiàn)程序功能的那部分代碼即可[3]。
應(yīng)用VB6.0語(yǔ)言程序,編制了船舶設(shè)計(jì)相關(guān)和與船舶原理教學(xué)相關(guān)的一些應(yīng)用程序,可以應(yīng)用到今后的船舶設(shè)計(jì)中。另外,在船舶原理教學(xué)中也需要一些程序來(lái)加深學(xué)生的理解。目前,在造船界,多采用大型的船舶設(shè)計(jì)、生產(chǎn)一條龍服務(wù)的大型程序,費(fèi)用也需要幾十萬(wàn),更需要相應(yīng)的硬件設(shè)備來(lái)支持。所以小型靈活的船舶結(jié)構(gòu)計(jì)算應(yīng)用程序還是一個(gè)空白,本文所介紹的小型應(yīng)用程序,可以在任何低配置的電腦上使用,具有靈活、廣泛應(yīng)用的特點(diǎn)。
1 應(yīng)用程序介紹
本程序主要是用VB語(yǔ)言開(kāi)發(fā)編制應(yīng)用程序,分下面兩部分。
1.1 船舶結(jié)構(gòu)構(gòu)件剖面模數(shù)計(jì)算程序
該程序是應(yīng)用很廣泛的一個(gè)小程序,在船舶結(jié)構(gòu)設(shè)計(jì)中,我們要計(jì)算構(gòu)件材料是否滿(mǎn)足《內(nèi)河鋼船建造結(jié)構(gòu)規(guī)范》[3]的要求,必須計(jì)算船舶結(jié)構(gòu)中的各種構(gòu)件的剖面模數(shù),根據(jù)構(gòu)件的剖面模數(shù)計(jì)算方法和原理,我們編寫(xiě)了船舶結(jié)構(gòu)構(gòu)件剖面模數(shù)計(jì)算程序。
該程序編譯成EXE可執(zhí)行文件,文件占用空間中,可以在任何配置的電腦上使用。程序的源代碼如下:
Dim a, b, c, d, e, e1, i, w, ff As Variant (''定義各變量為單精度數(shù)據(jù)型(Single))
Private Sub Command1_Click()“單擊“運(yùn)算”按鈕(Command1)所發(fā)生的事件——算出結(jié)果“
a=Text1.Text“把從文本框里輸入的數(shù)值(Text1~8.Text)賦給各相應(yīng)的變量”
b=Text2.Text
c=Text3.Text
d=Text4.Text
e=Text5.Text
e1=Text6.Text
f=e1-c
h=d+a*0.5+e*0.5
g=a*0.5+d*0.5
s=a*b+c*d+e*f
l=c*d*g
m=e*f*h
i=l*g+m*h+c*d^3/12+f*e^3/12-(l+m)^2/s
w=i/(h-(l+m)/s)
ff=c*d+e*e1
Label10.Caption=i/10000
Label11.Caption=w/1000
Label12.Caption=ff/100
End Sub
1.2 舶在外力作用下,計(jì)算船舶靜水力性能(部分)的程序
該程序?yàn)榇皟A斜試驗(yàn)中,核算壓鐵重量的計(jì)算程序。船舶在局部增加重物的情況下,計(jì)算初穩(wěn)性高度和橫傾角變化的應(yīng)用程序。
1.3 程序設(shè)計(jì)的主要步驟
(1)窗體設(shè)計(jì)。
打開(kāi)新工程后,第一個(gè)步驟就是規(guī)劃整個(gè)界面,將所需求的控件安排到窗體中。常用的控件都列在工具箱上,用戶(hù)只要選擇所需的控件圖標(biāo),并在窗體上用鼠標(biāo)拖動(dòng)出適當(dāng)大小即可。
(2)屬性設(shè)置。
將控件都安排好后,接下來(lái)就是到屬性窗口設(shè)置這些控件的屬性,按自己的需求去更改設(shè)置值。舉例來(lái)說(shuō),要改變窗體的標(biāo)題,把“forml”改為“結(jié)構(gòu)材料剖面模數(shù)計(jì)算”,這時(shí),應(yīng)該先選擇窗體,然后到屬性窗口,找到caption屬性,它代表著此控件的標(biāo)題,所以只要在此字段上修改即可。輸入新標(biāo)題的同時(shí),窗體上方的標(biāo)題也會(huì)變化,以顯示用戶(hù)輸入的情況。
(3)代碼編寫(xiě)。
雙擊窗體或置于其上的對(duì)象,或到工程窗口單擊代碼窗口,都可以進(jìn)入代碼窗口。用戶(hù)除了可在此設(shè)置控件的屬性外,更能聲明變量,以利于程序語(yǔ)句的編寫(xiě)。
2 結(jié)論
2.1 本程序的理論意義
用VB語(yǔ)言編制船舶結(jié)構(gòu)和靜水力計(jì)算的一些應(yīng)用程序。該程序可廣泛應(yīng)用在船舶設(shè)計(jì)、船舶傾斜試驗(yàn)以及船舶原理課程的教學(xué)中。尤其在船舶原理多媒體教學(xué)中使用可使學(xué)生加深印象。
2.2 本程序的實(shí)踐意義
編制本程序的目的是利用VB語(yǔ)言編制船舶結(jié)構(gòu)和靜水力計(jì)算的應(yīng)用程序。該程序可廣泛應(yīng)用在以下的一些領(lǐng)域。
(1)船舶設(shè)計(jì)。
在船舶設(shè)計(jì)的結(jié)構(gòu)計(jì)算中,經(jīng)常要計(jì)算構(gòu)件的剖面模數(shù),根據(jù)《船舶結(jié)構(gòu)規(guī)范》要求,選定船用型材時(shí),要計(jì)算型材的剖面模數(shù)是否滿(mǎn)足要求,過(guò)去一般采用手工計(jì)算,畫(huà)出構(gòu)件、帶板,確定中和軸,再列項(xiàng)計(jì)算,相當(dāng)復(fù)雜,如果用程序計(jì)算,很快就能算出。
(2)船舶傾斜試驗(yàn)。
我們知道船舶建造完工下水后,需要進(jìn)行傾斜試驗(yàn),過(guò)去確定壓鐵數(shù),往往憑經(jīng)驗(yàn)和手工計(jì)算,耗時(shí)多又不準(zhǔn)確,利用此程序計(jì)算將很快完成。我們把這個(gè)程序裝進(jìn)U盤(pán)(或軟盤(pán)),可以在現(xiàn)場(chǎng)安裝在筆記本電腦里,根據(jù)船舶下水的實(shí)際重量(往往設(shè)計(jì)時(shí)重量與實(shí)船建造成后的重量有差異),用所編的程序確定傾斜試驗(yàn)所需壓鐵噸數(shù),以使船舶傾斜達(dá)到20左右。
(3)船舶原理和船舶結(jié)構(gòu)教學(xué)。
在船舶原理[1]教學(xué)中,利用此程序,可以讓學(xué)生直觀地看到,船舶上局部重量的改變,而使船舶傾斜的程度的變化,便于掌握穩(wěn)性計(jì)算這一章節(jié)的內(nèi)容。
在船舶結(jié)構(gòu)教學(xué)中,利用此程序,可以讓學(xué)生直觀地看到,構(gòu)件面板的剖面積、腹板的剖面積對(duì)構(gòu)件剖面模數(shù)和慣性矩貢獻(xiàn)的大小。從而理解結(jié)構(gòu)的內(nèi)涵。
參考文獻(xiàn)
[1] 林杰人.船舶設(shè)計(jì)原理[M].國(guó)防工業(yè)出版社,1981.
[2] 中國(guó)船舶檢驗(yàn)局.內(nèi)河鋼船建造結(jié)構(gòu)規(guī)范[S].1990.
[3] 宜晨.Micr0soft Visual Basic 6.0中文版實(shí)用教程[M].電子工業(yè)出版社,1998.endprint