• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      VC6.0編輯控件的改進(jìn)設(shè)計(jì)

      2012-06-14 01:37:58李源泉
      無線電工程 2012年2期
      關(guān)鍵詞:浮點(diǎn)控件測(cè)控

      李源泉,朱 龍

      (1.西安電子科技大學(xué),陜西西安710071;2.中國(guó)電子科技集團(tuán)第五十四研究所,河北石家莊050081;3.第二炮兵駐石家莊地區(qū)軍事代表室,河北石家莊050081)

      0 引言

      目前國(guó)內(nèi)S頻段統(tǒng)一測(cè)控系統(tǒng)軟件大多采用VC6.0編譯環(huán)境,編輯控件等技術(shù)手段在監(jiān)控軟件中被大量使用。VC6.0編譯環(huán)境下的普通編輯控件由于不具備輸入信息的判斷功能,需要人工編碼設(shè)計(jì)實(shí)現(xiàn)。在不同的工程實(shí)施中,不僅增加軟件編碼工作量,實(shí)現(xiàn)方式無法統(tǒng)一,而且往往無法全面滿足設(shè)計(jì)要求。

      通過對(duì)VC6.0編譯環(huán)境下的普通編輯控件進(jìn)行改進(jìn),使用類封裝的形式,數(shù)據(jù)處理的消息響應(yīng)處理機(jī)制,形成一種改進(jìn)的編輯控件。與普通控件相比,改進(jìn)后的編輯控件在不破壞已有功能的情況下,不僅增加了輸入信息的自動(dòng)判斷、異常處理功能,而且具備代碼、實(shí)現(xiàn)方式統(tǒng)一的優(yōu)點(diǎn)。因此改進(jìn)后的編輯控件可以為上述問題的解決提供一種有效技術(shù)手段。

      1 總體設(shè)計(jì)

      1.1 編輯控件封裝設(shè)計(jì)

      編輯控件需要滿足外部調(diào)用靈活和功能管理相對(duì)集中的要求,因此在VC6.0編譯環(huán)境下,采用面向?qū)ο蟮脑O(shè)計(jì)方法,采用類封裝形式,是實(shí)現(xiàn)編輯控件全部功能的基本要求。

      編輯控件不能破壞原有編輯控件的功能設(shè)計(jì),因此在VC6.0編譯環(huán)境下,改進(jìn)編輯控件應(yīng)充分繼承原有編輯控件類的特點(diǎn)與功能。

      1.2 編輯控件功能設(shè)計(jì)

      編輯控件的實(shí)現(xiàn)需要提供數(shù)據(jù)屬性指定(包括數(shù)據(jù)范圍和數(shù)據(jù)步進(jìn)等信息)功能、非法信息判斷功能和異常處理功能,因此將設(shè)計(jì)分為:初始化設(shè)計(jì);實(shí)時(shí)判斷設(shè)計(jì)和異常處理設(shè)計(jì)3個(gè)部分。

      初始化設(shè)計(jì)需要考慮的要求主要是數(shù)據(jù)屬性指定靈活、擴(kuò)展方便,為非法信息判斷功能提高基本信息。

      實(shí)時(shí)判斷設(shè)計(jì)的要點(diǎn)在于實(shí)現(xiàn)技術(shù)可靠,功能模塊劃分清晰,邏輯處理清晰,軟件編碼易于實(shí)現(xiàn)。

      異常處理設(shè)計(jì)的要求是能夠滿足S頻段統(tǒng)一測(cè)控系統(tǒng)的基本特點(diǎn),尋求合適的統(tǒng)一處理機(jī)制,盡量滿足已有工程設(shè)計(jì)需求的同時(shí),具備一定的可擴(kuò)展性。

      1.3 編輯控件類型設(shè)計(jì)

      目前國(guó)內(nèi)S頻段統(tǒng)一測(cè)控系統(tǒng)監(jiān)控軟件所使用的編輯控件類型包括:整數(shù)型、浮點(diǎn)型和16進(jìn)制型3種。因此需要將編輯控件按照以上類型劃分,分別進(jìn)行設(shè)計(jì)開發(fā)。

      整數(shù)型編輯控件的主要特點(diǎn)是需要指定數(shù)據(jù)可輸入最小值、可輸入最大值以及可輸入步進(jìn)。例如年份信息,要求最小輸入2000年;最大輸入2030年;步進(jìn)為4,表示從2000年開始,每間隔4年為一合法信息。

      浮點(diǎn)型編輯控件的主要特點(diǎn)與整數(shù)型基本一致,需要增加可輸入精度屬性。例如在S頻段統(tǒng)一測(cè)控系統(tǒng)中常見的頻率參數(shù),其輸入范圍為2 025~2 200 MHz,步進(jìn)要求為 100 Hz、1 kHz兩檔,輸入精度也要求100 Hz、1 kHz兩檔。

      16進(jìn)制型編輯控件目前的主要特點(diǎn)是需要指定數(shù)據(jù)輸入最大值。例如單字節(jié)編輯控件,按照16進(jìn)制數(shù)據(jù)輸入,其最大值不超過0x1F。

      2 需要解決的問題

      2.1 編輯控件的初始化

      普通編輯控件由于無法指定輸入信息范圍、步進(jìn)和精度等屬性,是導(dǎo)致其無法提供非法信息自動(dòng)判斷的根本原因;在VC6.0編譯環(huán)境下尋求一種合適的初始化處理機(jī)制,能夠完成上述屬性的指定,是解決問題的前提條件。

      因此該機(jī)制必須具備實(shí)現(xiàn)技術(shù)可靠、較強(qiáng)擴(kuò)展性的特點(diǎn),從而實(shí)現(xiàn)3種類型編輯控件的統(tǒng)一設(shè)計(jì);并且能夠根據(jù)不同的工程研制實(shí)際需求,達(dá)到易于擴(kuò)展、維護(hù)簡(jiǎn)單和編碼工作量小的總體要求。

      2.2 編輯控件的實(shí)時(shí)判斷

      普通編輯控件由于不提供輸入信息的實(shí)時(shí)判斷機(jī)制,是其不具備非法信息自動(dòng)判斷的重要原因。在VC6.0編譯環(huán)境下尋求一種合適的實(shí)時(shí)判斷機(jī)制,實(shí)現(xiàn)信息的動(dòng)態(tài)獲取、實(shí)時(shí)判斷,是解決問題的基本條件。

      因此該機(jī)制在解決實(shí)時(shí)判斷問題的同時(shí),能夠提供一種相對(duì)通用的程序判決邏輯清晰,達(dá)到信息實(shí)時(shí)判斷的總體要求。

      2.3 編輯控件的異常處理

      普通編輯控件由于不提供異常信息的處理機(jī)制,也是考慮改進(jìn)的重要原因;結(jié)合S頻段統(tǒng)一測(cè)控系統(tǒng)監(jiān)控軟件自身特點(diǎn),在VC6.0編譯環(huán)境下尋求一種易于實(shí)現(xiàn)的異常信息處理方式,確保異常信息的統(tǒng)一處理,是衡量改進(jìn)編輯控件好壞的重要指標(biāo)。

      該方式在解決非法信息異常處理的同時(shí),還應(yīng)該綜合考慮目前S頻段統(tǒng)一測(cè)控系統(tǒng)的特點(diǎn),滿足異常處理方式統(tǒng)一的總體要求。

      3 關(guān)鍵技術(shù)

      3.1 構(gòu)造函數(shù)重載技術(shù)

      為解決編輯控件初始化問題,基于C++語言的構(gòu)造函數(shù)重載技術(shù)是一種可選方案。使用構(gòu)造函數(shù)的重載技術(shù),不僅能夠可靠解決編輯控件輸入范圍、輸入步進(jìn)的初始化處理問題,而且針對(duì)3種不同類型編輯控件,具有較強(qiáng)的擴(kuò)展性。

      以下為整數(shù)型編輯控件構(gòu)造函數(shù)及其主要代碼。針對(duì)不同控件類型,例如浮點(diǎn)型,如果需要擴(kuò)展增加輸入精度屬性,可通過增加構(gòu)造函數(shù)輸入變量順利實(shí)現(xiàn)。

      ∥構(gòu)造函數(shù)重載

      ∥Min最小值Max最大值Step步進(jìn)

      CLyqEditEx(int Min,int Max,int Step);

      CLyqEditEx m_strYear;∥申明年信息編輯控件

      m_strYear(2000,2030,4);

      浮點(diǎn)型以及16進(jìn)制型編輯控件僅提供構(gòu)造函數(shù),由于其他技術(shù)與功能實(shí)現(xiàn)與整數(shù)型基本一致,不再重復(fù)描述。

      ∥浮點(diǎn)型編輯控件構(gòu)造函數(shù)重置

      ∥Min可輸入最小值Max可輸入最大值Step輸入值步進(jìn)Precision輸入值精度

      CLyqEditEx_Double(double Min,double Max,double Step,double Precision);

      ∥16進(jìn)制型編輯控件構(gòu)造函數(shù)重置

      ∥Max可輸入最大值

      CDzEditEx(DWORD Max).

      3.2 消息響應(yīng)技術(shù)

      為解決編輯控件的實(shí)時(shí)判斷問題,采用VC6.0編譯環(huán)境的消息響應(yīng)技術(shù)是一種可行方案。使用輸入過程中產(chǎn)生的消息響應(yīng)機(jī)制,可以動(dòng)態(tài)實(shí)時(shí)地進(jìn)行信息的獲取和判斷處理。

      該方案的特點(diǎn)是通過輸入信息產(chǎn)生的消息驅(qū)動(dòng)實(shí)時(shí)判斷,因此能夠充分滿足編輯控件實(shí)時(shí)判斷要求。

      以下為消息響應(yīng)技術(shù)的主要生成代碼。

      ∥消息的生成ON_CONTROL_REFLECT(EN_UPDATE,OnUpdate)

      ∥消息的處理

      void CLyqEditEx::OnUpdate()

      {

      if(!JudgeParaNum(TRUE))∥輸入信息判斷

      {

      ResetPara(FALSE);∥異常處理

      }

      }

      3.3 程序判決邏輯

      通過消息響應(yīng)技術(shù)只能解決輸入信息的實(shí)時(shí)響應(yīng)問題,并不能解決輸入信息的判斷問題。

      在輸入消息到達(dá)后,需要針對(duì)輸入信息提供統(tǒng)一的判斷處理,完成輸入信息非法判斷;同時(shí)為保證統(tǒng)一設(shè)計(jì)以及維護(hù)方便,需要針對(duì)3種不同類型編輯控件提供統(tǒng)一的判決邏輯。

      如上所述,函數(shù)JudgeParaNum完成輸入信息的非法判斷處理,必須包括以下幾個(gè)部分的處理邏輯:最新輸入信息的獲取處理;非法字符的基本判斷處理;長(zhǎng)度超限的判斷處理;長(zhǎng)度是否到達(dá)最小值的判斷;輸入信息范圍的判斷處理;輸入步進(jìn)的判斷處理和合法信息的記憶處理。需要說明的是,對(duì)于浮點(diǎn)型編輯控件還需要增加輸入精度的判斷處理。

      最新輸入信息的獲取處理主要完成輸入信息的實(shí)時(shí)獲取操作。非法字符的基本判斷處理主要完成非法字符輸入的判斷,例如輸入信息包括了非阿拉伯?dāng)?shù)字的信息,應(yīng)立即識(shí)別為非法輸入。長(zhǎng)度超限的判斷處理主要完成數(shù)據(jù)輸入長(zhǎng)度的判斷,結(jié)合數(shù)據(jù)輸入范圍、數(shù)據(jù)步進(jìn)和精度等信息,應(yīng)自動(dòng)識(shí)別出可輸入信息的最小長(zhǎng)度以及最大長(zhǎng)度,在輸入信息超過最大輸入長(zhǎng)度后,應(yīng)立即識(shí)別為非法輸入。長(zhǎng)度是否到達(dá)最小值的判斷處理主要根據(jù)最新輸入信息是否達(dá)到最小輸入長(zhǎng)度,區(qū)別是否需要啟動(dòng)判決邏輯,防止因未輸入完畢導(dǎo)致誤判輸入信息非法。

      輸入信息范圍的判斷處理主要根據(jù)構(gòu)造函數(shù)提供的輸入最小值以及最大值,判斷輸入信息是否超限。輸入步進(jìn)的判斷處理主要根據(jù)構(gòu)造函數(shù)提供的輸入步進(jìn),判斷輸入信息的步進(jìn)信息是否超限。對(duì)于浮點(diǎn)型編輯控件,輸入精度的判斷處理主要根據(jù)構(gòu)造函數(shù)提供的輸入精度,判斷輸入信息精度是否超限。據(jù)此形成的判決邏輯流程圖,將直接影響到編輯控件實(shí)時(shí)判斷功能的順利實(shí)現(xiàn)。以整數(shù)型編輯控件為例,判決邏輯流程圖如圖1所示。

      圖1 判決邏輯流程

      圖1中的判斷過程必須是順序處理的,其中第3步驟判斷長(zhǎng)度是否達(dá)到最小值的過程處理邏輯是:如果信息長(zhǎng)度未達(dá)到最小值,則直接結(jié)束判斷;如果信息長(zhǎng)度已經(jīng)達(dá)到最小值要求,則繼續(xù)后續(xù)判斷處理操作。

      從圖1中的流程內(nèi)容看,每一個(gè)執(zhí)行步驟所完成的功能相對(duì)獨(dú)立,因此在實(shí)現(xiàn)過程中,每一個(gè)執(zhí)行步驟都可以封裝成獨(dú)立的函數(shù),便于代碼的調(diào)試以及維護(hù)。

      從圖1中的流程執(zhí)行關(guān)系看,各個(gè)流程步驟之間的調(diào)用邏輯基本是線性的,互相之間的關(guān)系主要通過調(diào)度次序來體現(xiàn),因此,整個(gè)判決邏輯比較清晰,簡(jiǎn)單,在VC6.0編譯環(huán)境下編碼人員容易實(shí)現(xiàn)。

      對(duì)于浮點(diǎn)型編輯控件,需要在圖1中的判斷步驟最后增加精度判斷邏輯;對(duì)于16進(jìn)制類型編輯控件,需要在圖1中的判斷步驟中刪除步進(jìn)判斷。

      4 系統(tǒng)仿真

      4.1 仿真環(huán)境

      驗(yàn)證編輯控件的軟件環(huán)境可以采用Wondows系列操作系統(tǒng),開發(fā)平臺(tái)選用VC6.0編譯環(huán)境,使用到的工具軟件包括Office 2003以及代碼統(tǒng)計(jì)工具。

      硬件設(shè)備采用目前市場(chǎng)上主流臺(tái)式機(jī)配置即可,基本硬件配置主要要求如下:

      Dell臺(tái)式機(jī)的CPU為2.79 MHz,內(nèi)存1 GB以上,主板為INTEL 945芯片組。

      此外,為了保證編輯控件能夠正常使用,完成了仿真測(cè)試軟件的開發(fā)工作。在該仿真測(cè)試軟件中,可以分別使用改進(jìn)的編輯控件和普通編輯控件,配合完成相關(guān)性能測(cè)試工作。

      4.2 仿真方法

      為了得到最詳細(xì)的原始素材,采用程序檢查法完成系統(tǒng)性能指標(biāo)的測(cè)試和驗(yàn)證。即在仿真測(cè)試軟件的關(guān)鍵點(diǎn)設(shè)置程序測(cè)試節(jié)點(diǎn),記錄測(cè)試數(shù)據(jù)信息,盡可能地獲取接近實(shí)際情況的測(cè)試數(shù)據(jù)。

      編輯控件系統(tǒng)性能中的處理時(shí)間為關(guān)鍵指標(biāo)。因此,需要在仿真測(cè)試軟件中采集調(diào)用開始以及結(jié)束時(shí)間,獲取調(diào)用處理所花費(fèi)的時(shí)間,然后采取多組測(cè)試,使用求數(shù)學(xué)平均值方法完成原始數(shù)據(jù)的記錄和整理工作。

      編輯控件的外部調(diào)用次數(shù)也是重要指標(biāo),因此,需要針對(duì)仿真測(cè)試軟件的外部調(diào)用次數(shù)進(jìn)行統(tǒng)計(jì)。該工作比較簡(jiǎn)單,采用常規(guī)的代碼統(tǒng)計(jì)分析工具,針對(duì)特定代碼進(jìn)行處理即可實(shí)現(xiàn)。

      考慮到S頻段統(tǒng)一測(cè)控系統(tǒng)監(jiān)控軟件的自身特點(diǎn),在一個(gè)相對(duì)獨(dú)立的調(diào)用編輯控件界面中,其處理數(shù)量一般都在10個(gè)以上,因此在仿真測(cè)試軟件設(shè)計(jì)中,編輯控件的使用數(shù)量不能過低,系統(tǒng)仿真過程中分別采用了10個(gè)、20個(gè)、50個(gè)一共3檔進(jìn)行測(cè)試。

      5 仿真結(jié)果分析

      在Dell臺(tái)式機(jī)進(jìn)行的系統(tǒng)仿真測(cè)試,主要集中在20次、50次兩檔上。其中20次一檔一共仿真10組,50次一檔一共仿真5組。以20次一檔為例,其仿真結(jié)果如表1所示。

      表1 普通控件與改進(jìn)控件性能比對(duì)

      從表1中可以看出,在程序人工編碼方面,普通控件由于需要完成額外的非法判斷處理,與改進(jìn)控件有很大差距,同時(shí)還未實(shí)現(xiàn)異常處理功能;在系統(tǒng)執(zhí)行效率性能以及外部調(diào)用次數(shù)方面,普通控件與改進(jìn)控件略有差別,改進(jìn)控件在執(zhí)行時(shí)間上有增加現(xiàn)象,但隨著計(jì)算機(jī)性能的不斷提高,該執(zhí)行效率的輕微下降是可以接受的。

      根據(jù)以上分析,由于普通控件與改進(jìn)控件在執(zhí)行效率和外部調(diào)用性能方面沒有本質(zhì)上的差別,但是在編碼行數(shù)方面,改進(jìn)后的控件比普通控件有明顯改善,如果再考慮到改進(jìn)控件所新具備的自動(dòng)判斷和異常處理功能,建議在VC6.0編譯環(huán)境下的編輯控件采用該設(shè)計(jì)。

      6 結(jié)束語

      在VC6.0編譯環(huán)境下進(jìn)行的編輯控件改進(jìn)設(shè)計(jì),特別適合在S頻段統(tǒng)一測(cè)控系統(tǒng)監(jiān)控軟件中使用,根據(jù)該系統(tǒng)的特點(diǎn)增加了輸入信息合法性的實(shí)時(shí)判斷、異常處理功能。與普通控件相比,不僅在執(zhí)行效率等方面沒有明顯的降低,而且該控件也具備便捷的代碼調(diào)試能力和高度的可靠性,已在多個(gè)S頻段統(tǒng)一測(cè)控系統(tǒng)軟件中使用,運(yùn)行非??煽?。

      [1]孫 皓.Visual C++范例大全[M].北京:機(jī)械工業(yè)出版社,2009.

      [2]錢 能.C++程序設(shè)計(jì)教程[M].北京:清華大學(xué)出版社,2001.

      [3]LIPPMAN S B.Essential C++[M](中文版).侯 捷,譯.武漢:華中科技大學(xué)出版社,2009.

      [4]DEITEL H M,DEITEL P J.C++大學(xué)教程[M].北京:電子工業(yè)出版社,2009.

      [5]LIPPMAN S B,LAJOIE J.C++Primer[M](中文版).北京:中國(guó)電力出版社,2001.

      [6]KRUGLINSKI D J.Visual C++技術(shù)內(nèi)幕[M].北京:清華大學(xué)出版社,1997.

      [7]楊正甫.面向?qū)ο蠓治雠c設(shè)計(jì)[M].北京:中國(guó)鐵道出版社,1997.

      猜你喜歡
      浮點(diǎn)控件測(cè)控
      LEO星座增強(qiáng)GNSS PPP模糊度浮點(diǎn)解與固定解性能評(píng)估
      基于浮點(diǎn)DSP的鐵路FSK信號(hào)檢測(cè)
      《測(cè)控電路》實(shí)踐教學(xué)改革探討
      關(guān)于.net控件數(shù)組的探討
      軟件(2018年7期)2018-08-13 09:44:42
      基于現(xiàn)代測(cè)控技術(shù)及其應(yīng)用分析
      向著新航程進(jìn)發(fā)——遠(yuǎn)望7號(hào)測(cè)控船首航記錄
      太空探索(2016年12期)2016-07-18 11:13:43
      基于FPGA的浮點(diǎn)FIR濾波器設(shè)計(jì)
      基于USB2.0協(xié)議的通用測(cè)控通信接口設(shè)計(jì)
      改進(jìn)的Goldschmidt雙精度浮點(diǎn)除法器
      就這樣玩會(huì)VBA中常見的自定義控件
      電腦迷(2012年24期)2012-04-29 00:44:03
      闵行区| 潞西市| 融水| 绍兴县| 大冶市| 韶关市| 卢龙县| 张家口市| 南漳县| 石林| 海晏县| 敦煌市| 东乡族自治县| 田林县| 衡阳县| 泸西县| 澄江县| 荔浦县| 乌鲁木齐县| 锡林浩特市| 瓮安县| 遵义市| 山阳县| 三明市| 辛集市| 英超| 醴陵市| 凉城县| 汉川市| 万安县| 西和县| 普定县| 怀宁县| 灌云县| 丹阳市| 奉贤区| 辽源市| 福海县| 富民县| 江山市| 长宁区|