APP下载

一种基于Windows窗体结构和GDI+绘图技术的工作日志管理器的设计与实现

2012-03-23李泽宇

城市建设理论研究 2012年4期
关键词:管理器工作量日志

李泽宇

摘要:从提出工作管理方面存在的问题入手,在分析各种管理器现状的基础上,笔者根据实际工作的特点与需要,设计并实现基于Windows窗体结构和GDI+绘图技术的工作日志管理器,从而方便了办公生活,提高了工作效率。

关键词:Windows窗体工作日志管理工作量统计GDI+

中图分类号:TU204文献标识码:A文章编号:

Design and Implementation of the work of the Log Manager

Based on Windows Forms structure and GDI + graphics technology

Zeyu Li

(Computer Center, Rui Jin Hospital,hanghai Jiao Tong University School of Medicine)

Abstract:The page start from the existing work management issues in the analysis of various management status and needs of the practical work, design and realize a kind of log management based on the structure of the Windows Forms and GDI + graphics technology. So that, it can help us to facilitate office life and improve the work efficiently.

Key-words:Windows Form, Work of Log Manager, Workload Statistics, GDI+

1 为什么要使用工作日志管理器

以笔者软件开发工作为例,目前在工作管理方面存在诸多不足之处:(1)对于每天完成的工作重点和内容缺少一个载体负责跟踪与记录;(2)随着工作天数的增长,对以前工作的历史做不到存储与统计,不方便对做过的工作进行回顾、归纳与总结;(3)程序员与项目经理之间缺少沟通与交流,容易出现工作分配方面的矛盾与时间安排上的冲突。那么,怎样解决以上这些问题呢?

设计一种工作日志管理器,一方面能够做到对每日工作内容进行记录与管理,以数据库形式存储数据,方便随时对记录的工作历史进行各种形式的统计与调阅;另一方面在创建每日工作日志的同时允许将其内容发送邮件给项目经理,使上级在第一时间了解和掌握下属的工作情况和进度,有计划的安排下一阶段的工作任务。

2 工作日志管理器的设计与实现

2.1 程序结构

通常各种形式的管理器,大多采用面向Web的开发,并使用面向对象的计算机语言(如Java、C#等)进行编程,用户通过调用本地IE等瀏览器进行访问。由于工作特点和个人喜好的不同,笔者则采用面向Windows窗体的开发,使用C#编程和SQL server数据库存储数据,开发架构使用MVC模式。工作日志管理器程序结构如下图所示:

2.2 功能设计

1) 记录工作内容

工作日志管理器可以方便地记录每天完成的工作条目与详细内容。比如,每天下班之前打开管理器,新建当天的工作内容,记忆深刻亦不易遗忘。同时,对已创建的任何一次工作日志,可以轻松的调阅与编辑,修改日志内容或进行删除。另外,主界面采用列表形式展现,以创建时间倒序排列,并具有关键字检索功能,可以在大量的工作日志中快速地寻找到用户想要的内容。

2) 统计工作历史

每天做好工作记录,目的是为了日后对工作数据进行统计。工作日志管理器以项目为类别、工作量以天数为单位进行统计,通过直观的柱状图与精确的数值配合显示,使用户对以前进行过的各个项目有一个清晰明了的认识,并且可以实现各个项目之间工作量的比较,工作历史一目了然。另外,工作量统计功能还应该具有自定义时间段的统计,用户选择一个起始时间和一个结束时间,就可以显示出在指定时间段里面的各个项目的工作量,并且包含在总工作量中所在比重的比较。

3) 提高工作效率

为加强与上级项目经理的沟通交流,及时汇报每日的工作情况,工作日志管理器在每次创建或修改工作日志完成前,提示用户是否将工作日志内容发送邮件给项目经理,用户可以选择“是”或“否”完成这一步。笔者经过计算:原始的先在文本编辑器(如word或记事本)里撰写工作日志,再打开电子邮箱手动将日志内容拷贝成邮件正文,最后发送邮件的三步操作至少要花3分钟左右时间来完成;而采用通过工作日志管理器撰写工作日志并发送邮件的一站式操作,时间可以缩短在1分钟左右,大大提高了工作效率。

2.3 技术实现

