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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

溫馨提示

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

最新文檔

評論

0/150

提交評論