利用Delphi扩展ASP公文系统提醒功能的应用研究

时间:2022-06-02 06:43:26

利用Delphi扩展ASP公文系统提醒功能的应用研究

【摘要】 当前我国大多数机关、事业单位、企业公司等都立足信息化条件建立了便捷实用的B/S结构公文系统,为工作带来了极大的方便。但是B/S结构公文系统在推广使用中,存在很多使用人员关注意识不强、使用不及时等问题,久而久之就会导致公文系统利用普及率低、时效性差。针对这些问题,我们可以结合实际,扩展B/S结构公文系统提醒功能来进行改善。本文阐述怎么利用Delphi来扩展基于B/S结构的ASP公文系统的提醒功能。

【关键词】 Delphi 提醒 公文系统

随着信息化建设的大力发展,很多单位机构为提高工作效率都建立了目前最为流行的B/S结构公文系统,但是在使用中,有些单位机构发现利用率低、时效性差,没有达到预期效果。这些问题,主要是由于B/S结构公文系统新发文件无法在客户端进行Windows系统后台提醒,再加上有些使用人员主动使用意识不强等原因而造成的。所以我们可以结合这些实际问题,以基于B/S结构的ASP公文系统为对象,研究怎么利用Delphi开发一个与服务端建立通信的后台提醒应用程序,有效地扩展公文系统的提醒功能[1]。

一、利用Delphi IdHTTP组件与ASP服务端建立通信

为实现ASP公文系统新发文件在Windows系统后台进行及时提醒,开发出后台提醒应用程序,最关键的就是要使后台提醒程序与ASP服务端进行通信获取数据。这里可以使用Delphi IdHTTP组件进行与ASP服务端进行通信[2]。首先,我们使用WinInet 类中的InternetCheckConnection 方法判断与服务端网络是否物理接通。然后,利用IdHTTP组件的Post方法提交用户名、密码数据到ASP公文服务端的指定ASP文件。同时,在ASP公文服务端需要建立这个指定的ASP文件,利用request函数读取用户名和密码,按照用户名和密码的条件查询数据库,如果查询到的记录数(recordcount)等于1,则表示用户名和密码正确,然后再按照该用户的文件签收情况条件进行数据库查询,获取记录数(recordcount)计算出未签收文件数量,最后用response.write方法将未签收文件数量数据发送到客户端。这样可使客户端后台提醒应用程序获取到未签收文件数量数据,然后通过类似QQ消息右小角弹窗、托盘图标闪动、声音提醒等方式进行及时提醒。

二、利用Delphi Timer组件实现定时通信

为使ASP公文系统后台提醒应用程序能够不断提醒新发文件,使用户及时签收,必须要使后台提醒应用程序和ASP服务端保持经常的通信。要实现经常的通信,并满足不同使用用户的需求,可以设置后台提醒应用程序与ASP公文系统服务端进行定时通信,从而实现定时提醒功能。我们可以利用Timer组件实现定时功能[3],如果是实现几秒钟到1分钟进行通信一次,可以更改Timer组件Interval属性实现,但是这样就会导致通信太过于频繁,会增加服务端系统的压力,所以不建议采用。一般来说,建议提醒间隔为30分钟到2小时一次较为合理,或者根据用户需求和实际情况进行设置最好。如果要实现间隔时间稍长的定时提醒,我们可以利用Timer组件采用程序计数的方法进行,可以设置Timer组件Interval属性为60000(单位:毫秒),就是60秒(1分钟)激活一次OnTimer事件。比如设置定时间隔为60分钟,每一次OnTimer事件进行一次程序计数加1,在执行到第60次OnTimer事件时程序计数等于60,则达到设置间隔60分钟的时间条件,随即执行与ASP公文系统服务端进行一次通信,获取未签收文件数量数据进行提醒,实现定时提醒功能。

三、利用Delphi其他类和组件完善细节功能

为进一步完善ASP公文系统后台提醒应用程序,达到实用易用的目的。一是实行托盘功能。可以通过扩展Delphi组件[4],使用RzTrayIcon组件实行程序托盘运行,并可以更改其属性实现类似QQ托盘图标闪烁提醒等功能,非常方便易用;二是实行开机自启动功能。通过Delphi TRegistry类操作Windows系统注册表,首先指定根键HKEY―LOCAL―MACHINE,然后打开主键Software\Microsoft\Windows\ CurrentVersion,用WriteString函数写入程序信息,实现程序开机自启动运行;三是实现设置信息保存功能。通过Delphi TInifile类操作一个INI文件,用WriteString函数写入INI文件保存用户名、密码、提醒间隔时间等信息,用ReadString函数实现读取INI文件信息;四是防止程序重复运行。可以在程序的主Form 的 On Create 事件用CreateMutex 函数检测系统中是否只存在一个实例且是互斥体,防止程序重复运行。

参 考 文 献

[1]陈冬梅.高校办公自动化系统的功能扩展研究[J].大众科技,2014(08):181

[2]明日科技.Delphi开发经验技巧宝典[M].人民邮电出版社,2007-10-29

[3]张扬.基于DELPHI的限时作业收取实现[J].信息通信,2013(03):88

[4]张扬嵩.扩展Delphi组件的方法[J].电脑编程技巧与维护,2012(07):23

上一篇:云计算环境下网络安全问题探析 下一篇:关于视频监控系统的防雷保护建议