PSP表格记录功能
关于王者荣耀交流协会的PSP表格记录功能,就是针对我们平时做表格时候遇到问题的简化与解决。这部分功能可以记录我们开始时间,暂停时间,结束时间,并自动计算出各个时间段的净时间。只要你开始工作时点一下开始按钮,结束工作的时候点一下结束按钮,中间暂停工作时点一下暂停按钮。这样我们的程序会自动记录你的时间信息,并且最终生成一个我们需要的PSP表格。以下是我对程序运行结果的截图。
一.点击开始按钮后,若暂停工作,点击暂停按钮,便得到了如下的弹窗。“您已中断工作,赶快回来哦!”

二.当你想要继续工作时,点击继续任务,这是出现弹窗内容为“欢迎回来!加油!

三.如果你顺利的完成了任务,那么点击结束按钮,会产生如下界面。“恭喜你完成了一个任务!”

四.点击确定,便出现了如下一条时间记录,净时间精确到分钟。

五.部分主要代码
1.这部分代码是设计我们所获得的PSP表格每个列的标题。也就是我们平时写表格的时候需要记录的一些项。
ColumnHeader date = new ColumnHeader();
date.Text = "日期";
date.Width = ;
listView1.Columns.Add(date);
ColumnHeader categories = new ColumnHeader();
categories.Text = "类别";
categories.Width = ;
listView1.Columns.Add(categories);
ColumnHeader tasks = new ColumnHeader();
tasks.Text = "任务";
tasks.Width = ;
listView1.Columns.Add(tasks);
ColumnHeader startTime = new ColumnHeader();
startTime.Text = "开始时间";
startTime.Width = ;
listView1.Columns.Add(startTime);
ColumnHeader endTime = new ColumnHeader();
endTime.Text = "结束时间";
endTime.Width = ;
listView1.Columns.Add(endTime);
ColumnHeader intTime = new ColumnHeader();
intTime.Text = "中断时间";
intTime.Width = ;
listView1.Columns.Add(intTime);
ColumnHeader deltaTime = new ColumnHeader();
deltaTime.Text = "净时间";
deltaTime.Width = ;
listView1.Columns.Add(deltaTime);
ColumnHeader comment = new ColumnHeader();
comment.Text = "备注";
comment.Width = ;
listView1.Columns.Add(comment);
2.开始时间的按钮点击事件
private void button1_Click(object sender, EventArgs e)
{
if (signal == )
MessageBox.Show("您已经开始一个任务了哟~完成此任务再开始下一个吧!");
else
{
signal = ;//开始按钮已经点击
//DateTime dateTime = DateTime.Now;//获取当前时间
StartTime = DateTime.Now;//开始时间获取
//new一条记录 一行信息
lvi = new ListViewItem(StartTime.ToLongDateString());//第0列是日期
lvi.SubItems.Add(comboBox.Text);//第一列是类别下拉框
lvi.SubItems.Add(inputTask.Text);//输入好的任务描述信息
lvi.SubItems.Add(StartTime.ToLongTimeString());//开始时间
lvi.SubItems.Add("");//结束时间 暂时为空
lvi.SubItems.Add("");//中断时间
lvi.SubItems.Add("");//净时间
lvi.SubItems.Add(inputComment.Text);//备注信息填入
listView1.Items.Add(lvi);//添加一行
}
}
2.结束时间按钮点击事件
private void button2_Click(object sender, EventArgs e)
{
if (signal == )
MessageBox.Show("请先开始任务哦~");
else if (flag == )
MessageBox.Show("请恢复任务之后再结束任务哟!");
else
{
//DateTime dateTime = DateTime.Now;
EndTime = DateTime.Now;//获取结束的时间 MessageBox.Show("恭喜你完成了一个任务!");
//写入结束时间
listView1.Items[i].SubItems[].Text = EndTime.ToLongTimeString(); //写入开始时间到结束时间的间隔 减去中断时间
tmpSpan = EndTime - StartTime;//起止时间间隔
//MessageBox.Show(tmpSpan.ToString());
deltaTime = tmpSpan - intTime;//减掉中断的时间
//MessageBox.Show(deltaTime.ToString());
listView1.Items[i].SubItems[].Text = Math.Ceiling(deltaTime.TotalMinutes).ToString();
//行数+1
i++;
signal = ;
intTime = new TimeSpan(, , , );
} }
此部分利用公式计算了最终的的deltatime。
3.暂停按钮点击事件
private void button3_Click(object sender, EventArgs e)
{
if (signal == )
MessageBox.Show("还没开始任务呢,先输入信息开始一个任务吧!");
else
{
if (flag == )//开始中断
{
//record = i;
intTime1 = DateTime.Now;
flag = ;
MessageBox.Show("您已经中断任务,赶快回来哦!");
button3.Text = "继续任务";
}
else//停止中断
{
MessageBox.Show("欢迎回来!加油!");
button3.Text = "暂停";
intTime2 = DateTime.Now;
flag = ;
intTime += intTime2.Subtract(intTime1);// dateTime - tmp;
listView1.Items[i].SubItems[].Text = intTime.Hours.ToString() + ":" + intTime.Minutes.ToString() + ":" + intTime.Seconds.ToString();
}
} }
PSP表格记录功能的更多相关文章
- psp表格记录-
PSP2.1 Personal Software Process Stages Time Planning 计划 · Estimate · 估计这个任务需要多少时间 12 Development 开发 ...
- final发布--PSP Daily软件功能书(最终版)
一.开发背景 你在完成了一周的软件工程作业后,需要提交一个PSP图表,里面有4项,如下所示: 1.本周PSP表格,包含每项任务的开始.中断.结束.最终时间,格式如下: 2.本周进度条,包含从开始到现在 ...
- Beta发布--PSP DAILY软件功能说明书2.0
一.开发背景 你在完成了一周的软件工程作业后,需要提交一个PSP图表,里面有4项,如下所示: 1.本周PSP表格,包含每项任务的开始.中断.结束.最终时间,格式如下: 2.本周进度条,包含从开始到现在 ...
- PSP DAILY软件功能说明书
PSP DAILY软件功能说明书 一.开发背景 你在完成了一周的软件工程作业后,需要提交一个PSP图表,里面有4项,如下所示: 1.本周PSP表格,包含每项任务的开始.中断.结束.最终时间,格式如下: ...
- 使用插件bootstrap-table实现表格记录的查询、分页、排序等处理
在业务系统开发中,对表格记录的查询.分页.排序等处理是非常常见的,在Web开发中,可以采用很多功能强大的插件来满足要求,且能极大的提高开发效率,本随笔介绍这个bootstrap-table是一款非常有 ...
- 基于Metronic的Bootstrap开发框架经验总结(16)-- 使用插件bootstrap-table实现表格记录的查询、分页、排序等处理
在业务系统开发中,对表格记录的查询.分页.排序等处理是非常常见的,在Web开发中,可以采用很多功能强大的插件来满足要求,且能极大的提高开发效率,本随笔介绍这个bootstrap-table是一款非常有 ...
- PROJECT | 四则运算UI设计 - PSP表格&需求分析
PSP表格(TP版) 需求分析 [GUI编程语言选择] 考虑到Java编写GUI效率偏低且界面不算特别美观(即使有Windowbuilder插件帮助),所以我们使用控件更多,开发效率更高,具有集成开发 ...
- JS实现前台表格排序功能
JS实现前台表格排序功能 虽然数据量不大的情况下,前台排序速度比较快,但一般情况下,我们的项目只使用后台排序,原因有二: 一是代码简单:二是前台JS排序对于有分页的情况无法处理. 前段时间,有个功能需 ...
- 如何用angularjs制作一个完整的表格之二__表格分页功能
接上一次,这次主要介绍表格分页功能,由于项目需要这个案例是关于前端分页的方式,现在很少会这么用了,但如有需要可以参考其中的思路 html: 1.通过UL来展示页标,其中每个页标的li是通过异步加载从获 ...
随机推荐
- http 协议状态码
1xx 信息类状态码 100 - Continue 初始的请求已经接受,客户应当继续发送请求的其余部分.(HTTP 1.1新) 101 - Switching Protocols 服务器将遵从客户 ...
- shell习题第5题:批量更改文件后缀名
[题目要求] 找到123/目录下所有后缀名为.txt的文件 1. 批量修改.txt为.txt.bak 2. 把所有.bak文件打包压缩为123.tar.gz 3. 批量还原文件的名字,即把增加的.ba ...
- 移动端触摸滑动插件Swiper使用指南
Swiper是一款开源.免费.功能十分强大的移动端内容触摸滑动插件,目前的最新版本是Swiper4.Swiper主要面向的是手机.平板电脑等移动设备,帮助开发者轻松实现触屏焦点图.触屏Tab切换.触屏 ...
- 解决在 win10 下 vs2017 中创建 MFC 程序拖放文件接收不到 WM_DROPFILES 消息问题
解决方案 这个问题是由于 win10 的安全机制搞的鬼,即使以管理员权限运行也不行,因为它会把 WM_DROPFILES 消息过滤掉,那怎么办呢?只需在窗口初始化 OnInitDialog() 里添加 ...
- 树莓3B+_root密码开启
开启root用户的方法:1.设置密码:sudo passwd2.sudo passwd --unlock root3.root用户登录:su
- Shell学习积累//持续更新
1.until的使用 直到判断条件满足,否则会一直执行,与while使用相反 until [ $command -eq 200 ] do command=`curl -o /dev/null -s - ...
- aircrack-ng 破解无线网络
1.科普当今时代,wifi 已成为我们不可缺少的一部分,上网.看视频.玩游戏,没有 wifi 你就等着交高额的流量费吧,本来我想单独的写 wpa 破解和 wps 破解,后来觉得分开写过于繁琐,索性合并 ...
- PMP考试通过
经过3个月的努力,终于在10月8号,过完国庆假期,得知考试通过.虽然没有得到5A,只有4A,心也算落下了.备考的过程中,通过学习小组讨论,互相交流,辅导. 自己也对学习的知识加深印象.总结一下整个学习 ...
- sqlserver之on与where条件
在进行两个表乃至多个表进行联接时需要on条件进行匹配,很多时候我们会对过滤条件放在on还是where中心存疑惑.一般来讲,在外联接中on是两个表进行关联的匹配条件,在该条件匹配下会生成一个虚拟表. 如 ...
- 安装虚拟机以及学习Linux基础入门
安装虚拟机 参考基于VirtualBox虚拟机安装Ubuntu图文教程完成了虚拟机的安装,主要遇到了以下2个问题 在新建虚拟电脑的时候,如果类型选择了Linux,则版本就只能选择Ubuntu(32 位 ...