電視節(jié)目脫機(jī)瀏覽器_第1頁(yè)
電視節(jié)目脫機(jī)瀏覽器_第2頁(yè)
電視節(jié)目脫機(jī)瀏覽器_第3頁(yè)
電視節(jié)目脫機(jī)瀏覽器_第4頁(yè)
電視節(jié)目脫機(jī)瀏覽器_第5頁(yè)
已閱讀5頁(yè),還剩13頁(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、第第7章章 電視節(jié)目脫機(jī)瀏覽器電視節(jié)目脫機(jī)瀏覽器 將電視節(jié)目時(shí)間表下載到本地硬盤(pán),再做一個(gè)將電視節(jié)目時(shí)間表下載到本地硬盤(pán),再做一個(gè)瀏覽器進(jìn)行脫機(jī)瀏覽,可以大大提高查詢速度、降瀏覽器進(jìn)行脫機(jī)瀏覽,可以大大提高查詢速度、降低費(fèi)用。低費(fèi)用。 本章涉及到的主要技術(shù)有:標(biāo)簽頁(yè)、跟蹤條、本章涉及到的主要技術(shù)有:標(biāo)簽頁(yè)、跟蹤條、進(jìn)度條、數(shù)據(jù)存儲(chǔ)對(duì)象的使用,下拉別表項(xiàng)的動(dòng)態(tài)進(jìn)度條、數(shù)據(jù)存儲(chǔ)對(duì)象的使用,下拉別表項(xiàng)的動(dòng)態(tài)更新,文本文件內(nèi)容導(dǎo)入數(shù)據(jù)庫(kù),文件的設(shè)定與選更新,文本文件內(nèi)容導(dǎo)入數(shù)據(jù)庫(kù),文件的設(shè)定與選取,在一個(gè)窗口中對(duì)另一個(gè)窗口進(jìn)行控制,多條件取,在一個(gè)窗口中對(duì)另一個(gè)窗口進(jìn)行控制,多條件查詢,數(shù)據(jù)窗口對(duì)象的

2、創(chuàng)造性應(yīng)用等。查詢,數(shù)據(jù)窗口對(duì)象的創(chuàng)造性應(yīng)用等。進(jìn)入目錄進(jìn)入目錄獲獎(jiǎng)證書(shū)獲獎(jiǎng)證書(shū)7.1 數(shù)據(jù)庫(kù)與應(yīng)用程序?qū)ο髷?shù)據(jù)庫(kù)與應(yīng)用程序?qū)ο?.2 w_tv窗口設(shè)計(jì)窗口設(shè)計(jì)7.3 將電視節(jié)目導(dǎo)入數(shù)據(jù)庫(kù)將電視節(jié)目導(dǎo)入數(shù)據(jù)庫(kù)7.4 任意查詢的實(shí)現(xiàn)任意查詢的實(shí)現(xiàn) 7.5 按時(shí)段查詢各頻道當(dāng)前正在播出和即將播出的節(jié)按時(shí)段查詢各頻道當(dāng)前正在播出和即將播出的節(jié)目目7.6 屬性控制與數(shù)據(jù)刪除屬性控制與數(shù)據(jù)刪除7.7 頻道預(yù)置窗口和頻道預(yù)置窗口和“關(guān)于關(guān)于”窗口的設(shè)計(jì)窗口的設(shè)計(jì) 返回返回7.1 數(shù)據(jù)庫(kù)與應(yīng)用程序?qū)ο髷?shù)據(jù)庫(kù)與應(yīng)用程序?qū)ο?建立一個(gè)建立一個(gè)Access 2002數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)tv_acc.mdb,在數(shù)據(jù)庫(kù)中建立

