<?xml version="1.0" encoding="UTF-8"?>
  <feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html"><![CDATA[九勺博客]]></title>
  <subtitle type="html"><![CDATA[拍拍身上的灰尘，振作疲惫的精神，远方也许净是坎坷路，也许要孤孤单单走一程……我要认真面对我的人生。]]></subtitle>
  <id>http://www.9shao.com/blog/</id>
  <link rel="alternate" type="text/html" href="http://www.9shao.com/blog/" /> 
  <link rel="self" type="application/atom+xml" href="http://www.9shao.com/blog/atom.asp" /> 
  <generator uri="http://www.pjhome.net/" version="2.8">PJBlog3</generator> 
  <updated>2010-07-18T23:31:46+08:00</updated>

  <entry>
	  <title type="html"><![CDATA[在路上……]]></title>
	  <author>
		 <name>admin</name>
		 <uri>http://www.9shao.com/blog/</uri>
		 <email>jiushao@hotmail.com</email>
	  </author>
	  <category term="" scheme="http://www.9shao.com/blog/default.asp?cateID=4" label="漂在北京" /> 
	  <updated>2010-07-18T23:31:46+08:00</updated>
	  <published>2010-07-18T23:31:46+08:00</published>
		  <summary type="html"><![CDATA[生命中，总有某个时刻，各种机缘巧合凑在一起，让你百感交集，心中莫名伤感，或者莫名激动，甚至莫名地万念俱灰。 <br/>　　 <br/>　　 这位朋友的亲人生病了，她却远在他方自责无能。那位朋友夜深时，借用一条短信，说北京让人的感情无处着落。 <br/>　　 这位朋友为师兄的苦苦追求恼火，那位朋友已经结婚半年了。 <br/>　　 这位朋友买了房子，说空空的房子好孤单，有没有合适的女孩给介绍，那位朋友为了生计，在北京奔波劳累，做一个坚强的单身女孩。 <br/>　　 这位朋友去国外好久了，那位朋友在老家消磨生命。 <br/>　　 这位朋友选择退学了，那位朋友为了考试废寝忘食。 <br/>　　 这位朋友从国外回来，选择了一位男友，甘苦自知，那位朋友一心想逃离中国，一腔才学，在国内竟无处施展。 <br/>　　 这位朋友循着理想，一路走来，出版了自己的第一本书，那位朋友却还没有找到未来的路在何方。 <br/>　　…… <br/><br/>以上并非真实、并非全部，但也是真实的。<br/><br/>还记得很多年前，时间太久都已经忘了细节了，依稀的印象是关于足球，关于理想与梦想的话题，在路上。<br/>一个人走很远、很长的路是很艰难的，有些时候是找不到同行者，有些时候是内心中希望一个人独自品味。<br/><br/>在路上的时候，有些人的前行需要踏着其他人的足迹，也有些冒险者愿意寻找新的路径，而领路的人，当天黑下来的时候，唯有靠着自己发出的微光，指引后来者前行。<br/><br/>我习惯定出一个令人难以企及的目标，然后连带着把自己也扔过去，就把自己当许三多，逼自己去实现一个自己都不太认为能实现的目标。幸运的是，在这一次次好似超越极限的过程中，我发现原来那些目标似乎已经被超越，或是触手可及。或许唯有做最好的自己，才永远没有止境，人的内心的强大才是构建“世界”的基石。<br/><br/>在路上，目标明确，方向正确，必须、一定以及肯定的披荆斩棘，勇往直前。]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.9shao.com/blog/article.asp?id=128" /> 
	  <id>http://www.9shao.com/blog/default.asp?id=128</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[LDCI程序使用的视频教学]]></title>
	  <author>
		 <name>admin</name>
		 <uri>http://www.9shao.com/blog/</uri>
		 <email>jiushao@hotmail.com</email>
	  </author>
	  <category term="" scheme="http://www.9shao.com/blog/default.asp?cateID=4" label="漂在北京" /> 
	  <updated>2010-01-24T18:33:21+08:00</updated>
	  <published>2010-01-24T18:33:21+08:00</published>
		  <summary type="html"><![CDATA[<div class="UBBPanel"><div class="UBBTitle"><img src="http://www.9shao.com/blog/images/mediaplayer.gif" alt="" style="margin:0px 2px -3px 0px" border="0"/>播放视频文件</div><div class="UBBContent"><a id="temp16286_href" href="http://www.9shao.com/blog/javascript:MediaShow('wmv','temp16286','attachments/month_1001/02010124182639.AVI','400','300')"><img name="temp16286_img" src="http://www.9shao.com/blog/images/mm_snd.gif" style="margin:0px 3px -2px 0px" border="0" alt=""/><span id="temp16286_text">在线播放</span></a><div id="temp16286"></div></div></div><br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.9shao.com/blog/article.asp?id=127" /> 
	  <id>http://www.9shao.com/blog/default.asp?id=127</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[C# 串口通讯程序的实现 For 医院实验室仪器]]></title>
	  <author>
		 <name>admin</name>
		 <uri>http://www.9shao.com/blog/</uri>
		 <email>jiushao@hotmail.com</email>
	  </author>
	  <category term="" scheme="http://www.9shao.com/blog/default.asp?cateID=4" label="漂在北京" /> 
	  <updated>2010-01-24T17:07:13+08:00</updated>
	  <published>2010-01-24T17:07:13+08:00</published>
		  <summary type="html"><![CDATA[因为工作原因，学了C#大概有大半年的时间，只是利用些业余的时间来学的。<br/>如果有时间的话，我希望利用博文将这其中的过程写一下，一个是为了自己记录，另外如果对大家学习C#编程和串口通讯有帮助的话，我也会非常高兴，大家一起学习。<br/>此博文是面向有基础的读者，包括熟悉LIS与实验室仪器，以及串口通讯相关内容的从业人员。<br/>我想各LIS公司都会有自己的仪器接口开发人员，我入行比较晚，05年开始接触LIS行业，并且开始的工作并不是编写程序。之后担任项目经理做了些项目，过程中觉得现有的接口程序在安装、备份和调试时有些不太方便，因此萌发了重写仪器接口程序的念头，于是从2009年3月之后着手设计。<br/>原来公司的接口程序使用cache和c++写的。<br/>我的设计从编程语言和数据库的选择开始。<br/>从用户的角度出发，我希望开发一款可配置（适用于各种不同协议的仪器），可同时支持多仪器通讯，支持各种物理通讯模式，便于安装和使用的程序。<br/>最后，权衡种种，选择了c#，数据库使用access。<br/>在2009年3月之前，我从来没有接触过c#，并且我也不是计算机相关专业的，所以从程序的设计到实现过程可能和很多人不一样。<br/>首先，我和大多数人一样，寻找c#下关于串口通讯的例程，同时开始学习c#的基本语法。<br/>软件的设计，我是从UI开始的。<br/><img src="http://www.9shao.com/blog/attachments/month_1001/g201012417553.jpg" border="0" alt=""/><br/>这是目前的界面，我希望主界面上能够直观的显示有多少台仪器接口，哪些接口正在运行，哪些停止了，通过颜色和图标来表示，同时，点击仪器接口或者右键可以出现设置选项。<br/><br/>软件的主要设计界面和调试界面以及应该有的功能的实现，应该针对每一个仪器接口来实现，具体C#中，除串口通讯的相关知识点外还需要些其他应该掌握的知识，列表如下：<ul style="list-style-type:decimal"><br/> <li>多线程</li><li>反射</li><li>文件操作</li><li>数据库操作</li><li>XML</li><li>数组</li><li>队列</li><li>……<br/></li></ul><br/>对以上知识点，大家可以通过搜索引擎或者书籍寻找相关的内容，首先介绍下多线程。<br/>我希望在我的博文中更多的讲述设计思路，而并非是知识点，所以相关的具体技术请大家自行学习，网上有太多的教程了。<br/>在哪里用到了多线程？请大家看下下面的界面：<br/><img src="http://www.9shao.com/blog/attachments/month_1001/m2010124171954.jpg" border="0" alt=""/><br/>点击仪器后，会出现相应仪器的界面，下面的启动、停止按钮是用来操作串口通讯的，那么每一个仪器的启动停止都不应该影响其他的仪器，并且每个仪器的通讯设置也是和其他仪器不同的，例如：仪器接口1用COM1,仪器接口2用COM2与仪器进行通讯，因此，多线程是非常有必要的。<br/>我在写这个接口程序的起始过程中，感到最痛苦的地方并不是串口通讯的实现，因为网上有现成的类（API），而且2008也有相应的控件支持，我最痛苦的地方就是多线程的实现，这个因为我初期没有处理好，还导致了后来对程序做了一次非常大的改动。当然程序中用到多线程的地方不止这一处，后面还有非常多的地方。<br/><br/>接下来是反射，为什么会用到反射？<br/>这要从程序的设计理念讲起，前面提到了我要做一个可配置的程序，来适应仪器各种不同的通讯协议，包括物理通讯方式，那么如何来实现呢？如何使程序拥有比较好的扩展性呢？那么用反射来实现动态选择解析类是一个比较好的选择，当然现在我认为使用“接口”会更好一些。<br/><img src="http://www.9shao.com/blog/attachments/month_1001/v2010124173249.jpg" border="0" alt=""/><br/>通过选择不同的协议解析类，来实现对不同协议的解析，这是我最初的想法。也是，公司原来接口程序的设计理念。但随着开发的推进，我发现即使这样在配置的过程中也很可能需要改写程序代码，是否还有更好的方式呢？能否遵循程序编写的规律来实现程序的配置过程呢？（1.读协议&nbsp;&nbsp;2.根据协议写解析方法）<br/>于是，在程序设计上有两个不同的理念：<br/>1.为不同的仪器设置不同的协议配置界面来支持<br/>2.为不同的仪器设置相同的配置界面来支持<br/>在本程序中，我选择了后者。很难说那种方式更好，我星期四还就这个问题与我芬兰的同事讨论过，他们国外用的就是第一种方式。但是由于国情不同，软件架构不同，他们使用B/S来实现的。所以，目前看，我认为还是第二种方式更合适一些，仅个人观点。<br/>那么程序的设置解析设置保存到了哪里呢？我目前的做法是一部分在数据库，一部分在XML，所以前面也提到了，需要了解些读写数据库和XML的知识点。<br/>高级设置的内容请看下界面：<br/><img src="http://www.9shao.com/blog/attachments/month_1001/e2010124174153.jpg" border="0" alt=""/><br/>从图中就可以看出，程序设计的宗旨：<span style="color:Red">用配置的方式来实现所有仪器的通讯解析。</span><br/>要实现这个宗旨，我认为需要有很强的归纳、抽象化的能力，也需要多年的行业经验。<br/>我看到很多国内的LIS公司的仪器接口程序做得非常的局限，从设计角度上未能从一个宏观的环境出发，而只是局限在个别仪器或者同一类通讯协议的仪器上，我认为从一个软件设计者的角度出发，需要从概念上真正认清自己要做一个什么样的产品，这个产品能够解决什么问题；而不是在自己的一个小圈子中转悠，这一点我们与国外的软件公司的产品差距很大。<br/>以上的界面并不是最终界面，而且也很可能随着版本的升级会有改动，但是软件设计的宗旨是不会变的，我希望即使不懂编程的人员，仅需简单了解下仪器通讯协议就可以自行配置出可使用的接口程序，即使不会配置，只要将其他人配置好的仪器协议XML文档导入，就可以实现接口程序与仪器的互联，我想这才是LIS仪器接口程序要最终实现的目的。<br/><br/>要实现这样的目的，在软件开发过程中需要花费比单一接口程序更多的精力和时间，大多数人（公司）都在赶任务，而未能停下来仔细想一想，我到底要给用户一个什么样的软件产品。在开发通用软件过程中所付出的更多时间和精力，我们会在后面的安装、调试、维护中得到切实的回报，远远超过所付出的。<br/><br/>今天周末，我做的软件也已经在很多医院使用了，我想是该有时间把这半年多用几乎所有业余时间所做的事情做一个总结了。几乎没有周末，没有在12点前睡过，没有加班费，没有涨工资，只为了实现我所能实现的。我希望同行的朋友们了解到，原来软件是可以做成这样的!也希望大家能够开发出更多更好的软件产品，也算是为中国的医疗事业做贡献了。<br/><br/>因为目前为止，除了国外的公司，我在国内还没有看到同类的产品。所以我非常的希望能够与国内的软件开发人员做交流。学习c#编程仅半年多，还都是用的业余时间，所以还有很多可以提高的地方，我非常感谢我的各位同事，提供了非常多的非常useful的建议。<br/><br/>稍后我会放些软件使用的视频，也希望我们同在一个行业的朋友们能够提供宝贵意见，让我们共同提高。]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.9shao.com/blog/article.asp?id=126" /> 
	  <id>http://www.9shao.com/blog/default.asp?id=126</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[换公司了！]]></title>
	  <author>
		 <name>admin</name>
		 <uri>http://www.9shao.com/blog/</uri>
		 <email>jiushao@hotmail.com</email>
	  </author>
	  <category term="" scheme="http://www.9shao.com/blog/default.asp?cateID=4" label="漂在北京" /> 
	  <updated>2009-12-02T22:20:29+08:00</updated>
	  <published>2009-12-02T22:20:29+08:00</published>
		  <summary type="html"><![CDATA[见到朋友写的文章，忽然想起好久没有写博。<br/>离开了原来的公司，来到了新的环境，同事变化不大，换了新老板。<br/>做技术的老板变成了做商务的老板，男老板换成了女老板，需要时间来适应，需要时间……还好之前已经适应一年了。<br/>因为半路出家搞IT，我也自诩复合型人才了，虽然每每遇到专业的人有点没底气，但见多太多号称专业的人写的程序了，实在是不敢恭维。<br/>这段时间发生的事一点也不少，但例行摩羯的低调，并不想着太多的笔墨。<br/>公司换了，同事也多了，恍惚间又回到了仰徳创业初期的感觉。单纯的、乐观的期许，再加上一点点的坚持。<br/>还有2年，30岁了，新公司也许应该会找到方向了吧，或者找不到。<br/>虽然说是为了挣多些才学写程序的，但不知不觉还是入了IT的行，而且钻到了医疗检验的行业这个小旮旯里。<br/>外企？挺好的，挺正规，人都不错。想当初刚毕业的时候就是这样的环境，只是现实是残酷的，一点的战略决策失误就会导致无法想象的后果。<br/>写程序的时间越长，就越拙于下笔，恍惚间都是严谨的逻辑和因果的关系，感性之于摩羯越来越少，付出与获得计算的越精确，快乐就离得越远。<br/>回到家里只想睡觉。<br/>造化弄人，因为太现实没有学英语，也因为现实现在不得不再次开始学英语。所以还是不得不感慨的说一声：“早知如此，何必当初”，然而辩证的看，“早知如此，哪有如此。”后悔？不后悔，因为要后悔的事情太多了，人还是活在当下的。<br/>真羡慕学习哲学的人，无论多么复杂的问题，归根结底都是哲学问题，我还记得《我思故我在》，《我思故我狂》，哲学的探讨像打开了另一个世界的窗户，眼界瞬间就开阔了。<br/>中国的程序员做的太累，真羡慕老外可以几十年一直做程序，然而国情决定。恩，国计民生的大事，真想放到碗里来讨论讨论。<br/>决定近期再去趟电影院，上回看了This is it. 真是震撼啊。<br/>这回看什么呢？2010还是熊猫大侠？快过一年了啊……干点原来不长干的事来纪念一下吧。<br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.9shao.com/blog/article.asp?id=124" /> 
	  <id>http://www.9shao.com/blog/default.asp?id=124</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[串口通讯程序的一些思考]]></title>
	  <author>
		 <name>admin</name>
		 <uri>http://www.9shao.com/blog/</uri>
		 <email>jiushao@hotmail.com</email>
	  </author>
	  <category term="" scheme="http://www.9shao.com/blog/default.asp?cateID=4" label="漂在北京" /> 
	  <updated>2009-09-14T00:50:13+08:00</updated>
	  <published>2009-09-14T00:50:13+08:00</published>
		  <summary type="html"><![CDATA[对样本信息进行手工添加<br/><br/>接口打开时，应该限制不能打开设置界面，需要停止接口才能改设置的东西。<br/><br/>启动时给启动画面提示，启动结束自动关闭<br/><br/>宣传资料设计<br/><br/>双向通讯的限制<br/><br/>[读取文件结果]读取结果文件后如何记录已经读取过的文件不再读取!<br/><br/>如果一个解析模板没有指定TestCode(Channel)，就用生成结果的顺序号“i”来当作结果进行存储，后续可以使用结果处理做通道号转换做对应关系。<br/><br/>结果二次处理：内容应包括<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;1.小数点位置的设置<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;2.是否去掉样本号和结果前面的0<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;3.数据帧序号和项目通道号的对应设置<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;4.<br/>日志管理:需要设置显示列和是否将指定类型的log信息记录到数据库,过滤条件,需要增加类型过滤<br/><br/>*****************************************************************************宣传网站<br/><br/>结果去前面的0<br/><br/>程序打包<br/><br/>o&#114;der信息查看，重新发送Order信息给仪器(Batch)（使用说明中加上这一段）<br/><br/>显示此LDCI支持的仪器列表,以及支持的仪器数量，有效日期（对试用版才显示）<br/><br/>增值服务<br/><br/>通讯记录的外化，Log分类记录（存储到文本或者html），每天一个文件作为记录,导出功能<br/><br/>字符转换（显示）<br/><br/>服务器端与客户端的通信,限制仪器数量.<br/><br/>图形,酶免,微生物等的支持.<br/><br/>质控<br/><br/>***************************************************************************************<br/>(对此记录应定期进行清除，默认记录7天)<br/>对日志进行分类：<br/><br/>&#160;&#160;&#160;&#160;程序级<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;1.程序的启动与停止<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;2.错误信息<br/><br/>&#160;&#160;&#160;&#160;仪器级<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;1.接口的启动与停止<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;2.错误信息<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;3.通讯记录<br/><br/>过滤条件：<br/>&#160;&#160;&#160;&#160;1.(空):程序级<br/>&#160;&#160;&#160;&#160;2.deviceID:仪器级<br/><br/>内容分类：<br/>&#160;&#160;&#160;&#160;等级(0~5)<br/>&#160;&#160;&#160;&#160;0:灰色，尚未分类的错误，无法估算其出现的后果。<br/>&#160;&#160;&#160;&#160;1:红色，严重错误。发生后程序无法运行。<br/>&#160;&#160;&#160;&#160;2:橙色，错误，发生后与仪器的通讯可能中断，接口状态可能无法回到Idle，无法正常接收和发送信息。<br/>&#160;&#160;&#160;&#160;3:黄色，严重警告，发生后部分样本或结果信息无法正常解析，存储或上传，可能会丢失部分结果。<br/>&#160;&#160;&#160;&#160;4:浅黄，警告，程序中已经对此错误的可能性进行了预测，并进行补救，但仍可能会带来部分未知的后果。<br/>&#160;&#160;&#160;&#160;5:绿色，通讯记录，程序和各仪器接口的启动停止记录。物理层，协议层，数据链路层接收到的数据，为调试时参考的内容，可能会轻微影响程序的工作效率。<br/>&#160;&#160;&#160;&#160;&nbsp;&nbsp;可通过配置停止记录此类信息，对程序运行没有影响。<br/><br/>数据库字段设计：<br/><br/>仪器ID:（如果仪器ID为空，则是程序级的日志记录）<br/>级别：0～5<br/>时间：自动生成<br/>类名：<br/>方法名：<br/>信息：<br/>描述：自己对此错误的解释，可能发生的情况，补救的办法，影响的范围及严重性。<br/><br/>&#160;&#160;&#160;&#160;Log.WriteLogToDB(deviceID, 5, &#34;通讯&#34;, System.Reflection.MethodBase.GetCurrentMethod().ReflectedType.Namespace + &#34;.&#34; + System.Reflection.MethodBase.GetCurrentMethod().ReflectedType.Name, System.Reflection.MethodBase.GetCurrentMethod().Name, &#34;&#34;, &#34;&#34;);<br/><br/>----------------------------------------------------------------------------------------<br/><br/>传对象的线程&#160;&#160;&#160;&#160;(&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;// 创建执行任务的线程，并执行<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#160;&#160;&#160;&#160;Thread t = new Thread(new ThreadStart(this.IsPOpenedThread));<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#160;&#160;&#160;&#160;t.Start();<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;)<br/><br/><br/>//===================================================================================================<br/>针对自定义解析字符串的思考:<br/><br/>1.ASTM协议:逐帧解析.用字符串分隔,截取.<br/>2.普通单帧协议:一般以[STX]开始,[ETX]结束,用字符串分割,或截取固定长度.(一般使用尿仪)<br/>2.普通多帧协议:一般以[ENQ]开始,[EOT]结束,每帧使用[STX]开始,[ETX]结束,用字符串分割,或截取固定长度.<br/>3.多帧协议:[STX]开始[ETX]结束,通道号,结果需要指定不同的字符串截取,通讯数据中不包含通道号,结果小数位需要外部指定.<br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.9shao.com/blog/article.asp?id=123" /> 
	  <id>http://www.9shao.com/blog/default.asp?id=123</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[编程日志]]></title>
	  <author>
		 <name>admin</name>
		 <uri>http://www.9shao.com/blog/</uri>
		 <email>jiushao@hotmail.com</email>
	  </author>
	  <category term="" scheme="http://www.9shao.com/blog/default.asp?cateID=4" label="漂在北京" /> 
	  <updated>2009-09-14T00:46:50+08:00</updated>
	  <published>2009-09-14T00:46:50+08:00</published>
		  <summary type="html"><![CDATA[20090329:更改数据库的连接方式,取消DSN和绝对路径链接数据库,改为使用OLE和相对路径连接数据库.<br/>20090330:仪器图标加右键菜单(通讯调试,启动接口,停止接口……)<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;多结果读取,使用Queue队列存放theSample.<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;界面分开调整<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;从数据库中取得仪器的解析协议<br/>20090401:关闭主界面以及串口关闭时,停止物理层和协议层线程.<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;记录各操作启动,停止时间<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;支持Http请求递交,可以支持Yondest接收WPDI.SaveResult结果<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;修改Form1界面图标及显示方式。<br/>20090402:增加了对结果的处理，可以将结果重新保存成文件进行存储。<br/>20090405:修改了ASTM协议，同时支持H7600带有ETB结尾的数据帧<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;美化了界面，增加自动启动，全部启动，全部停止功能。<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;可以设定结果的存储路径，将结果文件存储到指定位置。<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;在XML中设置仪器通讯信息(仪器发送接收字符和数据帧的数量)。<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;增加了初始化时间<br/>20090406:增加了使用Dll对使用时间的限制。<br/>20090407:正常，加急，质控结果标识；修改结果文件格式；使用说明文档修改。<br/>20090407:验证是否能正确打开pdf文件。使用加壳程序Sixxpack24.exe。确认需要.Net Framework2.0环境,Office2007驱动程序.<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;调试加密狗程序，写入仪器数量和日期的限制。<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;在主程序加入对仪器数量和日期限制的代码段。<br/>20090410:AU2700的单向调通，增加了结果去前后空格。<br/>20090411:AU2700双向调通。<br/>20090416:确定LDCI程序图标，和LOGO。双向ASTM协议的Query可以返回数据（包括找不到结果的），解决了得到仪器名的部分bug。<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;通讯协议设置(读取内存中的东西，而不是XML)<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;theOrder不采用数组存了，采用变量直接存，需要设成statick才可以。<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;定时删除以前的通讯数据和结果数据。<br/>20090808:Batch方式发送数据(通过ODBC从LIS3中取得Order信息)<br/>20090817:解决物理层通讯效率问题。（“将双向要发送数据的判断”和“接口是否开放以决定进程状态的判断”这两个条件放入了接收不到字符的时候的逻辑里去处理，这样避免了每接收一个字符就要判断一次的复杂逻辑，提高了运行效率）<br/>20090901:增加了可配置的解析协议,大体固定了XML文件的格式以及可以通过读取XML来解析不同结构的通讯数据.<br/>20090901:任务栏图标名称提示，加入了仪器名称。<br/>20090901:增加了对通道号和结果的二次处理，目前只支持&#34;T&#34;（用新的设定值替换原来的，主要用于通道号的转换上）<br/>20090901:增加了清除所有结果的按钮。<br/>20090901:对各个窗体的显示进行了优化，将文件结果，样本存储等内容放到一个单独的窗体中去进行设置。<br/>20090901:增加了对Access2003数据库的兼容，代码中如果连不上Access2007，则自动查找同名的Access2003数据库，并使用2003的库作为基础数据库。目的是为了兼容Win2000系统，因为2000的系统无法安装Office2007的驱动。<br/>20090904:将高级协议xml文件，固化在指定位置进行读取<br/>20090904:对FormMain中的panel的窗体内容在切换和关闭是进行释放<br/>20090914:接口启动时，将仪器设置相关信息加载到“指定对象中”，在数据解析过程中这些信息将不需要再调数据库来获取]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.9shao.com/blog/article.asp?id=122" /> 
	  <id>http://www.9shao.com/blog/default.asp?id=122</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[越来越像程序员了]]></title>
	  <author>
		 <name>admin</name>
		 <uri>http://www.9shao.com/blog/</uri>
		 <email>jiushao@hotmail.com</email>
	  </author>
	  <category term="" scheme="http://www.9shao.com/blog/default.asp?cateID=4" label="漂在北京" /> 
	  <updated>2009-09-08T12:17:50+08:00</updated>
	  <published>2009-09-08T12:17:50+08:00</published>
		  <summary type="html"><![CDATA[整天闷着头呆坐在电脑前边，不开QQ，不开MSN，不上开心网，不开任何现代化的通讯聊天工具。哦，除了手机，当然，手机偶尔也会没电的。<br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.9shao.com/blog/article.asp?id=121" /> 
	  <id>http://www.9shao.com/blog/default.asp?id=121</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[再去大连]]></title>
	  <author>
		 <name>admin</name>
		 <uri>http://www.9shao.com/blog/</uri>
		 <email>jiushao@hotmail.com</email>
	  </author>
	  <category term="" scheme="http://www.9shao.com/blog/default.asp?cateID=4" label="漂在北京" /> 
	  <updated>2009-06-25T17:18:16+08:00</updated>
	  <published>2009-06-25T17:18:16+08:00</published>
		  <summary type="html"><![CDATA[明早飞去大连……<br/>真急！]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.9shao.com/blog/article.asp?id=120" /> 
	  <id>http://www.9shao.com/blog/default.asp?id=120</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[看中了飞利浦的 240PW9]]></title>
	  <author>
		 <name>admin</name>
		 <uri>http://www.9shao.com/blog/</uri>
		 <email>jiushao@hotmail.com</email>
	  </author>
	  <category term="" scheme="http://www.9shao.com/blog/default.asp?cateID=4" label="漂在北京" /> 
	  <updated>2009-06-17T12:21:33+08:00</updated>
	  <published>2009-06-17T12:21:33+08:00</published>
		  <summary type="html"><![CDATA[it168的团购，可惜没赶上，25台，10分钟被顺秒了。郁闷。<br/>等月底吧……]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.9shao.com/blog/article.asp?id=119" /> 
	  <id>http://www.9shao.com/blog/default.asp?id=119</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[刘谦变硬币的魔术]]></title>
	  <author>
		 <name>admin</name>
		 <uri>http://www.9shao.com/blog/</uri>
		 <email>jiushao@hotmail.com</email>
	  </author>
	  <category term="" scheme="http://www.9shao.com/blog/default.asp?cateID=4" label="漂在北京" /> 
	  <updated>2009-02-10T12:18:52+08:00</updated>
	  <published>2009-02-10T12:18:52+08:00</published>
		  <summary type="html"><![CDATA[<img src="http://www.9shao.com/blog/attachments/month_0902/y2009210121737.JPG" border="0" alt=""/><br/>只是看到了硬币，通过录像可以看到白点随手移动，硬币不知道怎么被涂黑了，和桌布的颜色一样黑，不仔细看是看不到的。<br/>但仍不知道另外一枚硬币是如何变到杯子里的。]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.9shao.com/blog/article.asp?id=118" /> 
	  <id>http://www.9shao.com/blog/default.asp?id=118</id>
  </entry>	
		
</feed>
