有線電視網(wǎng)管系統(tǒng)_第1頁(yè)
有線電視網(wǎng)管系統(tǒng)_第2頁(yè)
有線電視網(wǎng)管系統(tǒng)_第3頁(yè)
有線電視網(wǎng)管系統(tǒng)_第4頁(yè)
有線電視網(wǎng)管系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第8章 有線電視網(wǎng)管系統(tǒng) 8.1 有線電視網(wǎng)簡(jiǎn)介 8.2 基礎(chǔ)設(shè)計(jì) 8.3 自動(dòng)配置ODBC數(shù)據(jù)源 8.4 參數(shù)設(shè)置與數(shù)據(jù)維護(hù) 8.5 串行通訊的實(shí)現(xiàn) 8.6 運(yùn)行與發(fā)布退出返回總目錄18.1 有線電視網(wǎng)簡(jiǎn)介 通過(guò)這個(gè)實(shí)例讀者可以了解到:如何利用程序自動(dòng)配置ODBC、如何使用串行口進(jìn)行通訊、如何使用TreeView。此外,還涉及到數(shù)據(jù)存儲(chǔ)對(duì)象的使用、發(fā)布應(yīng)用程序等內(nèi)容。本系統(tǒng)的功能是利用有線電視線路上網(wǎng),使有線電視網(wǎng)成為多功能信息業(yè)務(wù)平臺(tái),并通過(guò)計(jì)算機(jī)實(shí)現(xiàn)對(duì)有線電視信號(hào)和數(shù)據(jù)通訊的分級(jí)、分戶控制。系統(tǒng)結(jié)構(gòu)如圖8.1所示。打開(kāi)圖例關(guān)閉圖例返回章目錄28.2 基礎(chǔ)設(shè)計(jì)8.2.1 對(duì)象庫(kù)和應(yīng)用程序?qū)?/p>

2、象 建立目標(biāo)tv_net.pbt、對(duì)象庫(kù)tv_net.pbl和應(yīng)用程序?qū)ο髏v_net。8.2.2 數(shù)據(jù)庫(kù)和表 網(wǎng)管系統(tǒng)中用到的通訊屬性信息,地址、數(shù)據(jù)、觸發(fā)等信息統(tǒng)一保存到一個(gè)數(shù)據(jù)庫(kù)當(dāng)中。數(shù)據(jù)庫(kù)管理系統(tǒng)用Adaptive Server Anywhere 7.0,數(shù)據(jù)庫(kù)文件命名為tv_net.db,用戶名、口令分別為dba和sql。在數(shù)據(jù)庫(kù)tv_net.db中建立三個(gè)表:comm、config和s_id。其中comm用來(lái)保存通訊地址、數(shù)據(jù)等信息,config保存通訊屬性信息,s_id用來(lái)記錄當(dāng)前工作的網(wǎng)絡(luò)編號(hào)。表結(jié)構(gòu)如下:返回章目錄3字段名類(lèi)型寬度含義idchar8網(wǎng)絡(luò)編號(hào),主關(guān)鍵字namec

3、har20器件名稱(chēng)fncchar20模塊功能addr1char8地址addr2char8地址dochar8數(shù)據(jù)txdchar8觸發(fā)note1char20注釋note2char20注釋note3char20注釋note4char20注釋note5char20注釋字段名類(lèi)型寬度含義portnochar1端口號(hào),主關(guān)鍵字settingchar12通訊協(xié)議rthchar3接收緩沖區(qū)收到指定字符數(shù),產(chǎn)生OnComm事件sthchar3輸出緩沖區(qū)少于指定字符數(shù),產(chǎn)生OnComm事件inlenchar3每次從接收緩沖區(qū)讀取的字符數(shù)字段名類(lèi)型寬度含義idchar8網(wǎng)絡(luò)編號(hào),主關(guān)鍵字表8.1 Comm結(jié)構(gòu)表8.