3、兩在數(shù)據(jù)庫(kù)中建立兩個(gè)表:個(gè)表:tv_tab和和tv_cnl。表表tv_tab用來(lái)存儲(chǔ)一周中各頻道電視節(jié)目的播出日期、時(shí)間等用來(lái)存儲(chǔ)一周中各頻道電視節(jié)目的播出日期、時(shí)間等信息,其結(jié)構(gòu)如表信息,其結(jié)構(gòu)如表7.1所示。所示。 表7.1 tv_tab表結(jié)構(gòu) 字段名稱字段名稱數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型寬度寬度含義含義rq日期/時(shí)間系統(tǒng)默認(rèn)播出日期xq文本6播出星期pd文本16頻道名稱sj文本5播出時(shí)間jm文本80節(jié)目名稱返回章目錄返回章目錄表結(jié)構(gòu)建立之后,再按表結(jié)構(gòu)建立之后,再按rq、pd、sj建立一個(gè)唯一索引,建立一個(gè)唯一索引,取名為取名為tv_tab_x。表表tv_cnl用來(lái)存儲(chǔ)預(yù)置頻道名稱以及是否被選用的信

4、用來(lái)存儲(chǔ)預(yù)置頻道名稱以及是否被選用的信息,其結(jié)構(gòu)如表息,其結(jié)構(gòu)如表7.2所示。所示。 表表7.2 tv_cnl表結(jié)構(gòu)表結(jié)構(gòu) 字段名稱字段名稱數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型寬度寬度含義含義pd文本16頻道名稱(唯一索引字段)ck整型數(shù)字系統(tǒng)默認(rèn)0表示未被選用(默認(rèn)值)1表示已被選用對(duì)應(yīng)用程序?qū)ο髏v_tab的open事件編寫(xiě)代碼。7.2 w_tv窗口設(shè)計(jì)窗口設(shè)計(jì) 窗口窗口w_tv的的Title屬性設(shè)置為屬性設(shè)置為“電視節(jié)目脫機(jī)瀏覽器電視節(jié)目脫機(jī)瀏覽器”,窗口類(lèi),窗口類(lèi)型為型為main!,窗口初始狀態(tài)為,窗口初始狀態(tài)為normal!,大小為滿屏,圖標(biāo)為,大小為滿屏,圖標(biāo)為Window!。在窗口在窗口w_tv的的

5、open事件中編寫(xiě)代碼:事件中編寫(xiě)代碼:cb_3命令按鈕的命令按鈕的clicked事件代碼為:事件代碼為:下面介紹數(shù)據(jù)窗口對(duì)象下面介紹數(shù)據(jù)窗口對(duì)象d_cnl的設(shè)計(jì)方法。的設(shè)計(jì)方法。打開(kāi)圖例關(guān)閉圖例返回章目錄返回章目錄單擊單擊PowerBar工具欄上的工具欄上的“New”按鈕,在彈出的按鈕,在彈出的“New”對(duì)對(duì)話框中單擊話框中單擊“DataWindow”標(biāo)簽,選擇標(biāo)簽,選擇Grid(網(wǎng)格)風(fēng)格和(網(wǎng)格)風(fēng)格和“SQL Select”方式。打開(kāi)方式。打開(kāi)tv_cnl表,選擇所有字段,進(jìn)行必表,選擇所有字段,進(jìn)行必要的屬性設(shè)置,得到如圖要的屬性設(shè)置,得到如圖7.2所示數(shù)據(jù)窗口對(duì)象布局和預(yù)覽結(jié)所示數(shù)

6、據(jù)窗口對(duì)象布局和預(yù)覽結(jié)果。果。 除了設(shè)置標(biāo)題文本和細(xì)節(jié)區(qū)字段值的字體、字號(hào)、顏色等除了設(shè)置標(biāo)題文本和細(xì)節(jié)區(qū)字段值的字體、字號(hào)、顏色等屬性外,對(duì)屬性外,對(duì)ck字段的屬性還需做特殊設(shè)置。選中字段字段的屬性還需做特殊設(shè)置。選中字段ck,在,在屬性窗格單擊屬性窗格單擊edit選項(xiàng)卡,在選項(xiàng)卡,在“Style Type”下拉列表中選擇下拉列表中選擇CheckBox,選中,選中“3D Look”復(fù)選標(biāo)記,設(shè)置復(fù)選標(biāo)記,設(shè)置“Data Value for On”和和“Data Value for Off”屬性分別為屬性分別為1和和0。如圖。如圖7.2所所示。示。最后,保存到對(duì)象庫(kù)最后,保存到對(duì)象庫(kù)tv_ta

