亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        MSChart控件在Visual Basic環(huán)境下的應(yīng)用與研究

        2014-11-23 01:11:08張利利胡文東
        醫(yī)療衛(wèi)生裝備 2014年5期
        關(guān)鍵詞:圖表系統(tǒng)

        張利利,李 婭,胡文東

        0 引言

        Visual Basic(VB)作為快速開發(fā) Windows下的編程工具,由于其功能強(qiáng)大、簡單易用而受到越來越多的開發(fā)者的青睞。VB具有很強(qiáng)的數(shù)據(jù)訪問能力,和數(shù)據(jù)庫的連接也十分便利[1],而衡量能力水平高低的最主要的依據(jù)就是測試者回答題目的正確個(gè)數(shù)及反應(yīng)時(shí)間。如果回答題目的反應(yīng)時(shí)間很短但錯(cuò)誤很多,或者正確個(gè)數(shù)很多但反應(yīng)時(shí)間很長,都表示該測試者的能力水平不高。那么如何將每個(gè)測試者的每道題的回答時(shí)間用圖形直觀地顯示出來,讓主試者很快看出哪個(gè)測試者的綜合能力水平比較高,是本系統(tǒng)要完成的一個(gè)主要功能。

        VB編程環(huán)境雖然使用簡單,但它本身沒有自動繪制圖形的能力,需要借助編程來實(shí)現(xiàn)[2]。一種方法是通過 Object.Line(X1,Y1)-(X2,Y2)函數(shù)來實(shí)現(xiàn),其中Object為繪制曲線的對象,(X1,Y1)為曲線的起點(diǎn)坐標(biāo),(X2,Y2)為曲線的終點(diǎn)坐標(biāo)。如果系統(tǒng)只需要簡單的幾條曲線,用該函數(shù)繪制倒還省事,而且繪制圖形比較靈活,可以根據(jù)用戶的需求進(jìn)行編寫。但是如果曲線很多,就需要編寫很多條這樣的語句,程序就會顯得繁瑣,延長系統(tǒng)運(yùn)行時(shí)間,可讀性差。另一種方法是采用微軟自主開發(fā)的MSChart圖表控件,該控件功能強(qiáng)大,只需設(shè)置其相關(guān)的屬性便能繪制出各種曲線,成為當(dāng)前開發(fā)圖形繪制比較流行的方法。

        1 MSChart控件分析

        1.1 MSChart控件簡介

        MSchart圖表控件是Microsoft推出的一款圖表控件,它可以按照一定的規(guī)范將數(shù)據(jù)以30多種圖表的方式繪制出來,使數(shù)據(jù)變得直觀生動。在使用該控件之前,首先需要安裝該控件,并將該控件添加到“工程”中。可以按照以下步驟來完成控件的添加:

        (1)在“工程”菜單中,單擊“部件”顯示“部件”對話框。

        (2)選定“Microsoft Chart Control”控件名稱左邊的復(fù)選框。

        (3)單擊“確定”關(guān)閉“部件”對話框,MSChart控件將出現(xiàn)在工具框中。

        (4)將MSChart控件添加到窗體上。

        1.2 MSChart控件的組成結(jié)構(gòu)

        MSChart控件由以下5個(gè)主要對象組成:

        (1)Annotations注解集合:它是一個(gè)對圖形的一些注解對象的集合。所謂注解對象,就是對圖形上某個(gè)點(diǎn)的詳細(xì)或者批注的說明。

        (2)Chart Areas圖表區(qū)域集合:它是一個(gè)可以作圖的區(qū)域范圍。MS Chart的圖形、圖例、注釋和提示信息都繪制在該區(qū)域上,可以在不同的繪圖區(qū)域放置不同類型的Series。

        (3)Legends圖例集合:它是標(biāo)注圖形中各個(gè)線條或顏色的含義。

        (4)Series圖表序列集合:它是實(shí)際的繪圖數(shù)據(jù)區(qū)域,實(shí)際呈現(xiàn)的圖形形狀就是由此集合中的每一個(gè)圖表來構(gòu)成的,可以往集合里面添加多個(gè)圖表,每一個(gè)圖表可以有自己的繪制形狀、樣式、獨(dú)立的數(shù)據(jù)等。Series有一些重要屬性,如Label(數(shù)據(jù)點(diǎn)標(biāo)簽文本)、ChartType(圖表類型)等。

        (5)Titles圖表的標(biāo)題集合:它是圖表的標(biāo)題說明。

        2 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

        2.1 系統(tǒng)設(shè)計(jì)

        繪制圖表需要數(shù)據(jù),MSChart支持幾種數(shù)據(jù)的添加方式,可以通過在圖表的設(shè)計(jì)界面添加Points對象來添加數(shù)據(jù),可以通過設(shè)置一個(gè)或多個(gè)數(shù)據(jù)源,將數(shù)據(jù)源綁定到圖表中,也可以通過代碼動態(tài)添加數(shù)據(jù)[3]。本系統(tǒng)選用最后一種方式來添加數(shù)據(jù),即通過MSChart控件的Data屬性在程序中動態(tài)指定圖表的數(shù)據(jù),在使用它給圖表添加數(shù)據(jù)之前必須首先指定圖表的行數(shù)(Row Count)和列數(shù)(Column Count)。

        2.2 程序?qū)崿F(xiàn)

        2.2.1 圖表的繪制

        使用MSChart控件完成測試者測試時(shí)間的繪制,MSChart控件不能與Remote Data和Data控件一起使用,而是利用ADO和OLEDB的強(qiáng)大功能實(shí)現(xiàn)對數(shù)據(jù)的訪問[4]。所以為了填充圖表,必須先創(chuàng)建ADO對象,具體步驟如下:

        (1)引入ADO對象。要想在程序中使用ADO對象編程,必須先為當(dāng)前工程引用ADO的對象庫。執(zhí)行工程菜單中的引用命令,啟動引用對話框,在清單列表中選擇“Microsoft ActiveX Data Object2.x Library”(不同版本x的值不一樣)。

        (2)聲明ADO對象。為了能夠在程序中使用ADO對象,首先必須聲明Connection和Recordset對象。聲明語句如下:

        Private Cn As New ADODB.Connection

        Private rs As New ADODB.Recordset

        (3)創(chuàng)建ADO對象實(shí)例。聲明了對象以后,還需要創(chuàng)建對象實(shí)例并設(shè)置連接屬性,具體實(shí)現(xiàn)代碼如下:

        Set Cn As New ADODB.Connection

        //創(chuàng)建Connection對象實(shí)例

        Cn.Connection String="Provider=Microsoft Jet OLEDB.4.0;DataSource="&App.Path&"mhealth.mdb"http://設(shè)定ConnectionString屬性連接數(shù)據(jù)庫,mhealth.mdb是與系統(tǒng)相連接的數(shù)據(jù)庫的名字

        Cn.Open

        Set rs=New ADODB.Recordset創(chuàng)建 Recordset對象實(shí)例

        rs.Open Mysql,Cn,ad Open Keyset,adLock Optimistic//打開Recordset對象,其中Mysql是根據(jù)需要定義的結(jié)構(gòu)化查詢字符串

        (4)屬性設(shè)置。由于MSChart控件包含的屬性繁雜,因此在應(yīng)用系統(tǒng)開發(fā)中必須結(jié)合實(shí)際需要對其相關(guān)的屬性進(jìn)行設(shè)置。本系統(tǒng)所需設(shè)置的屬性如下:

        ①Chart Type:返回或設(shè)置用于顯示圖表的類型,前面已經(jīng)講述過它的取值。本系統(tǒng)顯示的是時(shí)間曲線圖,所以我們選用二維折線圖。

        ②Column Count:返回或設(shè)置與圖表相關(guān)聯(lián)的當(dāng)前數(shù)據(jù)網(wǎng)格的列數(shù)。

        ③Random Fill:該屬性指定是否隨機(jī)產(chǎn)生圖表數(shù)據(jù)網(wǎng)格的數(shù)據(jù)。

        ④Data:確定每條曲線的取值。

        (5)代碼實(shí)現(xiàn):

        With MSChart1

        .ChartType=VtCh Chart Type2dLine

        .RandomFill=False

        .Title.Text="每題標(biāo)準(zhǔn)分"

        .Column Count=5 //指定圖表的總列數(shù)

        For i=0 To rs.Record Count-1

        .Column=1 //測驗(yàn)每道題的反應(yīng)時(shí)間曲線所在列

        .Row Count=rs.Record Count

        .row=i+1

        .RowLabel=CStr(rs("測試題號"))

        .Plot.Series Collection(1).Pen.Width=1

        .Plot.Series Collection(1).Pen.Style=VtPenStyle Solid

        .Plot.Series Collection(1).Pen.VtColor.Set255,0,0

        .Data=rs("測試時(shí)間")/1000

        .Column=2 //測驗(yàn)每道題的1.15倍時(shí)間標(biāo)準(zhǔn)差所在列

        .Row Count=

        .row=i+1

        自2016年以來,黃河科技學(xué)院與企業(yè)聯(lián)合開發(fā)翻轉(zhuǎn)校園APP,并在全校近3萬名師生中全面推廣使用,促進(jìn)了學(xué)校進(jìn)一步更新教育理念,優(yōu)化教學(xué)模式。

        .RowLabel=CStr(rs("ID"))

        .Plot.Series Collection(2).Pen.Width=1

        .Plot.Series Collection(2).Pen.Style=Vt Pen Style Solid

        .Plot.Series Collection(2).Pen.VtColor.Set0,0,255

        .Data=(rs("均值")+1.15*rs("方差"))*20/1000

        …… //第3到第5系列略

        rs.Move Next

        Next i

        End With

        系統(tǒng)運(yùn)行界面如圖1所示。

        圖1 系統(tǒng)運(yùn)行界面

        2.2.2 圖表的打印

        如果想將測試結(jié)果給測試者看,就需要將反映能力水平的結(jié)果數(shù)據(jù)和時(shí)間數(shù)據(jù)打印出來。本系統(tǒng)選用Printer對象進(jìn)行打印編程,該對象對于打印圖表數(shù)據(jù)非常方便,僅需要簡單的編程就可以實(shí)現(xiàn),而且打印效果也相當(dāng)不錯(cuò)。同時(shí),還可以根據(jù)需求自定義打印的格式、字體和大小等參數(shù)。下面介紹用Printer對象打印MSChart控件顯示的圖表。

        MS Chart1.Edit Copy

        Printer.Print""

        Printer.Paint Picture Clipboard.Get Data(),0,800

        通過以上幾句代碼就可以將時(shí)間圖表打印在指定的位置。

        3 存在的不足

        雖然利用VB的MSChart控件顯示和打印圖表都比較簡單,生成的圖表也很美觀,但它也有不足之處,即如果圖表上的行列比較多,圖表上的字體就會變得凌亂,有的甚至看不清數(shù)據(jù)和標(biāo)簽。另外,數(shù)據(jù)在圖表上的表示也有不足。由于本系統(tǒng)繪制圖表的數(shù)據(jù)量較少,用該控件足以解決問題。如果系統(tǒng)的數(shù)據(jù)量比較多的話,建議從以下2個(gè)方面加以改進(jìn):

        (1)將MS Chart控件本身的寬度改變。通過在MSChart控件的下方放置一個(gè)水平滾動條(Hscroll)控件,并將MSChart控件與水平滾動條控件綁定,讓MSChart控件的寬度屬性隨數(shù)據(jù)改變,從而實(shí)現(xiàn)數(shù)據(jù)的同步顯示。

        (2)換用其他功能更強(qiáng)大的商用圖表控件,如用Formulaone和TeeChart即可生成統(tǒng)計(jì)圖。

        [1] 張成才,王永信,劉丹丹,等.利用MSChart控件動態(tài)生成統(tǒng)計(jì)圖[J].鄭州大學(xué)學(xué)報(bào),2007,28(3):73-75.

        [2] 闞金明,趙潤軍.MSChart控件在流動機(jī)械維護(hù)管理系統(tǒng)中的應(yīng)用[J].物流工程與管理,2012,34(6):119-120.

        [3] 李懷川,吳孟春.利用微軟圖表控件MSChart實(shí)現(xiàn)紫外線數(shù)據(jù)圖形顯示[J].計(jì)算機(jī)與網(wǎng)絡(luò),2012(12):47-50.

        [4] 陳金水,原小艷.利用VB開發(fā)決策支持程序[J].計(jì)算機(jī)工程與科學(xué),2002,24(3):53-54.

        猜你喜歡
        圖表系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機(jī)系統(tǒng)
        ZC系列無人機(jī)遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        基于PowerPC+FPGA顯示系統(tǒng)
        半沸制皂系統(tǒng)(下)
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        圖表
        方圓(2016年22期)2016-12-06 19:27:28
        雙周圖表
        足球周刊(2016年14期)2016-11-02 10:54:56
        雙周圖表
        足球周刊(2016年15期)2016-11-02 10:54:16
        圖表
        足球周刊(2016年11期)2016-10-09 11:53:25
        国产女人乱码一区二区三区| 国产美女免费国产| 久久亚洲国产欧洲精品一| 日韩精品人妻一区二区三区蜜桃臀| 人妻少妇激情久久综合| 日本区一区二区三视频| 日韩中文字幕免费视频| 国外亚洲成av人片在线观看| 国产成+人+综合+亚洲专| 亚洲一区二区三区天堂av| 狠狠综合久久av一区二区蜜桃| 狠狠做深爱婷婷久久综合一区| 久久国产热精品波多野结衣av| 亚洲中文字幕亚洲中文| 国产精品偷窥熟女精品视频| 国产av综合影院| 欧美一区二区午夜福利在线yw| 麻豆成人久久精品二区三区91| 久久黄色视频| 国产精品毛片完整版视频| 在线观看欧美精品| 国产一区二区黑丝美女| 亚洲女优中文字幕在线观看| 亚洲七久久之综合七久久| 久久精品国产亚洲AⅤ无码| 日韩中文字幕乱码在线| 精品无人区无码乱码毛片国产 | 天天躁日日躁狠狠久久| 综合无码一区二区三区四区五区| 中文字幕人妻少妇精品| 最新国产精品拍自在线观看| 自慰无码一区二区三区| 国产一区二区三区国产精品| 精品人妻av一区二区三区四区| 亚洲精品成人av在线| 亚洲成色www久久网站夜月| 一区五码在线| 黄片国产一区二区三区| 色爱av综合网站| 亚洲天堂在线视频播放| 国产内射视频在线观看|