|
在(zai)我(wo)們(men)做(zuo)一(yi)些(xie)工(gong)程(cheng)項(xiang)目(mu)的(de)時(shi)候(hou),常(chang)常(chang)需(xu)要(yao)把(ba)關(guan)係(xi)庫(ku)中(zhong)的(de)數(shu)據(ju)繪(hui)製(zhi)成(cheng)各(ge)種(zhong)圖(tu)表(biao),比(bi)如(ru)產(chan)量(liang)圖(tu),生(sheng)產(chan)率(lv)變(bian)化(hua)圖(tu)等(deng)等(deng)。我(wo)們(men)都(dou)知(zhi)道(dao)如(ru)果(guo)需(xu)要(yao)顯(xian)示(shi)報(bao)表(biao),可(ke)以(yi)使(shi)用(yong)紫(zi)金(jin)橋(qiao)提(ti)供(gong)的(de)自(zi)由(you)報(bao)表(biao)組(zu)件(jian),但(dan)是(shi)如(ru)果(guo)需(xu)要(yao)顯(xian)示(shi)曲(qu)線(xian)我(wo)們(men)怎(zen)麼(me)辦(ban)呢(ne)?
weilejiejueleisidewenti,zijinqiaogongsitigongleziyouquxianzujian,shiyongcizujiankeyifeichangfangbiandexianshiguanxikuzhongdequxian,tongshiyekeyixianshishiyongjiaobenshengchengderenyidequxian。xiamianshiziyouquxianxianshidelianggeshili:


下麵我們來通過一個小的例子來認識一下紫金橋軟件的自由曲線的用法。
本例子是使用曲線組件來顯示在Acess關係庫中一個表中的數據,當然其他的關係庫比如SqlServer,甚至文本文件做為數據源處理的方法類似。
我們的示例Access庫的名字是CurveData.mdb,已經複製到了工程目錄下麵的SQL中(複製到工程目錄下的好處是即使更改了工程目錄的位置,甚至更改了工程目錄的名字,仍然無需更改工程本身就可以連接該Access庫),在這個Access數據庫中有一個數據表名Data,它的內容如下所示:

為了顯示該表中的曲線,我們首先創建一個窗口,然後在該窗口中創建自由曲線組件。
創建自由曲線的方法非常簡單,點擊 ,在子圖庫中選擇 ,創建曲線組件即可。
雙擊自由曲線可以看到如下所示的設置框:

點擊更多設置,還會看到如下圖所示的更多設置框:

通過這些設置可以更改曲線的外觀、分隔數、線型、階梯連接方式、甚至還可以給曲線設置塗色,把曲線仿真成直方圖的形狀。具體的設置方法請參考紫金橋的自由曲線使用幫助。
給曲線設置完合適的屬性之後,為了能夠進行腳本的引用,我們並按照下麵介紹的方法給曲線命名為C。
在組態模式下,使用鼠標選中曲線組件,在屏幕的左下腳可以看到屬性列表如下圖所示。

在名稱處輸入此曲線組件的名稱。
這樣我們就可以通過#C的方式調用自由曲線支持的方法,完成繪製曲線的過程。
為了能夠訪問Access庫中的數據,我們先使用報表來把Access中的數據讀取上來。首先我們需要創建報表關係數據源點,在點組態界麵創建一個報表關係數據源點,如下圖所示

在聯結字符串處點擊右側按鈕選擇連接Access數據庫,並在彈出的對話框中選擇CurveData.mdb文件,就完成了連接Acess的工作。
下一步,我們需要把數據采集到報表中,首先我們創建一個報表,並給報表命名為R,然後我們給報表關聯到剛剛創建的關係數據源點上,如下圖所示:

創建一個按鈕,在按鈕的鼠標點擊事件中輸入如下的腳本:
#C.AddCurve(0,"SQL曲線");
#R.SqlSelectCmd("SELECT X,Y FROM Data ORDER BY ID ASC");
第一句腳本是給自由曲線增加一條曲線,名字是SQL曲線,索引號為0
第二句腳本是,讓報表執行SQL命令從關係庫中提取數據。
此時運行工程可以看到報表中有數據顯示。
為了繪製曲線,我們隻需要做下麵所示的工作即可。
雙擊報表,點擊報表的工具欄上的關係庫連接設置按鈕,如下圖所示:

在關係庫連接對話框中的關係數據源點處選擇剛剛創建的關係數據源點,並點擊“應答後觸發的腳本”按鈕,輸入如下的腳本
int i = 0;
for i=0to RowCount() step1
#C.CurveAddData(0,Val(1,i+1),Val(2,i+1));//參數分別是曲線索引,X值,Y值
next
這幾句腳本是取出報表中的數據,然後添加到曲線中。
此時運行工程就可以看到繪製好的曲線了。
如果希望顯示的曲線中超過50的顯示為紅色可以修改報表中的響應腳本如下。
int i = 0;
for i=0to RowCount() step1
if Val(2,i) > 50then
//參數分別是曲線索引,X值,Y值,顏色和自定義數據
#C.CurveAddDataEx(0,Val(1,i+1),Val(2,i+1),0,0);
else
//參數分別是曲線索引,X值,Y值
#C.CurveAddData(0,Val(1,i+1),Val(2,i+1));
endif
next
曲線如下圖所示:

通過更改曲線的屬性和調整腳本,還可以讓曲線顯示成直方圖,如下圖所示:

通tong過guo上shang麵mian的de介jie紹shao,我wo們men看kan到dao紫zi金jin橋qiao軟ruan件jian提ti供gong的de自zi由you曲qu線xian還hai是shi比bi較jiao靈ling活huo的de。使shi用yong它ta可ke以yi非fei常chang容rong易yi的de顯xian示shi各ge種zhong數shu據ju的de曲qu線xian。包bao括kuo關guan係xi庫ku,實shi時shi數shu據ju,甚shen至zhi用yong腳jiao本ben任ren意yi生sheng成cheng的de曲qu線xian。 關於更多的設置,請參考紫金橋的自由曲線使用幫助。
|