7、b.pbl中,命名為中,命名為d_cnl。打開(kāi)圖例關(guān)閉圖例7.3 將電視節(jié)目導(dǎo)入數(shù)據(jù)庫(kù)將電視節(jié)目導(dǎo)入數(shù)據(jù)庫(kù) 下載的節(jié)目信息是一個(gè)壓縮文件,解壓后得到“中央11套”、“教育臺(tái)”和“地方臺(tái)”三個(gè)文件夾。文件目錄如圖7.3所示。每一個(gè)電視節(jié)目文件的內(nèi)容都是純文本。單擊窗口w_tv的“導(dǎo)入”按鈕,產(chǎn)生clicked事件,通過(guò)下面代碼可在指定的文件夾中將預(yù)選頻道的電視節(jié)目信息導(dǎo)入數(shù)據(jù)庫(kù)的表tv_tab。打開(kāi)圖例關(guān)閉圖例返回章目錄返回章目錄7.4 任意查詢的實(shí)現(xiàn)任意查詢的實(shí)現(xiàn) 電視節(jié)目導(dǎo)入數(shù)據(jù)庫(kù)的電視節(jié)目導(dǎo)入數(shù)據(jù)庫(kù)的tv_tab表后,可進(jìn)行任意查詢。表后,可進(jìn)行任意查詢。1針對(duì)表針對(duì)表tv_tab建立數(shù)據(jù)

8、窗口對(duì)象建立數(shù)據(jù)窗口對(duì)象d_jmll(節(jié)目瀏覽節(jié)目瀏覽),網(wǎng)格式,按網(wǎng)格式,按pd(頻道)、(頻道)、rq(日期)、(日期)、sj(時(shí)間)排(時(shí)間)排序。序。d_jmll的布局和預(yù)覽結(jié)果如圖的布局和預(yù)覽結(jié)果如圖7.6所示。所示。2將窗口將窗口w_tv第一個(gè)標(biāo)簽頁(yè)上的數(shù)據(jù)窗口控件第一個(gè)標(biāo)簽頁(yè)上的數(shù)據(jù)窗口控件dw_1與與d_jmll掛接。掛接。3相關(guān)控件和代碼。相關(guān)控件和代碼。4窗口的用戶事件窗口的用戶事件u_serch 代碼代碼在用戶事件在用戶事件u_serch 代碼代碼打開(kāi)圖例關(guān)閉圖例返回章目錄返回章目錄7.5 按時(shí)段查詢各頻道當(dāng)前正按時(shí)段查詢各頻道當(dāng)前正在播出和即將播出的節(jié)目在播出和即將播出

9、的節(jié)目針對(duì)表針對(duì)表tv_tab建立一個(gè)數(shù)據(jù)窗口對(duì)象建立一個(gè)數(shù)據(jù)窗口對(duì)象d_sdcx(時(shí)段時(shí)段查詢查詢),按,按pd(頻道頻道)分組,組信息與細(xì)節(jié)帶信息相分組,組信息與細(xì)節(jié)帶信息相同,即分組各項(xiàng)直接用字段名。將細(xì)節(jié)帶向上拖,同,即分組各項(xiàng)直接用字段名。將細(xì)節(jié)帶向上拖,使細(xì)節(jié)信息隱蔽起來(lái),而只顯示出標(biāo)題和組信息。使細(xì)節(jié)信息隱蔽起來(lái),而只顯示出標(biāo)題和組信息。第二、三個(gè)標(biāo)簽頁(yè)上的數(shù)據(jù)窗口空件第二、三個(gè)標(biāo)簽頁(yè)上的數(shù)據(jù)窗口空件dw_2、dw_3均與均與d_sdcx掛接。掛接。返回章目錄返回章目錄與此相關(guān)的控件有下拉列表與此相關(guān)的控件有下拉列表ddlb_1(星期星期)和和掩碼編輯框掩碼編輯框em_1(時(shí)間選

10、擇時(shí)間選擇)。前面提到,在用戶事件前面提到,在用戶事件u_serch 代碼代碼中,如中,如果果Tab_1.SelectedTab不等于不等于1,即選中的是,即選中的是第二、三標(biāo)簽頁(yè),則執(zhí)行第二、三標(biāo)簽頁(yè),則執(zhí)行“查詢當(dāng)前節(jié)目、查詢當(dāng)前節(jié)目、下一節(jié)目代碼下一節(jié)目代碼”。下面給出這段代碼(條。下面給出這段代碼(條件表達(dá)式變量件表達(dá)式變量jstj1和和jstj2已在前面定義)已在前面定義)7.6 屬性控制與數(shù)據(jù)刪除屬性控制與數(shù)據(jù)刪除 第一個(gè)標(biāo)簽頁(yè)用來(lái)進(jìn)行任意查詢,第二、三第一個(gè)標(biāo)簽頁(yè)用來(lái)進(jìn)行任意查詢,第二、三個(gè)標(biāo)簽頁(yè)用來(lái)查詢當(dāng)前各頻道正在播出的節(jié)個(gè)標(biāo)簽頁(yè)用來(lái)查詢當(dāng)前各頻道正在播出的節(jié)目和即將播出的下

