ass DataDeCode public delegate void DataInsertEventHandlerobject sender EventArgs e /// /// 数据插入数据库事件 /// public event DataInsertEventHandler DataInsert /// /// 解码进度事件 /// public delegate void FrmTrayIconChangeEventHandlerint tryeint allcountintnowcount public static event FrmTrayIconChangeEventHandler FrmTrayIcon /// /// 存放最后得到的数据 /// public string DataXMLnull private string resultfilenameresultDateTime.Now.ToStringyyMMdd.txt /// /// 数据库连接 /// //private System.Data.OleDb.OleDbConnection connnull public DataDeCode public void decode this.DataXMLnull DataXMLDataXML DataXMLDataXML this.loadXML DataDeCode.FrmTrayIcon DataXMLDataXML PublicClass.outxml_AppendfileresultfilenameDataXML PublicClass.BindDataXMLDataXML ifthis.DataInsertnull this.DataInsertthisEventArgs.Empty PublicClass.updateNode /// /// 得到的数据存入XML中 /// /// /// /// private void loadXMLstring sdstring namestring codenameint num this.DataXMLDataXMLsd 上面的 DataDeCode 类就是一次解码类, decode()为解码方法,界面上的 DECODE 按钮就是首先调用这个方法。
Decode方法中有些常用的功能方法,1.this.loadXML就是把取到的结果构建成XML文档形式。
2.DataDeCode.FrmTrayIcon方法是在界面上显示解码的进度,按百分比这样显示。
3.PublicClass.outxml_AppendfileresultfilenameDataXML方法是备份这次解码的结果。
以后还可以本地查询结果。
4.PublicClass.BindDataXMLDataXML方法,传递数据给插入数据库类。
ifthis.DataInsertnull this.DataInsertthisEventArgs.Empty 调用插入数据库类。
不写此方法数据就不会插入到数据库。
5.PublicClass.updateNode方法记录解码的点位,程序退出,下次解码就从次记录开始。
public class ChangeDataXML public ChangeDataXML PublicClass.DataXMLChangenewLISLoid.PublicClass.DataXMLChangeEventHandlerPublicClass_DataXMLChange private void PublicClass_DataXMLChange string valnull PublicClass.readNodePublicClass.filenameIsdecode2ref val ifval.Trim0 this.decode2 /// /// 二次解码方法 /// private void decode2 上面二次解码类代码。
从上面的解析我们可以看出,其实我们写一台新仪器的解码程序,就只要对 decode 方法和 decode2 方法进行修改就可以了,还有就是配置到这台仪器的代码。
三,插入数据库类。
using Systemusing System.Drawingusing System.Collectionsusing System.ComponentModelusing System.Windows.Formsusing XcjwHIS.DatabaseAccessLayerusing XcjwHIS.PubicBaseClassesusing XcjwHIS.BussinessLogicLayer.Classesusing System.Datausing System.Xmlusing System.IOnamespace LISLoid /// /// 数据插入到数据库类 /// public class DataInsertClass public delegate void FrmTrayIconChangeEventHandlerint tryeint allcountintnowcount public static event FrmTrayIconChangeEventHandler FrmTrayIcon region 类变量 public string filenameDataInsertSetting.xml /// /// 配置文件数据 /// private DataSet dsnull /// /// 解码数据 /// private DataSet ds_Datanull /// /// 标本号 /// private string bb_numnull /// /// 验单号 /// private int yd_num0 /// /// 图片号 /// private string pic_numnull /// /// 组合代码 /// private string group_codenull /// /// 检验科室代码 /// private string room_codenull////// 分类代码///private string cls_codenull////// 仪器代码///private string mach_codenull////// 样本代码///private string samp_codenull////// 质控代码1///private string zkbb1null////// 质控代码2///private string zkbb2null////// 质控代码3///private string zkbb3null////// 检验日期///private DateTime dateDateTime.Now////// 多项目仪器///private string ismuchnull////// 是否是血常规三分类的仪器///private string IsThreepicnull////// 取出数据///private DataTable tb_datanull////// 配置文件数据/// private DataTable tb_nodenull endregion public DataInsertClass MainFrm.ddc.DataInsertnewLISLoid.DataDeCode.DataInsertEventHandlerdc_DataInsert /// /// 开始解码事件调用解码方法 /// /// /// public void dc_DataInsertobject sender EventArgs e dateDateTime.Now this.bindBaseData iftb_datanullreturn//如果传过来的dataxml没有数据就跳到下一个去 ifbb_num.Trim-1return//如果标本号为-1就跳到下一个去 ifbb_num.Trimzkbb1.Trim bb_num.Trimzkbb2.Trim bb_num.Trimzkbb3.Trim this.DataInsertQC else this.DataInsert /// /// 配置文件转化为dataset /// private void bindxmlds dsnew DataSet ds.ReadXmlfilename /// /// 得到的数据转化为dataset /// private void binddatads try ds_Datanew DataSet string dtxmlnull dtxmlPublicClass.DataXML System.IO.StringReader srnew System.IO.StringReaderdtxml ds_Data.ReadXmlsr catch /// /// 绑定基础数据 /// private void bindBaseData 上面是插入数据库类,把DATAXML里面的数据插入到数据库里面。
数据插入分为质控数据插入和结果数据插入。
四,配置程序和仪器匹配。
先选择数据库里对应的仪器, 左边就自动的显示出数据库这台仪器里的项目。
中间就是解码后的项目,点对应后就生成对应项目到右边。
特别注意:中间项目的项目代码一定要和解码中配置文件的项目代码一样。
所有配置文件: 1. DecodeSetting.xml 解码中所用到配置文件 2007-12-18 0:00:00 1 0 raw/ 2.KeyDecodeSetting.xml 二次解码的配置文件 3.DataInsertSetting.xml 插入数据库配置文件 90 4 1 9002 76 801 802 803 0 0 0 2007-4-16 0:00:00 2354 0 1 ProviderMicrosoft.Jet.OLEDB.4.0Data sourcetest.mdb 0 总个软件的流程:
上一篇:
数控程序员高级
下一篇:
建筑劳动毕业论文提纲格式