基于易语言和Access数据库编译的发射台技术管理软件的设计与实现
2017-02-05周洪江
王 鹏 周洪江
1.2.内蒙古新闻出版广电局包头广播发射中心台 内蒙古 包头市 014010
1 概 述
随着发射台技术设备不断增加,积累的各类技术资料日益增多。在安全播出的重要前提下,使用专用软件实现统一、高效、便捷的管理十分必要。
易语言是以图形化用户界面作为开发环境,面向对象程序设计为中心的应用软件开发工具(同Delphi相似)。具有代码流程图嵌入代码指示、函数命令即时提示等优点,尤其是该软件开发工具为全中文编程界面,其语言命令使用汉语表达方式,极大的方便了发射台技术人员,有针对性地将技术管理要求直接编译为可操作的软件程序。
本文着重介绍基于易语言开发发射台技术管理软件(以下简称软件)的设计思路和主要功能实现流程。软件界面控制,表格编制,开发程序操作方法等不做论述。
2 软件实现目标
软件以发射台技术管理项目为基础,使各类技术档案实现电子化记录保存,一键报送,以减少人工重复性劳作,提高工作效率。除一般数据存储软件应有的录入、删除、修改等基本功能外,本软件有针对性的实现以下功能目标:
(1)实现发射台内值班员值班次序自动排定;
(2)实现日常维护管理的智能化记录,生成电子报表、自动评级、自动计算停播率等;
(3)实现上报事件的流程化和格式固定化,并实现软件直接发送邮件功能。
3 软件结构设计
软件以Windows XP/7操作系统为平台,以Windows office Access 2003数据库 (*.mdb,*.xsk)为存储基础,通过易语言新建 window窗口程序项目,编译业务功能代码实现对数据库的操作;存储的发射台各类信息,基于Office 2003(*.doc,*.xls)文件格式,以工作中使用到的表格样式导出,作为独立的电子档案文件留存。由易语言编译软件系统代码,分为三个功能单元:一是软件管理功能,主要对软件自身使用的基本功能等初始资料进行录入;二是业务功能,包括值班组划分及排班,日常技术资料和报表的智能录入、导出;三是发送功能,对事故、零报告及其他技术资料,通过软件实现直接连接SMTP服务器发送电子邮件功能,可不再由浏览器形式登录电子邮箱,进而简化工作流程。如图1所示。
图1 发射台技术管理软件架构
3.1 菜单设计
根据发射台各项技术管理制度和规范流程,结合软件系统设计的基本框架,菜单包含三个部分,分为两层菜单,结构如图2所示。
图2 发射台技术管理软件菜单结构
3.2 数据库设计
数据库是系统数据存储核心,软件业务功能的实现,是对Access数据库反复的写入、读取操作。根据软件结构设计,首先建立录入数据在软件内部的逻辑流向和逻辑变换过程的数据流,如图3所示,进而得到清晰的数据分类,以分类为基础得到数据表数量和作用。
图3 发射台技术管理软件数据流图
数据库包括5个“*.mdb”文件,含有17张数据二维表。其中,职工表、频率表、邮件表是基础数据表,属于软件管理单元,软件业务单元和发送单元调用以上三张数据表信息。直接录入的业务信息1、2,停播情况和零报告信息构成数据主体。
易语言编译的代码通过自建ODBC接口文本打开Access MDB数据库,操作命令为“打开MDB数据库( , , ,)”;数据库使用SQL语言完成写入、修改、删除等表操作。
3.3 软件主界面及初始设置
软件主界面设计,如图4所示,以内蒙古新闻出版广电局标准LOGO+包头广播发射中心台影壁墙为背景,功能菜单安置在画面左侧,采用卷帘方式展开二级菜单。将操作者名称,时间信息作为软件俯角功能置底显示。
图4 软件主界面
初始化界面,如图5所示,针对技术管理工作,主要输入发射台名称,为后续的表格等录入型资料提供调用基础,如,发射台名称确定后,之后所有的表格均自动生成单位名称,不需要额外填写;发射频率和节目,需录入发射台内全部播出节目,为停播上报等表格提供调用基础;人员录入为值班管理一级菜单下的项目提供调用,值班分组等信息可直接引用名字,不需重复录入。
图5 软件初始设置软件编制界面
4 软件实现流程
4.1 自动排定值班表
值班表是值班员日常上班次序的体现,尤其是在重要保障期内,本软件可以按照设定的值班组次序自动排定规定时间范围内的值班表,如图6、7所示。
图6 自动排定值班表软件编制界面
图7 自动排定值班组软件流程
部分程序代码:
版本2
支持库iext
局部变量表项,整数型
局部变量a,整数型
局部变量b,整数型
如果(超级列表框3.是否被选择(超级列表框3.现行选中项))
超级列表框1.插入表项(,超级列表框3.取标题(超级列表框3.现行选中项,1)+“ ”+超级列表框3.取标题(超级列表框3.现行选中项,2), , , ,)
超级列表框3.删除表项 (超级列表框3.现行选中项)否则
信息框(“请选择要添加的组员”,0,)如果结束
如果真(超级列表框3.取表项数()=0)
计次循环首(取整(到整数(标签9.标题)÷超级列表框1.取表项数())+1,)'当月天数除以组数得出循环几次
a=0
判断循环首(a≠超级列表框1.取表项数())计次循环首(到整数(编辑框5.内容),)
表项=超级列表框2.插入表项(,超级列表框1.取标题(a,0), , , ,)
超级列表框2.置标题(表项,0,到文本(b))
超级列表框2.置标题(表项,1,超级列表框1.取标题 (a,0)) '排班
计次循环尾()
a=a+1
判断循环尾()
计次循环尾()
计次循环首(到整数(标签9.标题)+1,b)
超级列表框2.置标题(b-1,0,时间到文本(增减时间(取日期(日期框1.今天),5,b-1),)) '写出日期
计次循环尾()
计次循环首(到整数(编辑框5.内容)×64,)
超级列表框2.删除表项(超级列表框2.查找表项(“0”,0,,0))'删除多余日期排班
计次循环尾()
'分组框1.标题=编辑框1.内容+“年”+编辑框2.内容+“月值班表”
分组框1.标题=时间到文本(日期框1.今天,2)+“至”+时间到文本(日期框2.今天,2)+“值班表”
4.2 自动评定指标等级
中波发射机指标测试是体现发射机工作效率和覆盖效果的基本手段,相应的记录和评级工作是日常工作的一部分,软件提供一个逻辑流程,按照“指标标准”自动评定相应的指标等级,以噪声指标为例,说明判断流程,如图8所示。
图8 噪声指标评级软件流程
程序代码:
版本2
支持库iext
如果(键代码=#回车键)
如果(到整数(编辑框3.内容)≥60)
透明标签20.标题=“甲”
否则
如果(60>到整数(编辑框3.内容)且到整数(编辑框3.内容)≥56)
透明标签20.标题=“乙”
否则
如果(56>到整数(编辑框3.内容)且到整数(编辑框3.内容)≥52)
透明标签20.标题=“丙”
否则
如果(到整数(编辑框3.内容)<52)
透明标签20.标题=“不入级”
4.3 上报文件流程化
发射台上报文件要求使用固定的流程和格式,但是在手工填写表单的过程中,未填写必填项目,填写内容不规范,标识词不统一等问题困扰着管理者,通过软件填报各类事件后,能完全避免以上人工操作引起的问题。
以《事故快速报告单》为例:软件操作界面按照总局填报表格要求编制,软件内部对程序间直接调用,将发射台名称在内的必要信息直接以不可更改状态填写,频率、填报人等信息直接从相应的数据表调取。全部编辑框填写完成后,才能保存文件,如图9所示。
图9 事故报告单软件编制界面
结束语
包头中心台自行开发的技术管理系统软件,在理顺管理层级的基础上,将运行管理、维护管理和技术管理的主要内容,整合在一起,通过精细地编译和反复测试,最终形成一个高效而统一的信息录入平台。这款软件可对发射台各类信息汇总统计,实现了停播报告、技术报表、例行检修记录、技术例会记录、故障处理记录等信息的全电子化记录和储存;实现了自动统计停播率、自动测试评级、自动排定值班表、整体上报重要信息等功能。这些功能,取代了由人工进行计算、测评、制表、排表等一系列繁杂的工作,直接在系统中录入相关内容就可以自动出表,智能生成。软件的使用简化了工作步骤,提高了工作效率与报表准确性,同时减少了人为失误及操作风险,促使发射台技术管理维护方式由人工化迈向电子化、网络化,为发射台无纸化技术管理提供探索。