自由報(bào)表是紫金橋監(jiān)控組態(tài)軟件提供的功能強(qiáng)大、使用靈活的報(bào)表工具,具有自由合并、拆散單元格、設(shè)置位圖、各種鼠標(biāo)動(dòng)作、關(guān)聯(lián)實(shí)時(shí)數(shù)據(jù)庫(kù)和關(guān)系數(shù)據(jù)庫(kù)等功能,可通過(guò)腳本動(dòng)態(tài)設(shè)置各種屬性或統(tǒng)計(jì)相關(guān)數(shù)據(jù)。
自由報(bào)表的主要功能是實(shí)現(xiàn)各種生產(chǎn)報(bào)表和統(tǒng)計(jì)報(bào)表,根據(jù)報(bào)表的靈活屬性也可以實(shí)現(xiàn)其他的一些功能,比如說(shuō)可以自由收縮的界面導(dǎo)航功能,運(yùn)行效果如下圖紅色區(qū)域所示。

自由收縮導(dǎo)航功能用自由報(bào)表是怎么具體實(shí)現(xiàn)呢?
首先,進(jìn)入開(kāi)發(fā)界面新建一個(gè)自由報(bào)表,然后打開(kāi)報(bào)表,根據(jù)畫(huà)面的多少設(shè)置報(bào)表的行,根據(jù)畫(huà)面的名字設(shè)置表格里邊的文字內(nèi)容,設(shè)置如下圖所示。

收縮功能是通過(guò)節(jié)點(diǎn)按鈕鼠標(biāo)按下里邊的腳本來(lái)進(jìn)行控制實(shí)現(xiàn)的。實(shí)現(xiàn)此功能的關(guān)鍵點(diǎn)是控制每行的高度,報(bào)表設(shè)置高度的函數(shù)是SetRowHeight。
SetRowHeight
說(shuō)明:設(shè)置某一行的高度。
格式:SetRowHeight (nRow, nHeight)
返回值:整型,0表示失敗,1表示成功。
參數(shù):
nRow,整型,指明的行序號(hào)。
nHeight,需要設(shè)置的高度。范圍(6—500)像素。
此示例里邊主要有5個(gè)節(jié)點(diǎn)腳本,以“建筑設(shè)備管理系統(tǒng)”節(jié)點(diǎn)按鈕為例,如下圖所示。

每個(gè)節(jié)點(diǎn)按鈕建立一個(gè)窗口變量,通過(guò)窗口變量的1和0之間的變化觸發(fā)腳本。變量為1,顯示此節(jié)點(diǎn)按鈕下的根按鈕(即指定根按鈕的行高度為非零的定值),其他根按鈕隱藏;變量為0,隱藏此節(jié)點(diǎn)按鈕下的根為按鈕(即指定根按鈕的行高度為0)。腳本如下所示:
n1
=!n1;
if n1
== 0 then
#report.setrowheight(2,0);
#report.setrowheight(3,0);
#report.setrowheight(4,0);
#report.setrowheight(5,0);
#report.setrowheight(6,0);
#report.setrowheight(7,0);
#report.setrowheight(8,0);
#report.setrowheight(9,0);
#report.setrowheight(10,0);
#report.setrowheight(11,0);
#report.setrowheight(12,0);
else
n2=0;
n3=0;
n4=0;
n5=0;
#report.setrowheight(2,34);
#report.setrowheight(3,34);
#report.setrowheight(4,34);
#report.setrowheight(5,34);
#report.setrowheight(6,34);
#report.setrowheight(7,34);
#report.setrowheight(8,34);
#report.setrowheight(9,34);
#report.setrowheight(10,34);
#report.setrowheight(11,34);
#report.setrowheight(12,34);
#report.setrowheight(14,0);
#report.setrowheight(15,0);
#report.setrowheight(16,0);
#report.setrowheight(17,0);
#report.setrowheight(18,0);
#report.setrowheight(19,0);
#report.setrowheight(20,0);
#report.setrowheight(22,0);
#report.setrowheight(23,0);
#report.setrowheight(24,0);
#report.setrowheight(26,0);
#report.setrowheight(27,0);
#report.setrowheight(28,0);
#report.setrowheight(30,0);
#report.setrowheight(31,0);
#report.setrowheight(32,0);
#report.setrowheight(33,0);
#report.setrowheight(34,0);
#report.setrowheight(35,0);
#report.setrowheight(36,0);
endif
也可以通過(guò)在根按鈕表格里邊導(dǎo)入圖片美化整個(gè)導(dǎo)航界面,如下圖所示。

至此通過(guò)自由報(bào)表做的導(dǎo)航功能就實(shí)現(xiàn)了,界面簡(jiǎn)潔,友好。
有任何關(guān)于組態(tài)軟件的技術(shù)問(wèn)題或需要更多的技術(shù)資料,可以在微信(微信號(hào):Realinfo)留下聯(lián)系方式或者到http://www.realinfo.cc/交流。