荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: Peter (小飞侠), 信区: Program
标  题: 新闻"组合统计"编程技巧
发信站: BBS 荔园晨风站 (Thu Jan 21 23:14:44 1999), 转信


下面笔者就新闻管理中的"组合统计"功能的实现, 谈一点儿自己的体
会。
    系统概述
    由于新闻管理的特殊性,有很多统计信息和要求是相当随意的,用
户事先无法预料,特别是上级领导和各个职能部门会经常要求对已播
出的新闻稿件进行各种条件下的统计,在用户无法提出具体条件的情
况下,要编制计算机软件具有一定难度。为此我们设计了一种较为简
便的方法,使编制的程序能较好地满足用户和各级领导所需求的各种
条件下的统计。我们采用的编程工具是当今计算机界较为流行的前端
开发工具PowerBuilder,同时总结了新闻管理的统计需求,将新闻稿件
中关键的几个字段作为一个假设的条件,由用户根据各自的需要随意
组合,从而可以得到满意的结果,其操作界面如图左所示。图1
    从左图可以看到,新闻统计中相关的10个主要字段以按钮形式显
示在图中上方,它们可以由用户任意点击,组合在一起进行查询。

    功能实现
    用户用鼠标点击以上10个按钮中的某个时,会在可选项窗口内弹
出其对应的有关内容,如点击"新闻栏目"时,在可选项窗口内弹出本台
已开僻的所有"新闻栏目";点击新闻来源时,在可选项窗口内弹出所有
来稿单位,等等。对其它字段,凡是有多项内容的,都将把这些内容显
示在可选项窗内,当内容超过显示范围时,可选项窗将会出现滚动条。
新闻标题和统计时段不在可选项窗内选择。
    当用户点击"新闻作者"按钮后,屏幕上方10个按钮字体全部变虚
。这时作者的姓名显示在可选项窗口中,并有滚动条出现,用户可用鼠
标点击滚动条,找到需要的记者。同时为帮助用户快速定位,本系统设
计了一个快速查找窗,可显示作者姓名,供用户输入姓名的模糊值。该
窗口会随着用户所选条件的不同而变化,当用户输入模糊值后,如"王"
,按一空格键,可选项窗中的内容将快速定位到该"王"姓记者上,快速
查找窗脚本(script)如下所示:
    if tj_style= 6 or tj_style= 10 then return
    int i, sel_num
    string temp, input
    this.text = f_sckg(this.text)
    if st_search.text= ‘栏 目 查 找' then
       do
      i ++
      loop while pos(lb_1.text(i),this.text,1)=0 and lb_1.to
talitems() > i
       if i <= lb_1.totalitems() then  lb_1.setstate(i,true)
    else
      lb_1.selectitem(this.text ,1)
    end if
    经过快速定位,如需选其他"王"姓记者,可再用鼠标点击滚动条,
当找到所需寻找的记者时,可用鼠标双击该姓名,这时所选中的记者全
名将跳到作者姓名窗中。为使所选条件最终得以确认或放弃,姓名窗
旁有一个"确认该项"按钮和一个"取消该项"按钮。
    当用户点击"确认该项"按钮时,所选条件将跳到组合条件窗中,同
时10个按钮字体变实等待用户再次选择其它条件。其脚本文件名为sc
ript1。
    当用户对所选条件不满意时,可用鼠标点击"取消该项"按钮,所选
条件自动放弃,同时1个按钮字体变实,等待用户再次选择条件,其脚本
如下:
    tj_style=0
        tjcs = tjcs - 1
        cb_tjqd.hide()
        cb_tjqx.hide()
        sle_search.hide()
        st_search.hide()
        sle_search.text= ‘'
        st_search.text= ‘'
        st_cong.hide()
        st_dao.hide()
        em_1.hide()
        em_2.hide()
        int lb_num, i
        lb_num= lb_1.totalitems()
        for i= 1 to lb_num
              lb_1.deleteitem(1)
        end for
               if lb_1.multiselect = true then lb_1.multisel
ect = false
        cb_xwbj.enabled= true
        cb_xwbt.enabled= true
        cb_xwlb.enabled= true
        cb_xwlm.enabled= true
        cb_xwly.enabled= true
        cb_xwsj.enabled= true
        cb_xwtc.enabled= true
        cb_xwth.enabled= true
        cb_xwxs.enabled= true
        cb_xwzz.enabled= true
    当选中"统计时段"按钮时,10个按钮字体变虚,同时可选项窗边上
弹出日期输入窗。
    用户可以直接用鼠标点到日期中,输入任一日期值或用鼠标点击
上下箭头,选择所需日期段,选中后,可用鼠标点击确定该项按钮。
    当对所选组合条件不满意时,可清除以前所选条件,这时可用鼠标
点击"清除所有条件"按钮,这时组合条件窗将被冲空,其脚本如下:
    tjcs = 0
        lang_sql = "SELECT cld.gjrq, cld.xwlb, cld.xwly, jzb
g.xwtc, cld.ptth,cd .xwzz,
    cld.xwbj,cld.xwbt, jzbg.gjpf, cld.kbdy, cld.xwcd ,jzbg.c
lbz ,cld.clrq FROMz bg ,
    cld WHERE cld.gjrq = jzbg.gjrq AND cld.xwzz = jzbg.xwzz
AND cld.xwbt =
    jzbg.xwbt  AND jzbg.clbz = ‘已串' "
            tj_style=0
            sle_search.hide()
        st_search.hide()
        cb_tjqd.hide()
        cb_tjqx.hide()
        st_cong.hide()
        st_dao.hide()
        em_1.hide()
        em_2.hide()
        int lb_num, i
        lb_num= lb_1.totalitems()
        for i= 1 to lb_num
              lb_1.deleteitem(1)
        next
        if lb_1.multiselect = true then lb_1.multiselect = f
alse
        cb_xwbj.enabled= true
        cb_xwbt.enabled= true
        cb_xwlb.enabled= true
        cb_xwlm.enabled= true
        cb_xwly.enabled= true
        cb_xwsj.enabled= true
        cb_xwtc.enabled= true
        cb_xwth.enabled= true
        cb_xwxs.enabled= true
        cb_xwzz.enabled= true
        info= ‘'
        sle_2.text= ‘'
        cb_view.enabled = false
    当组合条件选择完毕,可用鼠标点击"统计结果浏览"按钮,符合条
件的记录将显示在屏幕上。其脚本文件为script 2。
    当对统计结果打印时,可用鼠标点击"打印统计结果"按钮,其脚本
如下:
        string info
        if dw_1.rowcount () = 0 then
              messagebox("结 果 提 示", "无 统 计 信 息!")
              return
        end if
        if messagebox(" 确 认 提 示","打印统计信息?",questio
n!,yesno!,2) = 2 th en return
    dw_1.print(false)
    编者注:脚本程序script 1和script 2发表在本报的WWW站点上,
网址是:http://www.cm puterworld.co.on/skill/skill.html。
    欢迎访问。

--
※ 来源:.BBS 荔园晨风站 bbs.szu.edu.cn.[FROM: 192.168.1.3]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店