999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

LabWindows/CVI與Visual C#混合編程

2013-10-20 08:36:04玫,孔波,李
微型電腦應用 2013年4期
關鍵詞:數據庫

楊 玫,孔 波,李 祁

0 引言

LabWindows/CVI是 National Instruments公司開發的Measurement Studio軟件組中的一員。它是32位的面向計算機測控領域的虛擬儀器軟件開發平臺,可以在多操作系統下運行。LabWindows/CVI是以ANSI C為核心的交互式虛擬儀器開發環境,它將功能強大的 C語言與測控技術有機結合,具有靈活的交互式編程方法、豐富的控件和庫函數,為開發人員建立檢測系統、自動測量環境、數據采集系統和過程監控系統等提供了一個理想的軟件開發環境,是實現虛擬儀器及網絡化儀器的快速途徑。

但是,LabWindows/CVI在制作通用軟件功能,例如應用程序主界面等方面,跟 Visual Studio等集成開發環境相比,稍顯不盡如人意。因此測試系統的軟件開發通常采用高級語言結合專用測控軟件來開發。這里采用LabWindows/CVI開發具體的測控功能,而Visual Studio集成開發環境支持多種程序設計語言,如Visual Basic,Visual C++和Visual C#等,其中的C#在保持了C++強大功能的同時,添加了大量的高效代碼,是完全的面向對象編程語言,能夠提供更高的可靠性和安全性,這里選擇C#。

1 LabWindows/CVI與Visual C#混合編程

利用組件技術可以實現LabWindows/CVI與Visual C#的混合編程。一方面,利用 LabWindows/CVI中提供的ActiveX Server工具生成COM組件,在Visual Studio 2010中添加COM引用,Visual Studio 2010便可以訪問該COM組件。另一方面,在Visual Studio 2010中創建類庫項目生成動態鏈接庫DLL,LabWindows/CVI利用.NET Controller工具可以生成fp文件。

下面通過兩個實例說明LabWindows/CVI與Visual C#的混合編程過程。實例1利用LabWindows/CVI制作高斯噪聲發生器,然后在Visual Studio 2010中調用。實例2在Visual Studio 2010中生成訪問 Access的類庫,然后在LabWindows/CVI中調用。

2 Visual Studio調用 LabWindows/CVI生成的COM組件

LabWindows/CVI提供若干制作虛擬儀器的控件,例如Thermometer控件等,能夠輕松簡潔的制作出復雜的儀器界面,但是在制作通用程序界面時不夠美觀,可以利用LabWindows/CVI將虛擬儀器制作成COM組件,然后在其他開發環境例如Visual C#中調用。

2.1 LabWindows/CVI創建COM組件

選擇 Tools>>Create ActiveX Server…,啟動 Create ActiveX Server向導,開始配置工程,其中工程名為GaussAXS,工程類型為EXE,其他設置默認。工程配置結束生成 4個目標文件 GaussAXS.axs、GaussAXS_axs.c、GaussAXS_axs.h、GaussAXS_axs.idl,并包含進工程。其中GaussAXS_axs.c、GaussAXS_axs.h和GaussAXS_axs.idl3個文件由 CVI自動生成,不能添加、刪除和修改內容,目前均為空。

選擇 Tools→Edit ActiveX Server…,或雙擊 Gauss AXS.axs彈出Edit ActiveX Server對話框,設置接口和對象。本例比較簡單,設置一個接口 IGauss,包含一個方法MethodG;為 IGauss接口設置一個對象GaussAXSObj,本例未添加屬性。點擊Edit ActiveX Server對話框中的Save and Generate按鈕,自動生成代碼。

新建 GaussAXS.uir,制作高斯噪聲發生器的界面。新建GaussAXS.c文件,實現產生高斯噪聲數據等相關功能,包括實現WinMain主函數和回調函數等,并實現前述在接口IGauss中聲明的成員函數GaussAXSObjIGaussMethodG。其中 WinMain函數的模板和 GaussAXSObjIGaussMethodG的原型都在GaussAXS_axs.h中。

最后選擇Build>>Create Release Executable,在目錄下生成GaussAXS.exe,這就是Visual C#可以調用的。

2.2 Visual C#調用COM組件

新建一個Windows窗口應用程序,添加一個菜單項目“高斯噪聲發生器”,將CVI中生成的GaussAXS.exe拷貝過來,添加引用。這時對象在瀏覽器中會看到程序集Interop.GaussAXS下有命名空間GaussAXS,該命名空間包含接口GaussAXSObj、類GaussAXSObjClass和接口IGauss。

在文件中添加引用語句:using GaussAXS;

利用GaussAXSObj接口可以訪問:GaussAXSObj obj =new GaussAXSObj();

運行結果,如圖1所示:

圖1 Visual C#調用LabWindows/CVI生成的COM組件

3 LabWindows/CVI調用Visual Studio生成的類庫

LabWindows/CVI的標準函數庫沒有提供訪問數據庫的函數,也沒有在工具包中包含數據庫的驅動器。如果要在LabWindows/CVI開發環境下訪問數據庫,則需要安裝LabWindows SQL工具包,它是用于數據庫訪問的附加工具包,內部集成了一系列的高級功能模塊,封裝了大多數的數據庫操作。用戶可以使用 LabWindows SQL工具包在LabWindows/CVI中支持ODBC的本地或遠程數據庫,例如Microsoft Access,Microsoft SQL Server和Oracle等。

這里利用LabWindows/CVI提供的Create .NET Controller工具,結合.NET技術來實現對數據庫的訪問。首先在Visual Studio中設計開發一個訪問數據庫的動態鏈接庫,再在LabWindows/CVI中使用動態鏈接庫文件生成fp文件。這里以Access數據庫為例,數據庫文件為test.mdb,其中包含數據表tuser,其結構,如表1所示:

