对一个老项目重新编写的前前言
Posted jlutiger
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对一个老项目重新编写的前前言相关的知识,希望对你有一定的参考价值。
很久很久之前,实验室的师兄使用vb编写了一个健康监测平台,在我研一的第一年,实验室因为和江苏某地有合作,需要用到这个平台,但是由于年代久远,vb调试起来出现了很多问题,后期加入新的功能也面临了困难。所以,需要将其使用其他语言进行搭建,考虑到项目的需要和个人精力等因素,决定使用c#对其进行实现。选择c#的原因其实很简单,就是它对界面开发很友好,之前也尝试使用java web、QT(C++)进行搭建,但是每一个功能入手起来都挺费力的,实验室还有其他任务需要完成,精力有限,最后选择了c#。
这个前前言便是写在着手搭建新平台的第三天,平台的一些功能已经实现,后续还需要不断的去完善,但是之前对vb的完善还是要记录一下的,完善老的平台是为了掌握平台的逻辑设计等等,另一个就是可以在新平台搭建成功之前作为备份。
下面便是前几天对老平台的完善记录:
想法:
1.排除现有曲线的不足:
数据异常:数据库中出现连续的255,255数值,猜测为前期测试时数据上传时溢出导致的现象。
横坐标异常:语句中获取横坐标的为:.RowLabel = mdbrs.Fields("测量日期"),但是在数据库中时间的列表为“测量时间”,将其改为:.RowLabel = mdbrs.Fields("测量时间")即可。
2.优化曲线的设想:
1)画图后不显示数值,鼠标点击显示数值:
显示的坐标值是以窗口左上角为零点的,使得纵坐标越往下数值越大。
选取几个纵坐标的点:
111——3630
110——3660
113——3600
118——3555
鼠标点击的位置不能与数值点完全对应,进行换算的话误差比较大。
2)将心率与血压分开:
新增加一个图,然后将心率画出来。
而将血压曲线中原有的心率去掉之后,出现了血压曲线注释错误的情况:
后来发现低压数值第一个应该为107,而曲线中第一个为93,93在数据库中是其最后一个数据。查看血压原始程序发现也存在这个问题,猜测是在执行绘制曲线的循环的时候,发生了移位。
解决:将绘制低压的for循环单独拉出来,数据正常读取。
但是线段注释还是只有低压,原因是:
在绘制曲线的时候,会执行读取数据的循环,而程序里注释曲线名称所用到的.ColumnLabel = "低压"会覆盖掉之前的注释,所以将注释曲线的函数放在执行读取数据绘制曲线的循环之前,便会避免这个问题。
另一方面,在心率的曲线中出现不显示坐标的问题。
发现mschart中有第二Y轴的设置,便改变思路,使用第二Y轴:
左边为血压轴,右边为心率轴,为了将心率与血压区分开,根据数据库中各类型的数值大小,将血压曲线提高,将心率曲线降低,即:降低血压轴的范围,提高心率轴的范围。
将心率用柱状图表示出来:
MSChart.chartType = VtChChartType2dCombination MSChart.Plot.SeriesCollection.Item(1).SeriesType = VtChSeriesType2dLine
MSChart.Plot.SeriesCollection.Item(2).SeriesType = VtChSeriesType2dLine
MSChart.Plot.SeriesCollection.Item(3).SeriesType = VtChSeriesType2dBar
更改左右纵坐标范围:
.Plot.Axis(VtChAxisIdY).ValueScale.Maximum = 200
.Plot.Axis(VtChAxisIdY).ValueScale.Minimum = 0
.Plot.Axis(VtChAxisIdY2).ValueScale.Maximum = 600
.Plot.Axis(VtChAxisIdY2).ValueScale.Minimum = 0
3.后续改进
减少不必要按键操作。
1)绘制曲线时选中条件就绘制,不用点击确定
首先设置列表选中事件:
然后建立数据库连接,之后绘制曲线。
出现错误:
原因是在测试列表功能的时候,是将之前数据库连接的内容复制过去,而在之前的选择按钮中已经存在连接,在删除选择按钮及其相应功能,仅保留列表之后,功能恢复正常。
4.后续
对老平台的修改记录就记录这些,这个暑假的主要精力便放到了新平台的制作上,搭建过程中的错误以及一些知识也会记录在博客中。
以上是关于对一个老项目重新编写的前前言的主要内容,如果未能解决你的问题,请参考以下文章