11、一個(gè)節(jié)目。選擇不同的標(biāo)目和即將播出的下一個(gè)節(jié)目。選擇不同的標(biāo)簽頁(yè),窗口的控件屬性也要進(jìn)行相應(yīng)的修改。簽頁(yè),窗口的控件屬性也要進(jìn)行相應(yīng)的修改。下面是標(biāo)簽控件下面是標(biāo)簽控件tab_1的的selectionchanged事件事件代碼。代碼。返回章目錄返回章目錄在窗口上安排了一個(gè)命令按鈕在窗口上安排了一個(gè)命令按鈕“清除清除”,用來(lái)將,用來(lái)將全部電視節(jié)目信息刪除,即刪除全部電視節(jié)目信息刪除,即刪除表表tv_tab的全部的全部記錄。記錄?!扒宄宄卑粹o的按鈕的clicked事件代碼為:事件代碼為:當(dāng)確認(rèn)要?jiǎng)h除數(shù)據(jù)時(shí),用當(dāng)確認(rèn)要?jiǎng)h除數(shù)據(jù)時(shí),用SQL語(yǔ)句語(yǔ)句 DELETE FROM tv_tab;將將表表t

12、v_tab的全部記錄刪除。然后刷新三個(gè)標(biāo)簽的全部記錄刪除。然后刷新三個(gè)標(biāo)簽頁(yè)上的數(shù)據(jù)窗口控件內(nèi)容,并顯示記錄數(shù)。頁(yè)上的數(shù)據(jù)窗口控件內(nèi)容,并顯示記錄數(shù)。7.7 頻道預(yù)置窗口和“關(guān)于”窗口的設(shè)計(jì) 前面在窗口前面在窗口w_tv的的open事件和事件和“導(dǎo)入導(dǎo)入”按鈕的按鈕的clicked事件中都使用了表事件中都使用了表tv_cnl中的中的數(shù)據(jù)。為了便于對(duì)該表的數(shù)據(jù)進(jìn)行維護(hù)管數(shù)據(jù)。為了便于對(duì)該表的數(shù)據(jù)進(jìn)行維護(hù)管理,我們建立一個(gè)頻道預(yù)置窗口理,我們建立一個(gè)頻道預(yù)置窗口w_cnl,如,如圖圖7.8所示。所示。打開(kāi)圖例關(guān)閉圖例返回章目錄返回章目錄該窗口上放置一個(gè)數(shù)據(jù)窗口控件該窗口上放置一個(gè)數(shù)據(jù)窗口控件dw_