4、2 Config結(jié)構(gòu)表8.3 s_id結(jié)構(gòu) 返回本節(jié)48.2.3 數(shù)據(jù)窗口對(duì)象 表建立之后,可利用comm建立一個(gè)FreeForm格式的數(shù)據(jù)窗口對(duì)象d_comm,如圖8.2所示。它將放到“通訊數(shù)據(jù)維護(hù)查詢窗口”中,進(jìn)行數(shù)據(jù)的增、刪、改、查操作。8.2.4 系統(tǒng)功能菜單系統(tǒng)功能通過(guò)主菜單m_main體現(xiàn)。8.2.5 主窗口 定義一個(gè)主窗口w_main,窗口類(lèi)型為mdihelp!,標(biāo)題為“有線電視網(wǎng)管系統(tǒng)”,指定菜單為m_main,窗口初始狀態(tài)為maximized!,背景顏色設(shè)置為T(mén)eal,圖標(biāo)設(shè)置為UserObject5!,其它屬性選默認(rèn)值。主窗口無(wú)需任何編碼。8.2.6 應(yīng)用程序?qū)ο蟠a打開(kāi)應(yīng)

5、用程序?qū)ο髏v_net,對(duì)其open事件編寫(xiě)如下代碼:打開(kāi)圖例關(guān)閉圖例返回本節(jié)58.3 自動(dòng)配置ODBC數(shù)據(jù)源Windows中所有的ODBC數(shù)據(jù)源在系統(tǒng)注冊(cè)表中都有記載,因此只要對(duì)注冊(cè)表中的項(xiàng)目進(jìn)行相應(yīng)的修改即可。與ODBC相關(guān)的鍵有:HKEY_LOCAL_MACHINESoftwareODBCODBCINST.INIODBC Driver中記錄了所有已安裝的ODBC驅(qū)動(dòng)程序。HKEY_LOCAL_MACHINESoftwareODBCODBCINST.INI中記錄了各種ODBC驅(qū)動(dòng)程序的相關(guān)信息。HKEY_CURRENT_USERSoftwareODBCODBC.INIODBC Data S

6、ources記錄了各種數(shù)據(jù)源的類(lèi)型。HKEY_CURRENT_USERSoftwareODBCODBC.INI記錄了各種數(shù)據(jù)源的詳細(xì)信息。 返回章目錄6通過(guò)程序?qū)ψ?cè)表中相應(yīng)的鍵進(jìn)行配置,可達(dá)到自動(dòng)配置ODBC數(shù)據(jù)源的目的。下面以Adaptive Server Anywhere 7.0數(shù)據(jù)庫(kù)tv_net.db為例介紹ODBC的代碼配置方法。首先,建立一個(gè)如圖8.4所示的窗口w_odbc?!按_定”按鈕cb_1的clicked代碼如下: “取消”按鈕cb_2的clicked代碼為:close(parent)。打開(kāi)圖例關(guān)閉圖例返回本節(jié)78.4 參數(shù)設(shè)置與數(shù)據(jù)維護(hù)8.4.1 設(shè)置和修改串行通訊參數(shù) 為

7、了設(shè)置和修改串行通訊參數(shù),我們建立一個(gè)如圖8.5所示的窗口w_set窗口打開(kāi)時(shí),應(yīng)從表config中提取串行通訊有關(guān)參數(shù),并顯示在對(duì)應(yīng)的單行編輯框中。因此,對(duì)open事件編寫(xiě)如下代碼:8.4.2 通訊數(shù)據(jù)維護(hù)查詢 前面已建立一個(gè)FreeForm格式的數(shù)據(jù)窗口對(duì)象d_comm(見(jiàn)圖8.2)?,F(xiàn)在我們建立一個(gè)如圖8.6所示的通訊數(shù)據(jù)維護(hù)查詢窗口w_d_in,進(jìn)行通訊數(shù)據(jù)的增、刪、改、查操作。圖例8.5圖例8.6返回章目錄8窗口w_d_in的open事件代碼各命令按鈕的clicked事件代碼如下:“首頁(yè)”“上頁(yè)”“下頁(yè)”“末頁(yè)”“插入”“刪除”“保存”“查找”“全部”“退出” “查找”和“全部”的c

8、licked代碼觸發(fā)窗口的u_serch用戶事件實(shí)現(xiàn)查詢。返回本節(jié)98.5 串行通訊的實(shí)現(xiàn)8.5.1 窗口布局及控件為進(jìn)行串行通訊,我們建立一個(gè)如圖8.7所示的窗口w_comm。它是有線電視網(wǎng)管系統(tǒng)的核心模塊。ole_1控件是Microsoft公司提供的通訊控件Microsoft Communications Control(mscomm32.ocx),利用它可以方便地實(shí)現(xiàn)串口通訊。關(guān)閉圖例打開(kāi)圖例返回章目錄108.5.2 窗口實(shí)例變量及open事件代碼在窗口中聲明如下實(shí)例變量:boolean db /單步開(kāi)關(guān)boolean jx /繼續(xù)開(kāi)關(guān)boolean pp /是否接受到指定的數(shù)據(jù)Data