表1 數據表tuser

3.1 Visual Studio創建動態鏈接庫DLL

在 Microsoft Visual Studio 2010中創建類庫項目ClassLibDB,將系統自動生成的 Class1.cs文件重命名為AccessDB.cs,其中包含訪問 Access數據庫的類 AccessDB的定義,類AccessDB包含成員函數GetRecord和Close,調試并最終生成ClassLibDB.dll文件。

3.2 LabWindows/CVI調用動態鏈接庫DLL

在LabWindows/CVI 8.5中創建User Interface Application類型的工程 DataBaseApp,在系統自動生成的DataBase.uir中制作登陸界面。

將前述生成的ClassLibDB.dll文件拷貝到DataBaseApp工程下,創建test.mdb數據庫,設置密碼為123,創建數據表tuser并插入至少1條記錄,這里插入記錄:1,admin,123456。

選擇 Tool>>Create .NET Controller,在彈出的 Create LabWindows/CVI .NET Controller對話框中,選擇 Specify Assembly by Path,設置Assembly Path為ClassLibDB.dll,設置Target Instrument為AccessDB.fp,選中Add Instrument to Project,點擊 OK 后,系統自動生成 AccessDB.fp、AccessDB.h和 AccessDB.c,并將 AccessDB.fp包含進DataBaseApp工程。

為登錄按鈕編寫回調函數,重要代碼如下:

運行結果,如圖2所示:

圖2 LabWindows/CVI調用Visual C#生成的DLL文件

這里為了方便查看鍵盤輸入情況,密碼框采用的是文本框,可以通過調用函數 PasswordCtrl_ConvertFromString將文本框轉換為密碼框。

4 總結

本文介紹了LabWindows/CVI和Visual C#混合編程的方法,根據兩種開發工具的優缺點,利用Visual C#廣泛的適用性結合 LabWindows/CVI對測控數據強大的分析處理能力和它簡單直觀的儀器面板設計。實踐證明這種方法是完全可行的。

[1]孫曉云等.基于 LabWindows/CVI的虛擬儀器設計與應用(第2版)[M].北京:電子工業出版社, 2010.

[2]李寧,雷志軍,陳偉.Visual C#+Oracle數據庫系統開發全程導引與實戰精研[M].北京:電子工業出版社,2008:1-25.

[3]張鵬.基于LabWindows/CVI的MDB數據庫設計,[J]計算機與現代化,2009(2): 89-90.

[4]楊玫,劉瑜,張燕紅.ActiveX技術在LabWindows/CVI中的應用,[J]電腦編程技巧與維護,2012(12)

猜你喜歡
數據庫
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
兩種新的非確定數據庫上的Top-K查詢
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
數據庫
財經(2015年3期)2015-06-09 17:41:31
數據庫
財經(2014年21期)2014-08-18 01:50:18
數據庫
財經(2014年6期)2014-03-12 08:28:19
數據庫
財經(2013年6期)2013-04-29 17:59:30
主站蜘蛛池模板: 中文字幕免费视频| 最新亚洲人成网站在线观看| 国产亚洲精品91| 久久a毛片| 自拍偷拍欧美日韩| 色播五月婷婷| 国产门事件在线| 精品久久人人爽人人玩人人妻| 久久亚洲中文字幕精品一区| 三上悠亚在线精品二区| 久久精品人人做人人爽| 2021最新国产精品网站| 无码中文字幕精品推荐| 国产精品女同一区三区五区| 亚洲欧美精品一中文字幕| 91毛片网| 日韩福利视频导航| 国产精品夜夜嗨视频免费视频| 丝袜亚洲综合| 一本大道无码高清| 欧美精品一区二区三区中文字幕| 国产精品白浆无码流出在线看| 午夜欧美理论2019理论| 国模粉嫩小泬视频在线观看| 99精品视频播放| 日本午夜网站| 亚洲自偷自拍另类小说| 一级在线毛片| 欧美国产日韩在线播放| 亚洲中文字幕在线一区播放| 日韩av无码精品专区| 亚洲美女高潮久久久久久久| 日韩经典精品无码一区二区| 亚洲清纯自偷自拍另类专区| 国产乱人乱偷精品视频a人人澡| 午夜a视频| 精品国产黑色丝袜高跟鞋| 国产午夜无码片在线观看网站| 久久久亚洲国产美女国产盗摄| 亚洲三级片在线看| 欧美激情网址| 99在线观看国产| 看看一级毛片| 五月激情综合网| 国产精品19p| 欧美一级片在线| 精品小视频在线观看| 久久久久人妻一区精品| 少妇露出福利视频| 久久精品丝袜| 老司机午夜精品视频你懂的| 精品第一国产综合精品Aⅴ| 高清无码手机在线观看| 欧美a网站| 亚洲an第二区国产精品| A级毛片高清免费视频就| 女人av社区男人的天堂| 一本一本大道香蕉久在线播放| 国产福利在线观看精品| 91无码国产视频| 在线观看国产网址你懂的| 亚洲日本一本dvd高清| 91网站国产| 欧美日韩一区二区在线免费观看| 无码免费视频| 国产一级小视频| 久久免费视频6| 精品自拍视频在线观看| 中文无码精品A∨在线观看不卡 | 国产99精品久久| 精品国产Av电影无码久久久| 国产区网址| 亚洲无码在线午夜电影| 国产一区亚洲一区| 四虎永久在线精品国产免费| 三上悠亚在线精品二区| 久久久久国产一级毛片高清板| 欧美一区福利| 2021国产v亚洲v天堂无码| 日本成人不卡视频| 91久久国产综合精品| 三上悠亚在线精品二区|