13、1,與前面定義的,與前面定義的數(shù)據(jù)窗口對(duì)象數(shù)據(jù)窗口對(duì)象d_cnl連接。通過(guò)相應(yīng)的按鈕進(jìn)行增刪、連接。通過(guò)相應(yīng)的按鈕進(jìn)行增刪、保存和記錄翻閱。保存和記錄翻閱。窗口及控件的編碼與第窗口及控件的編碼與第6章小型財(cái)務(wù)軟件的收支類(lèi)型數(shù)章小型財(cái)務(wù)軟件的收支類(lèi)型數(shù)據(jù)維護(hù)窗口基本相同,不再?gòu)?fù)述。據(jù)維護(hù)窗口基本相同,不再?gòu)?fù)述。值得一提的是,在值得一提的是,在“保存保存”按鈕的代碼中,除了用函按鈕的代碼中,除了用函數(shù)數(shù)Update()將將dw_1緩沖區(qū)中的數(shù)據(jù)保存到數(shù)據(jù)庫(kù)以外,緩沖區(qū)中的數(shù)據(jù)保存到數(shù)據(jù)庫(kù)以外,還用代碼還用代碼w_tv.TriggerEvent(open)觸發(fā)觸發(fā)w_tv窗口的窗口的open事件,使

14、頻道下拉列表內(nèi)容立即事件,使頻道下拉列表內(nèi)容立即更新。更新。 使用之前,要為使用之前,要為Access數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)tv_acc.mdb配置配置ODBC。驅(qū)動(dòng)程序?yàn)?。?qū)動(dòng)程序?yàn)镸icrosoft Access Driver (*.mdb),數(shù)據(jù)源名為數(shù)據(jù)源名為tv_acc,UserId和和Password省略。省略。 運(yùn)行應(yīng)用程序后,可通過(guò)運(yùn)行應(yīng)用程序后,可通過(guò)“節(jié)目下載節(jié)目下載”超級(jí)鏈超級(jí)鏈接,到中央電視臺(tái)網(wǎng)站下載節(jié)目時(shí)間表,將其保存接,到中央電視臺(tái)網(wǎng)站下載節(jié)目時(shí)間表,將其保存到本地硬盤(pán)的任意一個(gè)文件夾并解壓縮。單擊到本地硬盤(pán)的任意一個(gè)文件夾并解壓縮。單擊“清清除除”按鈕,刪除按鈕,刪除tv_

15、tab表中原有記錄。單擊表中原有記錄。單擊“設(shè)置設(shè)置”按鈕,打開(kāi)頻道預(yù)置窗口,增刪頻道名,設(shè)置選用按鈕,打開(kāi)頻道預(yù)置窗口,增刪頻道名,設(shè)置選用狀態(tài),注意頻道名要與電視節(jié)目表的文本文件名一狀態(tài),注意頻道名要與電視節(jié)目表的文本文件名一致。單擊致。單擊“導(dǎo)入導(dǎo)入”按鈕,將選定頻道的節(jié)目信息導(dǎo)按鈕,將選定頻道的節(jié)目信息導(dǎo)入數(shù)據(jù)庫(kù)入數(shù)據(jù)庫(kù)。 選擇選擇“任意查詢?nèi)我獠樵儭睒?biāo)簽頁(yè),可按頻道、星期、標(biāo)簽頁(yè),可按頻道、星期、節(jié)目名稱和時(shí)間范圍進(jìn)行查詢,選擇節(jié)目名稱和時(shí)間范圍進(jìn)行查詢,選擇“當(dāng)前節(jié)目當(dāng)前節(jié)目”或或“下個(gè)節(jié)目下個(gè)節(jié)目”標(biāo)簽頁(yè),可查看指定時(shí)間正在播出標(biāo)簽頁(yè),可查看指定時(shí)間正在播出或即將播出的節(jié)目?;蚣磳⒉コ龅墓?jié)目。 “全部全部”按鈕的作用是清除查詢條件并將時(shí)間按鈕的作用是清除查詢條件并將時(shí)間范圍設(shè)置為最大。以顯示全部記錄。范圍設(shè)置為最大。以顯示全部記錄。 “此時(shí)此時(shí)”按鈕用來(lái)將當(dāng)前時(shí)間設(shè)置到按鈕用來(lái)將當(dāng)前時(shí)間設(shè)置到em_1,使,使htb_1跟蹤條按當(dāng)前時(shí)間定位,并將當(dāng)前星期作為跟蹤條按

溫馨提示

  • 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)論