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

        ?

        基于COM組件的花鍵軸3層C/S結(jié)構(gòu)信息數(shù)據(jù)庫模塊開發(fā)

        2021-03-13 03:48:58
        蘭州工業(yè)學院學報 2021年1期
        關(guān)鍵詞:數(shù)據(jù)庫功能信息

        何 超

        (中安(天津)航空設(shè)備有限公司,天津 300300)

        隨著COM技術(shù)與網(wǎng)絡(luò)技術(shù)的快速發(fā)展,通過組件技術(shù)開發(fā)CAD系統(tǒng)的應用程序已經(jīng)成為主流[1].在COM框架下,客戶能夠開發(fā)出不同類別但功能特定的組件,然后按需要將它們像堆積木似的拼裝在一起,從而構(gòu)成復雜的應用系統(tǒng)[2].在現(xiàn)代CAD系統(tǒng)中,隨著數(shù)據(jù)種類與數(shù)據(jù)量的與日俱增,數(shù)據(jù)信息已從CAD系統(tǒng)中獨立出來,形成了獨立于CAD應用程序外的數(shù)據(jù)庫,這樣有利于不同應用程序之間的數(shù)據(jù)交換,使應用程序和數(shù)據(jù)相對獨立,有助于數(shù)據(jù)的維護與拓展補充,并協(xié)調(diào)CAD開發(fā)平臺進行有效的監(jiān)控等功能[3-4].

        本文即是結(jié)合COM組件技術(shù),采用3層C/S結(jié)構(gòu),針對UG花鍵軸參數(shù)信息數(shù)據(jù)庫系統(tǒng)的開發(fā)進行研究,以期通過本次研究內(nèi)容更好地解決花鍵軸數(shù)據(jù)信息的科學管理與安全維護等問題,從而更好地保障零件設(shè)計時參數(shù)調(diào)用工作的順利進行.

        1 系統(tǒng)總體結(jié)構(gòu)

        系統(tǒng)總體結(jié)構(gòu)為3層C/S結(jié)構(gòu)[5],主要包含客戶層、中間層和數(shù)據(jù)層3個層次內(nèi)容.其中:客戶層主要完成菜單、用戶界面以及中間層的實際調(diào)用,通過COM組件完成對數(shù)據(jù)庫信息進行操作的功能,包含信息的顯示、入庫、修改、刪除以及查詢等功能;中間層主要完成數(shù)據(jù)庫信息的操作功能;數(shù)據(jù)層主要完成花鍵軸信息的存儲,更好地為中間層提供數(shù)據(jù)支持[6].綜上,系統(tǒng)總體結(jié)構(gòu)如圖1所示.

        圖1 系統(tǒng)總體結(jié)構(gòu)

        2 系統(tǒng)實現(xiàn)

        2.1 開發(fā)環(huán)境

        2.1.1 開發(fā)環(huán)境設(shè)置

        首先創(chuàng)建自定義文件夾HJZ,在該文件夾中創(chuàng)建Startup和Database兩個子文件夾,其中:Startup用于存放自定義的菜單以及DLL文件;Database用于存放花鍵軸參數(shù)信息庫文件,隨后注冊環(huán)境變量[7],如圖2所示.

        圖2 注冊環(huán)境變量

        2.1.2 自定義菜單

        主要在Startup子文件內(nèi)創(chuàng)建菜單文件app.men.其中:Actions后面為菜單要執(zhí)行的動作;A、B依次為主次菜單名.啟動UG后,則會出現(xiàn)如圖3所示的所開發(fā)系統(tǒng)UG菜單.

        圖3 系統(tǒng)UG菜單

        VERSION 120

        EDIT UG_GATEWAY_MAIN_MENUBAR

        BEFORE UG_HELP

        CASCADE_BUTTONThree_Tier_COM

        LABEL基于COM組件的花鍵軸三層數(shù)據(jù)庫系統(tǒng)的開發(fā)//A

        END_OF_BEFORE

        MENUThree_Tier_COM

        BUTTONDataBase

        LABEL我的花鍵軸數(shù)據(jù)庫系統(tǒng)//B

        CTIONSDBSystem_act

        END_OF_MENU

        2.2 信息數(shù)據(jù)庫的建立

        通過Access建立花鍵軸零件數(shù)據(jù)庫文件spline_shaft.mdb,如圖4所示.由圖4可知,花鍵軸信息主要包含10個字段,分別為編號、直徑1、直徑2、齒數(shù)、齒寬、有效長度、內(nèi)孔直徑、內(nèi)孔深度、軸直徑、軸長度.最后將建立的數(shù)據(jù)庫文件復制到Database子文件夾中.

        圖4 花鍵軸信息數(shù)據(jù)庫

        2.3 COM組件內(nèi)容

        創(chuàng)建COM組件框架時,一般按照以下步驟進行[8]:

        1) 通過VC向?qū)е械腁TL COM AppWizard創(chuàng)建COM服務(wù)器框架工程;

        2) 通過“Insert”選擇“NEW ATL Object”啟動ATL COM AppWizard 來加入對COM對象的支持;

        3) 通過選擇“Simple Object”并單擊“Next”按鈕,在“Short Name”下輸入名稱DataOper,以及在“Interface”下輸入IDataOper;

        4) 添加方法到接口IDataOper中,并在接口的實現(xiàn)文件CDataOper.cpp中依據(jù)功能添加方法的實現(xiàn)代碼:

        STDMETHODIMPCDataOper::Open(BSTR source, BSTR USER, BSTR pwd)

        {return S_OK;}

        5) 添加COM組件代碼(代碼略);

        6) COM組件的編譯、連接以及注冊.

        2.4 客戶端的實現(xiàn)

        在VC環(huán)境下創(chuàng)建應用程序開發(fā)框架,新建項目DB_Fun.在程序框架內(nèi),插入對話框資源以便設(shè)置用戶界面的對話框.對所建立的對話框資源添加對話框類與成員函數(shù),建立過程如圖5所示.隨后添加對應類與類函數(shù)程序代碼,設(shè)置UG/Open API函數(shù)路徑,如圖6所示.

        圖5 添加對話框類與成員函數(shù)

        圖6 設(shè)置UG/Open API函數(shù)路徑

        最后將編譯后的.DLL文件復制到Startup子文件中.現(xiàn)以入庫功能函數(shù)為例,介紹如下:

        voidCDBSystem::OnButtonInput()//入庫函數(shù);

        {CDBOper InputDlg;

        InputDlg.mark=0;

        if(InputDlg.DoModal()==IDOK)//入庫對話框打開成功;

        { //一系列對應的花鍵軸參數(shù);

        CString num=InputDlg.num;

        float D1=InputDlg.D1;

        float D2=InputDlg.D2;

        int Z=InputDlg.Z;

        float B=InputDlg.B;

        float L=InputDlg.L;

        float D=InputDlg.D;

        float D_L=InputDlg.D_L;

        float shaft_D=InputDlg.shaft_D;

        float shaft_D_L=InputDlg.shaft_D_L;

        if(num=="") //提示不能輸入編號為空的齒輪參數(shù);

        { MessageBox("編號不能為空!","提示",MB_ICONWARNING+MB_OK);

        InputDlg.m_num.SetFocus();return;}

        try{HRESULT hr =pDB->OpenCommand();

        if (FAILED(hr))

        {MessageBox("OpenCommandfailed");return;}

        CString str;

        str.Format("insert into spline_shaft

        (編號,直徑1,直徑2,齒數(shù),齒寬,有效長度,內(nèi)孔直徑,內(nèi)孔深度,軸直徑,軸長度)values('%s',%f,%f,%d,%f,%f,%f,%f,%f,%f)",num,D1,D2,Z,B,L,D,D_L,shaft_D,shaft_D_L);

        .......;//其他操作設(shè)置;}}

        2.5 注冊程序的實現(xiàn)

        通過VC向?qū)е械摹癢in32 Dynamic_Link Library”創(chuàng)建DLL框架,項目名稱為Three_Tier_UG_APP.隨后添加注冊程序代碼:

        //交互方法;

        staticUF_MB_cb_status_t DBSystem_act(

        UF_MB_widget_t widget,

        UF_MB_data_t client_data,

        UF_MB_activated_button_p_t call_button );

        staticUF_MB_action_t actionTable[] =

        {{"DBSystem_act",DBSystem_act}, { NULL, NULL, NULL }};

        extern "C"DllExport void ufsta( char *param, int *returnCode, int rlen )//UG入口函數(shù)ufsta;

        { /*初始化API環(huán)境 */

        int errorCode = UF_initialize();

        if ( 0 ==errorCode )

        {int status;//設(shè)置整型變量;

        //實際操作;

        status=UF_MB_add_actions( actionTable );

        print_error( "UF_MB_add_actions", status );

        errorCode = UF_terminate();//釋放API調(diào)用;}

        PrintErrorMessage( errorCode );//輸出任何有誤信息;}

        最后進行編譯連接操作,首先將DB_Fun.lib先復制到Three_Tier_UG_APP目錄中,同時需在Three_Tier_UG_APP.dsw工程中申明“extern"C" DllExport void DB_Fun();”.然后還需設(shè)置UG/Open API路徑以及添加.lib文件,最后將生成的.DLL文件復制到Startup文件中即可.

        3 測試結(jié)果

        首先啟動UG5.0,點擊“我的花鍵軸數(shù)據(jù)庫系統(tǒng)”菜單,此時會出現(xiàn)如圖7所示的開發(fā)系統(tǒng)主界面.主界面中包含顯示、入庫、修改等功能按鈕,當點選“顯示”按鈕時,即可獲得如圖8所示的通過COM組件獲取花鍵軸數(shù)據(jù)庫中的參數(shù)信息.

        圖7 開發(fā)系統(tǒng)主界面

        圖8 經(jīng)由COM組件獲取花鍵軸數(shù)據(jù)庫

        亦可實現(xiàn)參數(shù)信息入庫、修改等操作,以花鍵軸數(shù)據(jù)信息入庫功能為例,其實現(xiàn)過程如圖9~10所示.經(jīng)過測試,整個開發(fā)系統(tǒng)運行結(jié)果良好,基本的數(shù)據(jù)管理功能均可實現(xiàn),滿足了初始開發(fā)時的目的要求.

        圖9 輸入花鍵軸參數(shù)值

        圖10 入庫效果

        4 結(jié)語

        本文通過COM組件技術(shù)實現(xiàn)UG環(huán)境下花鍵軸參數(shù)信息庫的開發(fā).實踐表明,利用COM組件的高度獨立性和程序集成特點,將COM組件引入到CAD系統(tǒng)的二次開發(fā)工作中去,極大地提高了CAD系統(tǒng)的開發(fā)效率,增強了CAD軟件跨系統(tǒng)跨平臺的通用性,大大縮短開發(fā)周期.

        隨著COM技術(shù)的發(fā)展,在今后的實際應用中,作為分布式應用系統(tǒng)開發(fā)的基礎(chǔ)平臺,COM組件技術(shù)將日益受到客戶的重視,其必將在分布式系統(tǒng)應用領(lǐng)域中發(fā)揮越來越重要的角色與功能.

        猜你喜歡
        數(shù)據(jù)庫功能信息
        也談詩的“功能”
        中華詩詞(2022年6期)2022-12-31 06:41:24
        關(guān)于非首都功能疏解的幾點思考
        訂閱信息
        中華手工(2017年2期)2017-06-06 23:00:31
        數(shù)據(jù)庫
        財經(jīng)(2017年2期)2017-03-10 14:35:35
        數(shù)據(jù)庫
        財經(jīng)(2016年15期)2016-06-03 07:38:02
        數(shù)據(jù)庫
        財經(jīng)(2016年3期)2016-03-07 07:44:46
        數(shù)據(jù)庫
        財經(jīng)(2016年6期)2016-02-24 07:41:51
        展會信息
        中外會展(2014年4期)2014-11-27 07:46:46
        中西醫(yī)結(jié)合治療甲狀腺功能亢進癥31例
        辨證施護在輕度認知功能損害中的應用
        亚洲va欧美va| 美国少妇性xxxx另类| 末成年女a∨片一区二区| 熟妇与小伙子matur老熟妇e | 绝顶潮喷绝叫在线观看| 曰本女人与公拘交酡免费视频| 国产成人福利在线视频不卡 | 极品尤物人妻堕落沉沦| 亚洲精品成人网线在线播放va| 久久国产精彩视频| 中文天堂一区二区三区| 国产av激情舒服刺激| 国产高清在线精品一区二区三区 | 日本老熟妇毛茸茸| 老色鬼永久精品网站| 亚洲一区二区三区天堂av| 欧美午夜理伦三级在线观看| 成人免费看吃奶视频网站| 亚洲一区二区欧美色妞影院 | 国产毛片视频一区二区三区在线| 成人a级视频在线播放| 久久久久久成人毛片免费看| 完整在线视频免费黄片| 人妻精品人妻一区二区三区四区| 人妻无码一区二区不卡无码av| 国产91中文| 日韩极品免费在线观看| 97人妻精品一区二区三区男同 | 全免费a级毛片免费看视频| 国产精品亚洲av国产| 丰满精品人妻一区二区| 久久和欧洲码一码二码三码| 亚洲AV无码久久精品国产老人| av人妻在线一区二区三区| 久久精品国产只有精品96| 无码少妇一级AV便在线观看| 中文字幕亚洲精品第一页| 亚洲天堂av三区四区不卡| 老熟女高潮一区二区三区| 日韩人妻无码中文字幕一区| 男女搞事在线观看视频|