|
在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?
為wei了le解jie決jue類lei似si的de問wen題ti,紫zi金jin橋qiao公gong司si提ti供gong了le自zi由you曲qu線xian組zu件jian,使shi用yong此ci組zu件jian可ke以yi非fei常chang方fang便bian的de顯xian示shi關guan係xi庫ku中zhong的de曲qu線xian,同tong時shi也ye可ke以yi顯xian示shi使shi用yong腳jiao本ben生sheng成cheng的de任ren意yi的de曲qu線xian。下xia麵mian是shi自zi由you曲qu線xian顯xian示shi的de兩liang個ge示shi例li:


下麵我們來通過一個小的例子來認識一下紫金橋軟件的自由曲線的用法。
本例子是使用曲線組件來顯示在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
曲線如下圖所示:

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

tongguoshangmiandejieshao,womenkandaozijinqiaoruanjiantigongdeziyouquxianhaishibijiaolinghuode。shiyongtakeyifeichangrongyidexianshigezhongshujudequxian。baokuoguanxiku,shishishuju,shenzhiyongjiaobenrenyishengchengdequxian。 關於更多的設置,請參考紫金橋的自由曲線使用幫助。
|