这周主要是在做《机房合作》和《牛腩新闻发布系统》,零零散散的收获一大筐,不整理也不知道到底收获了多少,贴出来分享给大家
一、下机时间计算
受之前第一版《机房收费系统》的影响,学生上机时,我们向数据库中对日期插入了两条数据:上机日期,上机时间。下机时,更新数据:下机日期,下机时间。实现学生下机时,自然要计算时间差,那么问题来了,怎么计算?
1、上机日期和时间的处理:
因为我们在数据库中对日期和时间的存取方式为:
所以需要对字符串进行拼接:
string OnLine = ListConsume.OnlineDate +" "+ ListConsume.OnlineTime + ":00";
2、下机时间处理:
获取我们想要的时间格式:
string OffLogout = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");
3、拼接完成后,使用函数subtract,参考代码:
Single time; string OffLogout = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"); string OnLine = ListConsume.OnlineDate +" "+ ListConsume.OnlineTime + ":00"; DateTime dt1 = Convert.ToDateTime(OffLogout ); DateTime dt2 = Convert.ToDateTime(OnLine ); TimeSpan ts = dt2.Subtract(dt1); time=Convert .ToSingle ( (int)( ts.TotalMinutes)) ;
思考:在这个转换的过程中,我们组在思考,为什么向数据库中存入上机信息时要把时间保存成两个字段的形式,一个字段,直接存入日期和时间不可以吗?对功能会有不好的影响吗?正是因为受之前版本的影响以及在讨论数据库时的不彻底,使我们在下机操作中拐了一个小弯。不得不说,磨刀不误砍柴工,打破思维定式不是一件轻松的事情。
二、对wpf的小小收获
我们的U层为了达到扁平化的效果,使用的WPF窗体,没有使用winform窗体,里面一些属性的设置与在Winform中不一样,想和大家分享一下:
之前我们使一些控件不可见,使用的是 某某控件.visiable=false;在WPF中可以换个思路:
DPicker1.Visibility=System .Windows .Visibility .Visible ; DPicker1.Visibility = System.Windows.Visibility.Hidden ;
三、知识的联系
使用WPF时,发现WPF对控件属性的设置和牛腩有很多相似之处,发现了它们的共同点:
可以在一个专门设置U层显示的区域设置控件的属性,在VS中叫做XAML:
其中的margin是不是在牛腩中有似曾相识的感觉。。。
在牛腩中,我们通过代码来“画”控件,通过XHTMl+CSS来设置网页布局。
这两种方式都是为了展现出页面,双击页面上的控件,就可以进入我们的编码区。在编码区我们就很熟悉了。
总结:写给自己的博客,做好每周的总结。