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

        ?

        使用Flash與C#配合開發(fā)化工實驗仿真軟件的研究使用Flash與C#配合開發(fā)化工實驗仿真軟件的研究

        2016-11-02 19:22:36孫懷宇劉東斌彭弗楠王祝敏高楓
        電腦知識與技術(shù) 2016年18期
        關(guān)鍵詞:仿真軟件

        孫懷宇 劉東斌 彭弗楠 王祝敏 高楓

        摘要:化工實驗仿真軟件需要準確的模型,嚴密的邏輯和美觀逼真的界面。使用C#.net或Flash單獨開發(fā)都有各自的優(yōu)點和缺點。該論文應(yīng)用Flash開發(fā)仿真界面,使用C#.net開發(fā)邏輯、算法及數(shù)據(jù)庫訪問,結(jié)合二者開發(fā)了化工原理阻力實驗仿真程序。分析了在Flash中制作界面的工作及技術(shù),研究了二者之間參數(shù)及事件的傳遞方法。為提高開發(fā)效率,研究了自動生成ActionScript 代碼的方法。二者結(jié)合開發(fā)的軟件具有結(jié)構(gòu)良好,界面美觀,功能強大等特點。

        關(guān)鍵詞:化工實驗;仿真軟件;Flash C#.net

        中圖分類號:TQ016.1 文獻標識碼:A 文章編號:1009-3044(2016)18-0086-02

        Research of Development of Chemical Experiments Simulation Software Using Flash and C#

        SUN Huai-yu, LIU Dong-bin, PENG Fei-nan,WANG Zhou-min,GAO Feng

        (Shenyang University of chemical Technology, Shenyang 110142, China)

        Abstract: Chemical experiment simulation software needs accurate numerical models, rigorous logic and aesthetics realistic interface. Development by Flash or C#.net has its own advantages and disadvantages. In this paper, Flash is employed to develop the simulation interface while C#.net is employed to development logic, algorithms and database access. The combination is used to developed simulation program for resistance experiment in unit operations of chemical engineering. The work and technology needed in Flash is researched, and transfer of parameters between the two parts is also discussed. A program that can automatically generate Action Script code is also developed in order to improve development efficiency. The simulation software developed by this method has good structure, beautiful interface and powerful functions.

        Key words: chemical experiment; simulation software; Flash; C#.net

        1 背景

        化工實驗是化工及相關(guān)學生學習中重要的教學環(huán)節(jié),是學生實踐理論知識的重要過程。化工方面的實驗包括化工原理實驗、化工專業(yè)實驗等。在教學實踐中,實際的實驗存在消耗大、設(shè)備復(fù)雜、操作步驟多等特點。而且一旦出現(xiàn)誤操作,會給操作者帶來傷害或?qū)υO(shè)備帶來損壞。所以使用仿真實驗對學生進行培訓,有安全,方便等的特點,也可以在教學中使用仿真實驗作為實際實驗的預(yù)習。

        當前的實驗仿真軟件向著高仿真,高性能,網(wǎng)絡(luò)化的方向發(fā)展,目的是更好地培養(yǎng)學生的工程能力,為學生掌握知識提供更好的支撐。這些實驗的模擬都需要較精確的數(shù)學模型,同時要求有美觀易用的界面。

        在學校的機房環(huán)境中,一般還是以C/S結(jié)構(gòu)的軟件為主,即在學生機上運行仿真軟件,操作記錄等通過訪問服務(wù)器保存在數(shù)據(jù)庫中。開發(fā)這樣的軟件一般使用VB,VB.net和C#.net等語言[1],這些語言對于訪問數(shù)據(jù)庫、實現(xiàn)算法及進行分數(shù)的評定都很強大,但界面方面稍顯不足,雖然可以使用加載圖片、自定義控件等技術(shù)顯示圖形及動畫[2],但也存在不易放大縮小,圖形不夠美觀,動畫占用CPU較高等缺點。

        Flash是ADOBE公司的矢量圖形軟件[3],具有圖形編輯功能靈活,動畫能力強的特點,而且內(nèi)部的ActionScript腳本有較強的編程能力。使用Flash開發(fā)出的動畫文件可以自由進行縮放,并支持動畫功能。但在實現(xiàn)較復(fù)雜的仿真算法及開發(fā)C/S架構(gòu)的軟件訪問數(shù)據(jù)庫等方面有一定的不足。

        所以,如何結(jié)合這兩者聯(lián)合進行開發(fā),揚長避短,開發(fā)出界面美觀,且功能強大的化工實驗仿真軟件是值得研究的方法。本論文以化工原理阻力仿真實驗為例,討論在結(jié)合C#與Flash開發(fā)過程中的技術(shù)問題及解決方法。

        2 總體結(jié)構(gòu)

        軟件的網(wǎng)絡(luò)結(jié)構(gòu)描述如下,數(shù)據(jù)庫服務(wù)器上安裝SQL Server[4],所有的學生名單,實驗成績及仿真記錄都保存在此服務(wù)器上。教師機用于教師維護班級和學生名單、監(jiān)視仿真過程及統(tǒng)計分數(shù),學生在終端上進行實驗仿真,整個系統(tǒng)使用局域網(wǎng)連接。

        實驗仿真軟件的客戶端主體使用C#.net開發(fā),主要包括數(shù)據(jù)通信,數(shù)學模型實現(xiàn)及仿真成績評分等功能。仿真軟件的界面使用Flash CS3制作,用于顯示界面,接受用戶的操作及顯示仿真過程的數(shù)據(jù)及動畫等??蛻舳诵枰惭bFlash Player,F(xiàn)lash導出的SWF文件使用AxShockwaveFlash控件放置于C#程序中。

        3 聯(lián)合開發(fā)的主要技術(shù)實現(xiàn)

        為了開發(fā)出可用的仿真軟件,F(xiàn)lash與C#之間的通信及交流是必不可少的,本部分以化工原理流體阻力仿真實驗為例,著重說明Flash界面的制作要點及Flash與C#中的通信技術(shù)。

        3.1 Flash制作實驗界面

        Flash開發(fā)實驗界面工作,包括界面的制作及部件的制作。我們按照實際的實驗裝置,開發(fā)實驗背景,為保證畫面的真實感,使用實際設(shè)備的照片進行適當修改后作為背景。在界面中有很多需要重復(fù)使用的部件,如開關(guān)閥,液位計,儀表等。這些都可以制作為Flash中的部件,以便重復(fù)使用。這些部件可以分為以下幾類:1是圖片切換,如閥門,使用兩張或多張不同的圖片表示閥的開和關(guān),2是液位,使用色柱表示容器中液體的液位,3是動畫,例如使用箭頭顯示流體的流動,4是儀表,用于顯示實驗中測量的數(shù)據(jù)。為能對部件的顯示及動作進行控制,需要在部件中使用代碼。例如圖片切換部件的控制代碼如下:

        stop();

        function V(s:String ):Boolean {

        var i:int;

        switch (s)

        {

        case "OFF":

        i=1; break;

        case "ON":

        i=2; break;

        }

        gotoAndStop(i); //顯示指定幀

        return true;

        }

        為了在程序中能對部件進行控制,需要在“屬性”中為每個部件指定一個唯一的名稱,如“VALVE1”。

        3.2 Flash控件與C#的通信

        通信部分可以分為以下幾個功能。

        3.2.1 C#向Flash的通信

        在C#使用控件的CallFunction方法向Flash傳遞參數(shù)。假設(shè)FlashSim為控件名,則調(diào)用方法后sRet為Flash返回的字符串。

        string s;

        funName=”flashFunction”;

        s = "" + arg + "";

        sRet=FlashSim.CallFunction(s);

        在Flash中,為了能夠處理此方法,需要先定義回調(diào)的函數(shù)

        ExternalInterface.addCallback ("flashFunction",flashFunction);

        function flashFunction (s:String)

        {

        // 對s字符串的處理;

        return "sReturn"; //返回結(jié)果字符串

        }

        3.2.2 Flash向C#通信

        Flash通過控件事件的方式向C#傳遞消息,為了能夠產(chǎn)生事件,需要在Flash代碼中引入相關(guān)的庫:

        import MyClass;

        import flash.external.*;

        之后,可以使用如下的代碼產(chǎn)生事件,其中sRet為要傳遞給C#的字符串。

        ExternalInterface.call ("test", sRet);

        在C#中就可以通過處理控件的FlashCall事件來得到Flash返回的字符串。

        private void FlashSim_FlashCall(object sender, AxShockwaveFlashObjects. _IShockwaveFlashEvents_FlashCallEvent e)

        {

        string s = nodeXml(e.request.ToString()) [0] .ChildNodes[0].InnerText.ToString();

        }

        3.3 Flash中腳本代碼的自動生成

        在仿真軟件的開發(fā)過程中,由于涉及的部件較多,所以重復(fù)的ActionScript代碼開發(fā)工作較多。所以我們還研究了使用EXCEL VBA自動生成Flash腳本的技術(shù)[5]。具體方法如下:在EXCEL中列出如下內(nèi)容:1需要從C#中獲得的變量,2所有Flash部件,包括部件的名稱,點擊時產(chǎn)生的事件等。3變量與部件之間的賦值關(guān)系,4變量與總部件之間的邏輯關(guān)系。

        生成的代碼包括如下功能:1)初始化界面及部件,2)初始化控件列表,3)初始化變量列表,4)更新顯示,5)賦值計算及邏輯計算等。

        這樣,在開發(fā)過程中通過簡單地進行EXCEL表格中數(shù)據(jù)的維護,就可以生成Flash中的ActionScript腳本,極大地方便了開發(fā)過程,提高了開發(fā)效率。

        4 開發(fā)實例

        應(yīng)用此技術(shù)開發(fā)了化工的相關(guān)流程仿真系統(tǒng),此程序可以對直管阻力及局部阻力進行測量[6]。在界面開發(fā)中,閥門、流量動畫、液位、顯示儀表等都使用了Flash部件。使用此技術(shù)開發(fā)的界面具有界面美觀,編程方便等特點。

        5 結(jié)束語

        應(yīng)用Flash與C#結(jié)合的技術(shù)開發(fā)了化工原理流體阻力實驗仿真程序,其中的界面及手動閥,液位計,流動動畫等使用Flash進行開發(fā)。C#程序負責數(shù)學模型的實現(xiàn)、分數(shù)的計算及數(shù)據(jù)庫的通信。實際上是將使用C#開發(fā)業(yè)務(wù)邏輯層,使用Flash開發(fā)用戶界面層。開發(fā)出的軟件具有運行速度快,界面美觀,功能強大等特點。而且應(yīng)用Flash部件庫的功能,可以極大地提高界面制作的效率。此方法還可以應(yīng)用于化工專業(yè)實驗開發(fā)及化工過程控制仿真中。

        參考文獻:

        [1] Bill Evjen. C#高級編程[M]. 8版.北京: 清華大學出版社, 2013.

        [2] 李海. Visual Basic 編程ActiveX控件[M]. 北京: 北京航空航天大學出版社, 2000.

        [3] Reinhardt Robert, Dowd Snow. Flash CS4 Professional Bible[M]. Wiley, 2009.

        [4] 周立柱.SQL Server數(shù)據(jù)庫原理-設(shè)計與實現(xiàn)[M]. 北京: 清華大學出版社, 2004.

        [5] 格林. Excel 2007 VBA參考大全[M]. 北京: 人民郵電出版社, 2013.

        [6] 夏清, 陳常貴. 化工原理[M]. 天津: 天津大學出版社, 2007.

        猜你喜歡
        仿真軟件
        淺談機器人離線編程軟件在機器人教學中的應(yīng)用
        青年時代(2016年21期)2017-01-04 17:18:45
        仿真軟件在航空典型結(jié)構(gòu)件上的應(yīng)用
        Multisim10對單管共射放大電路的仿真與研究
        電子類仿真軟件應(yīng)用的教學之道
        計算機教育(2016年7期)2016-11-10 08:53:49
        性一交一乱一伦a片| 亚洲av毛片在线网站| 极品粉嫩嫩模大尺度无码视频| 精品av天堂毛片久久久| 黄色网址国产| 男女午夜视频一区二区三区 | 久久久久女人精品毛片| 色欲国产精品一区成人精品| 久久中文字幕av第二页| 国产手机在线观看一区二区三区| 国产后入又长又硬| 亚洲成人日韩| 免费人成黄页网站在线观看国产| 一本久道竹内纱里奈中文字幕| 香港台湾经典三级a视频| 亚洲色图视频在线 | 深夜日韩在线观看视频| 中文字幕日韩精品有码视频| 国产精品jizz在线观看老狼| 亚洲网站免费看| 中文字幕日韩精品永久在线| 香港aa三级久久三级| 日本动态120秒免费| 蜜桃视频一区二区三区在线| 亚洲精品第一页在线观看| 精品久久久无码中字| 亚洲阿v天堂网2021| 久久精品久久精品中文字幕| 久久精品国产亚洲av果冻传媒| 99久久99久久精品国产片果冻| 国产成人亚洲综合小说区| 中文字幕在线乱码亚洲| 免费无码a片一区二三区| 欧美a视频在线观看| 日韩亚洲国产中文字幕| 中文字幕在线观看| 天天做天天爱天天综合网| 在线观看中文字幕一区二区三区 | 一本一本久久aa综合精品| 极品美女高潮喷白浆视频| 色偷偷亚洲精品一区二区|