9、Store ds_1 /數(shù)據(jù)存儲(chǔ)實(shí)例變量TreeViewItem item /樹(shù)視圖項(xiàng)(結(jié)構(gòu)變量)int level /當(dāng)前層數(shù)string id_name512,2 /保存當(dāng)前層id和name值窗口w_comm的open事件代碼:返回本節(jié)返回本節(jié)118.5.3 按鈕cb_4(“轉(zhuǎn)”)的clicked事件代碼命令按鈕cb_4(“轉(zhuǎn)”)用來(lái)控制樹(shù)視圖展開(kāi)到指定編號(hào)的節(jié)點(diǎn),其clicked事件代碼如下:8.5.4 樹(shù)視圖控件tv_1的itempopulate事件代碼上面的程序段中用函數(shù)expandall()展開(kāi)樹(shù)視圖某一分支的所有層,每展開(kāi)一項(xiàng)時(shí),樹(shù)視圖控件都要產(chǎn)生一次itempopulate 事

10、件,當(dāng)用鼠標(biāo)雙擊樹(shù)視圖某一項(xiàng)或單擊左邊的“+”時(shí),同樣也會(huì)產(chǎn)生itempopulate事件。該事件通過(guò)如下代碼進(jìn)行項(xiàng)目展開(kāi):8.5.5 樹(shù)視圖控件tv_1的clicked事件代碼單擊樹(shù)視圖tv_1的某一項(xiàng),產(chǎn)生clicked事件,通過(guò)下列代碼顯示當(dāng)前項(xiàng)數(shù)據(jù),并保存當(dāng)前id信息到表s_id。返回本節(jié)128.5.6 自定義函數(shù)為優(yōu)化程序,在窗口w_comm中定義了5個(gè)對(duì)象級(jí)函數(shù),供窗口中各代碼段調(diào)用。自定義函數(shù)名稱(chēng)和功能如表8.5所示。 表8.5 自定義窗口函數(shù)函數(shù)名稱(chēng)功 能f_btod(bn)將8位二進(jìn)制數(shù)bn(C型)轉(zhuǎn)換為十進(jìn)制數(shù)(N型)。f_dtob(dcm)將十進(jìn)制數(shù)dcm(N型)轉(zhuǎn)換為8

11、位二進(jìn)制數(shù)(C型)。f_sd(s_in)發(fā)送一個(gè)8位二進(jìn)制數(shù)s_in(C型),無(wú)返回值。f_susp()等待,直到繼續(xù)開(kāi)關(guān)打開(kāi),無(wú)參數(shù)。f_wait_i(flag_i)等待接收指定的數(shù)據(jù)flag_i。返回本節(jié)13前面提到,在窗口中聲明一些實(shí)例變量,其中與自定義函數(shù)相關(guān)的實(shí)例變量有:布爾型變量db(單步開(kāi)關(guān))、jx(繼續(xù)開(kāi)關(guān))和pp(是否匹配)。變量db的值用來(lái)控制通訊方式,由窗口中“單步”復(fù)選框的狀態(tài)決定,“單步”復(fù)選框的clicked代碼為:If cbx_1.Checked Thendb=trueElsedb=falseEnd If變量jx的值由窗口中“繼續(xù)”命令按鈕(cb_3)設(shè)置為true,它的clicked事件代碼只有一行:jx=true返回本節(jié)148.5.7 “通訊”、“保存”和“退出”按鈕代碼“通訊”按鈕用來(lái)通過(guò)串行口發(fā)送當(dāng)前節(jié)點(diǎn)指定的地址、數(shù)據(jù)和觸發(fā)信息并接受串行口輸入的信息。它的clicked事件代碼為: “保存”命令按鈕用來(lái)將當(dāng)前節(jié)點(diǎn)數(shù)據(jù)保存到表comm中,使得在此可以修改節(jié)點(diǎn)數(shù)據(jù)。它的clicked事件代碼為: “退出”命令按鈕用來(lái)清除數(shù)據(jù)存儲(chǔ)實(shí)例并關(guān)閉窗口,其clicked事件代碼為:返回本節(jié)158.6 運(yùn)行與發(fā)布 窗口w_comm的運(yùn)行情況如圖8.9所示。 系統(tǒng)調(diào)試、

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論