1) 基于窗体的查阅、创建与编辑

我们使用Visual Studio作为开发工具,方便地建立windows窗体程序项目。工作日志管理器主要包括三个窗体程序:管理器主窗体ListView.resx、创建工作日志窗体CreateRecord.resx、修改和删除工作日志窗体ModifyRecord.resx。其中,在管理器主窗体中,我们使用dataGridView控件完成前台数据展示,创建、修改和删除工作日志窗体中,我们使用richTextBox控件控制文本内容的编辑。管理器主窗体实现效果如图1所示,创建工作日志窗体实现效果如图2所示。

(图1)(图2)

2) 调用Mail接口发送电子邮件

业务层建立一个Email.cs类,我们定义方法sendEmail(),其中依次定义smtp服务器host信息、发信人用户名和密码、发信人邮箱、显示名称、编码方式以及收信人邮箱地址这些参数,最后通过实例化SmtpClient类的Send()方法完成发送电子邮件的功能。具体代码如下:

//发送电子邮件

public bool sendEmail(string Stmp_host, string From_name, string From_password, string From_address, string To_address, string Subject, string Body){

SmtpClient smtp = new SmtpClient(Stmp_host, 25);//smtp服务器host信息,默认发送端口25

smtp.Credentials = new System.Net.NetworkCredential(From_name, From_password); //发信人用户名,密码

MailAddress from = new MailAddress(From_address, "lzy", System.Text.Encoding.UTF8); //发信人邮箱、显示名称,编码方式

MailAddress to = new MailAddress(To_address); //收信人邮箱地址

MailMessage message = new MailMessage(from, to);

message.Subject = Subject;

message.Body = Body;

message.SubjectEncoding = System.Text.Encoding.UTF8;

message.BodyEncoding = System.Text.Encoding.UTF8;

try {

smtp.Send(message); //发送邮件

} catch (Exception e){

Console.Write(e.Message);

return false; }

return true; }

表现层的前台窗体界面上,在创建或修改完成工作日志内容的按钮点击事件之后,调用这个sendEmail()方法,返回true则提示“发送邮件成功”,否则提示“发送邮件失败”。窗体效果如图2所示。

3)GDI+绘图技术实现工作量统计

工作量统计部分,我们采用.NET的GDI+绘图技术,调用DrawRectangle()方法在界面上绘制矩形,并通过FillRectangle()方法给其填充颜色,达到柱状图样式的展现。矩形的长度即表示该项工作的工作量,我们通过从数据层查询出含有该项工作内容所有的记录条数,将其赋值给一个int型变量X,再用这个X为矩形的Length属性,实现对该项工作的工作量统计。GDI+绘制矩形原理如图所示:

工作量统计窗体实现效果如图4所示;自定义时间段的工作量比较效果如图5所示。

(图4)(图5)

3 結语

笔者根据实际工作的需要,设计实现该工作日志管理器,帮助自己完成每日工作记录和邮件汇报,还可以随时统计任意时间段的工作量情况,方便了办公生活,提高了办公效率。总结一下:小小的创新就可以改善我们的生活!

参考文献

[1] 李文江,于ASP.NET 2.0的工作日志管理系统设计, 重庆文理学院学报, 2008/ 01.

[2] 白新国, 基于Java的员工日志管理系统的设计与实现, 福建电脑, 2010/06.

[3] 赵志学, 基于.net的三层架构B/S工作日志管理系统设计与实现, 电脑学习, 2009/04.

[4] 王怡, 孙冬梅, 谈办公自动化的应用与发展, 山东女子学院学报, 2011/08.

[5] Mahesh Chand, Graphics Programming With GDI+, P14~P15, 2011/10.

[6]微软SDN,GDI+,htt: //msdn.microsoft.com/en-us/library/ms533798(v=vs.85).aspx.

注:文章内所有公式及图表请以PDF形式查看。

猜你喜欢

管理器工作量日志
高效管理日志文件用命令行就可以
启动Windows11任务管理器的几种方法
读扶贫日志
应急状态启动磁盘管理器
雅皮的心情日志
雅皮的心情日志
思科发布云计算市场发展报告
用好Windows 10任务管理器
精细绩效管理与医院科室分配制度探讨
实验室工位考勤管理软件设计