第7章电视节目脱机浏览器 将电视节目时间表下载到本地硬盘,再做一个 浏览器进行脱机浏览,可以大大提高查询速度、降 低费用。 本章涉及到的主要技术有:标签页、跟踪条 进度条、数据存储对象的使用,下拉别表项的动态 更新,文本文件内容导入数据库,文件的设定与选 取,在一个窗口中对另一个窗口进行控制,多条件 查询,数据窗口对象的创造性应用等。 获奖证书进入目录
第7章 电视节目脱机浏览器 将电视节目时间表下载到本地硬盘,再做一个 浏览器进行脱机浏览,可以大大提高查询速度、降 低费用。 本章涉及到的主要技术有:标签页、跟踪条、 进度条、数据存储对象的使用,下拉别表项的动态 更新,文本文件内容导入数据库,文件的设定与选 取,在一个窗口中对另一个窗口进行控制,多条件 查询,数据窗口对象的创造性应用等。 获奖证书 进入目录
SYBASE 李政 荣获e开发者应用技巧大赛华北/东北赛区三等奖 董事总经理:冯星君 SYBASE软件(中国)有限公司 2001年8月2日
目录 7.1数据库与应用程序对象 7.2wtv窗口设计 7.3将电视节目导入数据库 74任意查询的实现 75按时段査询各频道当前正在播出和即将播出的节 7.6属性控制与数据删除 77频道预置窗口和“关于”窗口的设计 返回
7.1 数据库与应用程序对象 7.2 w_tv窗口设计 7.3 将电视节目导入数据库 7.4 任意查询的实现 7.5 按时段查询各频道当前正在播出和即将播出的节 目 7.6 属性控制与数据删除 7.7 频道预置窗口和“关于”窗口的设计 返回
71数据库与应用程序对象 建立一个 Access2002数据库 ty acc. mdb,在数据库中建立两 个表: ty tab和tcn 表vtab用来存储一周中各频道电视节目的播出日期、时间等 信息,其结构如表71所示。 表7.1 ty tab表结构 字段名称 数据类型 宽度 含义 日期时间系统默认播出日期 Xd 文本 6播出星期 文本 16频道名称 文本 播出时间 Jm 文本 80节目名称 返回章目录
7.1 数据库与应用程序对象 建立一个Access 2002数据库tv_acc.mdb,在数据库中建立两 个表:tv_tab和tv_cnl。 表tv_tab用来存储一周中各频道电视节目的播出日期、时间等 信息,其结构如表7.1所示。 表7.1 tv_tab表结构 字段名称 数据类型 宽度 含义 rq 日期/时间 系统默认 播出日期 xq 文本 6 播出星期 pd 文本 16 频道名称 sj 文本 5 播出时间 jm 文本 80 节目名称 返回章目录
表结构建立之后,再按rq、pd、s建立一个唯一索引, 取名为 ty tab x 表tcm用来存储预置频道名称以及是否被选用的信 息,其结构如表7.所示。 表7.2tcn表结构 字段名称‖数据类型 宽度 含义 pe 文本 16频道名称(唯一索引字段 整型数字 系统默认0表示未被选用(默认值) 1表示已被选用 对应用程序对象 ty tab的open事件编写代码
表结构建立之后,再按rq、pd、sj建立一个唯一索引, 取名为tv_tab_x。 表tv_cnl用来存储预置频道名称以及是否被选用的信 息,其结构如表7.2所示。 表7.2 tv_cnl表结构 字段名称 数据类型 宽度 含义 pd 文本 16 频道名称(唯一索引字段) ck 整型数字 系统默认 0表示未被选用(默认值) 1表示已被选用 对应用程序对象tv_tab的open事件编写代码
叫电视节目脱机浏览器 网口区 播出日期星期 频道插出时间 节目名称 草且下载 (1)(3入 (cb-2 潘除C) cb 8 设置() (cb-7) 关于0 出C) 窗口 图标为 ab 1 1)(82)(3)(姐b1)(d2 sle_j le_ cnt 行数 下 任意查询当前节目下个节目星期频道 节目「 查询)全部(8)此时0 起始时间 截止时网:厂 m1)(2)(h(h2 cb_5(cb-6( cb_3 打开图例一关閉图例‖ 返回章目录
7.2 w_tv窗口设计 窗口w_tv的Title属性设置为“电视节目脱机浏览器” ,窗口 类型为main!,窗口初始状态为normal!,大小为满屏,图标为 Window!。 在窗口w_tv的open事件中编写代码: cb_3命令按钮的clicked事件代码为: 下面介绍数据窗口对象d_cnl的设计方法。 打开图例 关闭图例 返回章目录
a d cnl (ty tab)-DataWindow □区 道名称 是否选用 General Pointer HTML Position Format Font Edit Header↑ Style Name Detail个 Style Type Footer 1 Check Box M 3D Look States 频道名称是否选用 Left Text 01 cale Data Value for On 05 Data value for Off 07 10 安徽卫星节目 北京1台 广东台卫星节目 河北电视台-1 后打开图例美关闭图例cm
单击PowerBar工具栏上的“New”按钮,在弹出的“New”对 话框中单击“DataWindow”标签,选择Grid(网格)风格和 “SQL Select”方式。打开tv_cnl表,选择所有字段,进行必 要的属性设置,得到如图7.2所示数据窗口对象布局和预览结 果。 除了设置标题文本和细节区字段值的字体、字号、颜色等 属性外,对ck字段的属性还需做特殊设置。选中字段ck,在 属性窗格单击edit选项卡,在“Style Type”下拉列表中选择 CheckBox,选中“3D Look”复选标记,设置“Data Value for On”和“Data Value for Off”属性分别为1和0。如图7.2所 示。 最后,保存到对象库tv_tab.pbl中,命名为d_cnl。 打开图例 关闭图例
名称 大小类型 名称 「大小类型 8KB文本文档 自安徽卫星节自 2H文本文档 自02 8KB文本文档 目北京台 5KB文本文档 03 7K文本文档 自北京4台 4K文本文档 目04 10KB文本文档 自广东台卫星节目 4KB文本文档 号库 5KB文本文档 自河北电视台-1 3K文本文档 4KB文本文档 自河南台卫星节目 8KB文本文档 43B文本文档寻到“中 自黑龙江台卫星节目2KB文本文档 文本文档 自湖北台卫星节目 3文本文档文件夹。 09 14KB文本文档 目湖南台卫星节目 3KB文本文档 11KB文本文档 自江苏台卫星节目 3K文本文档 目11 8KB文本文档 自江西台卫星节目 2K文本文档 打开图例 辽宁台卫星节目 3KB文本文档 自山东台卫星节目4KB文本文档 自山西台卫星节目 3K文本文档 自陕西台卫星节目 3KB文本文档 自上海台卫星节目3K8文本文档 关闭图例 自四川台卫星节目 3K文本文档 名称 ⊥大小类型 自天津台卫星节目23文本文档 自教育1台!3KB文本文档 自云南台卫星节目4K3文本文档 事件,通 教育3台3KB文本文档 自浙江台卫星节目3K3文本文档 9 -H/ l"、 的电视节 目信息导入数据库的表 ty tab 返回章目录
7.3 将电视节目导入数据库 下载的节目信息是一个压缩文件,解压后得到“中 央11套” 、 “教育台”和“地方台”三个文件夹。 文件目录如图7.3所示。 每一个电视节目文件的内容都是纯文本。 单击窗口w_tv的“导入”按钮,产生clicked事件,通 过下面代码可在指定的文件夹中将预选频道的电视节 目信息导入数据库的表tv_tab。 打开图例 关闭图例 返回章目录
d jmll *(tv tab)-Datakindow 回冈 砚 播出日期星期 频道播出时间 节目名称 Header↑ 任意查询 manyi Footer↑ 节目浏览) 网 (时间)排 月 「箍出日期星期频道播出时间 节目名称 022-11星期 01052文艺中心特别节目:难忘今宵一相约二十年 0211星期 04:52纪录片(202-26)极地跨越(26) 02-2-1星期 010000 060动新闻:早新间 021星期 06:3单晨:运动休用024) 02-2-11星期 07:00浓动新闻:早新闻 口控件dw1与 021星期 07:5东方时空 02-2-11星期 080新闻早八点 0211星期 010:35焦点访谈 打开图例 4.窗口的用户事件 u serch代码 关闭图例 在用户事件 u serch代码 返回章目录
7.4 任意查询的实现 电视节目导入数据库的tv_tab表后,可进行任意查询。 1.针对表tv_tab建立数据窗口对象d_jmll(节目浏览), 网格式,按pd(频道)、rq(日期)、sj(时间)排 序。d_jmll的布局和预览结果如图7.6所示。 2.将窗口w_tv第一个标签页上的数据窗口控件dw_1与 d_jmll挂接。 3.相关控件和代码。 4.窗口的用户事件u_serch 代码 在用户事件u_serch 代码 打开图例 关闭图例 返回章目录
75按时段查询各频道当前正 在播出和即将播出的节目 针对表ttab建立一个数据窗口对象 d sdca(时段 查询),按pd(频道)分组,组信息与细节带信息相 同,即分组各项直接用字段名。将细节带向上拖, 使细节信息隐蔽起来,而只显示出标题和组信息 第二、三个标签页上的数据窗口空件dw2、dw3 均与 d sdca挂接。 返回章目录
7.5 按时段查询各频道当前正 在播出和即将播出的节目 针对表tv_tab建立一个数据窗口对象d_sdcx(时段 查询),按pd(频道)分组,组信息与细节带信息相 同,即分组各项直接用字段名。将细节带向上拖, 使细节信息隐蔽起来,而只显示出标题和组信息。 第二、三个标签页上的数据窗口空件dw_2、dw_3 均与d_sdcx挂接。 返回章目录