<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_ASTAR Coming Now</title><subtitle type="text">时常仰望天空，乃知天高；时常鸟瞰大地，常感天地宽- 梦想皆有神助</subtitle><id>http://feed.cnblogs.com/blog/u/242/rss</id><updated>2011-01-07T14:16:59Z</updated><author><name>ASTAR Coming Now</name><uri>http://www.cnblogs.com/king_astar/</uri></author><generator>feed.cnblogs.com</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/king_astar/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/242/rss"/><entry><id>http://www.cnblogs.com/king_astar/archive/2010/10/12/1848532.html</id><title type="text">继承windows service的安装类出现的多余服务被安装的问题</title><summary type="text">最近开发了两个windows service的程序，由于有共同之处，因此我在第二个service的安装类中直接继承了第一个service的安装类。 结果发现用installutil工具对第二个service进行安装的时候，有多余的service被安装上去。ProjectInStaller 是继承了System.Configuration.Install.Installer. 它们在构造函数里面有一...</summary><published>2010-10-12T02:07:00Z</published><updated>2010-10-12T02:07:00Z</updated><author><name>ASTAR Coming Now</name><uri>http://www.cnblogs.com/king_astar/</uri></author><link rel="alternate" href="http://www.cnblogs.com/king_astar/archive/2010/10/12/1848532.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/king_astar/archive/2010/10/12/1848532.html"/><content type="html">&lt;p&gt;最近开发了两个windows service的程序，由于有共同之处，因此我在第二个service的安装类中直接继承了第一个service的安装类。 结果发现用installutil工具对第二个service进行安装的时候，有多余的service被安装上去。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;ProjectInStaller 是继承了System.Configuration.Install.Installer. 它们在构造函数里面有一个InitializeComponent函数，而在这个函数里面他们加载了SerivceInstaller，因此，如果第二service继承了第一个service，它就有两个ServiceInstall，因此会安装一个多余的service。解决方法很简单：在子类中的构造函数里面去掉InitializeComponent 就可以了。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/king_astar/aggbug/1848532.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/king_astar/archive/2010/10/12/1848532.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/king_astar/archive/2010/08/05/1793520.html</id><title type="text">List Sort 使用的注意几点</title><summary type="text">以前有个哥们好像写过类似的文章。当时没有注意，今天才发现有时候Sort时候真会带来麻烦。说说我遇到的麻烦： 我需要监控一个机器的状态，得到的数据类似： 1-PRD 8:30:00 2-STD 8:30:00 3-PRD 9:30:00 4-STD 9:31:00 我把数据都放在一个List&lt;StateItem&gt;容器里面，同时StateItem实现了IComparable接口，...</summary><published>2010-08-05T14:10:00Z</published><updated>2010-08-05T14:10:00Z</updated><author><name>ASTAR Coming Now</name><uri>http://www.cnblogs.com/king_astar/</uri></author><link rel="alternate" href="http://www.cnblogs.com/king_astar/archive/2010/08/05/1793520.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/king_astar/archive/2010/08/05/1793520.html"/><content type="html">&lt;p&gt;以前有个哥们好像写过类似的文章。当时没有注意，今天才发现有时候Sort时候真会带来麻烦。说说我遇到的麻烦：&lt;/p&gt; &lt;p&gt;我需要监控一个机器的状态，得到的数据类似：&lt;/p&gt; &lt;blockquote style='border:2px solid #EFEFEF;color:#333333;padding:5px 10px;'&gt; &lt;p&gt;1-PRD 8:30:00&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote style='border:2px solid #EFEFEF;color:#333333;padding:5px 10px;'&gt; &lt;p&gt;2-STD 8:30:00&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote style='border:2px solid #EFEFEF;color:#333333;padding:5px 10px;'&gt; &lt;p&gt;3-PRD 9:30:00&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote style='border:2px solid #EFEFEF;color:#333333;padding:5px 10px;'&gt; &lt;p&gt;4-STD 9:31:00&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;我把数据都放在一个List&amp;lt;StateItem&amp;gt;容器里面，同时StateItem实现了IComparable接口，是datetime来排序。其实数据过来时候也是按照时间来排序，但是我仍然做了Sort操作。&lt;/p&gt; &lt;p&gt;结果问题出现了，我出来的统计报表跟以前跑的报表由差距。&lt;/p&gt; &lt;p&gt;PRD time ： (2)-(1)+(4)-(3) = 1 Min&lt;/p&gt; &lt;p&gt;STD time : (3)-(2) = 1 hour&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;结果排序后，数据顺序成了（1）和（2）调换了，&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;blockquote style='border:2px solid #EFEFEF;color:#333333;padding:5px 10px;'&gt; &lt;p&gt;1-STD 8:30:00&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote style='border:2px solid #EFEFEF;color:#333333;padding:5px 10px;'&gt; &lt;p&gt;2-PRD 8:30:00&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote style='border:2px solid #EFEFEF;color:#333333;padding:5px 10px;'&gt; &lt;p&gt;3-PRD 9:30:00&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote style='border:2px solid #EFEFEF;color:#333333;padding:5px 10px;'&gt; &lt;p&gt;4-STD 9:31:00&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;PRD time ： (4)-(2) = 1 hour +1min&lt;/p&gt; &lt;p&gt;STD time : 0&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;结果大相径庭。 :(&lt;/p&gt; &lt;p&gt;&lt;strong&gt;总结：排序的时候要考虑到相同rank的情况。&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;另外一种情况是由于比较数接近造成的问题&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;int IComparable.CompareTo( stateItem item)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return Convert.Int32((this.datetime – item.datetime).TotalMinutes);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;好像没有错。但请考虑当totalMinutes&amp;lt;1为小数的情况，则无法判断两个对象的次序。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;OK，转成&lt;/p&gt; &lt;p&gt;return this.datetime.ticks.CompareTo(item.datetime.ticks);&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;enn….&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;关于排序的接口有2个：&lt;/p&gt; &lt;p&gt;1 IComparable&lt;/p&gt; &lt;p&gt;子项完成。&lt;/p&gt; &lt;p&gt;2. IComparer&lt;/p&gt; &lt;p&gt;容器完成&lt;/p&gt; &lt;p&gt;除此，Sort支持直接调用方法&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;ListExample.Sort(Method1);&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;public int Method1(item X, item Y)&lt;/p&gt; &lt;p&gt;{&lt;/p&gt; &lt;p&gt;…..&lt;/p&gt; &lt;p&gt;}&lt;/p&gt;&lt;img src="http://www.cnblogs.com/king_astar/aggbug/1793520.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/king_astar/archive/2010/08/05/1793520.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/king_astar/archive/2010/03/04/1678371.html</id><title type="text">Three collaboration teamwork Tools</title><summary type="text">- IBM Lotus Quickr (C/S, need license ) Introduction : https://slater.warwick.ac.uk/lotus/quickr/!ut/p/c0/04_SB8K8xLLM9MSSzPy8xBz9CP0os_hQJ29XlzBnI0N3YyNzAyMv51CngMBAI5MAY_2CbEdFAAPfjLs!/ - Office G...</summary><published>2010-03-04T07:39:00Z</published><updated>2010-03-04T07:39:00Z</updated><author><name>ASTAR Coming Now</name><uri>http://www.cnblogs.com/king_astar/</uri></author><link rel="alternate" href="http://www.cnblogs.com/king_astar/archive/2010/03/04/1678371.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/king_astar/archive/2010/03/04/1678371.html"/><content type="text">- IBM Lotus Quickr (C/S, need license ) Introduction : https://slater.warwick.ac.uk/lotus/quickr/!ut/p/c0/04_SB8K8xLLM9MSSzPy8xBz9CP0os_hQJ29XlzBnI0N3YyNzAyMv51CngMBAI5MAY_2CbEdFAAPfjLs!/ - Office G...</content></entry><entry><id>http://www.cnblogs.com/king_astar/archive/2010/03/03/1677049.html</id><title type="text">How to do &amp;lsquo;undo&amp;rsquo; in TortoiseSVN</title><summary type="text">In one project, I found current revision had some errors and want to come back a old revision, so I use ‘update to revision’, but It looks like it don’t work as I think. so how to roll back to a previ...</summary><published>2010-03-03T03:22:00Z</published><updated>2010-03-03T03:22:00Z</updated><author><name>ASTAR Coming Now</name><uri>http://www.cnblogs.com/king_astar/</uri></author><link rel="alternate" href="http://www.cnblogs.com/king_astar/archive/2010/03/03/1677049.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/king_astar/archive/2010/03/03/1677049.html"/><content type="text">In one project, I found current revision had some errors and want to come back a old revision, so I use ‘update to revision’, but It looks like it don’t work as I think. so how to roll back to a previ...</content></entry><entry><id>http://www.cnblogs.com/king_astar/archive/2010/03/03/1677042.html</id><title type="text">How to resolve conflicts in TortoiseSVN</title><summary type="text">Sometimes, after we update our files from repository, we’ll meet this problem. If you open file, you will find it’s hard to understand and correct them. &lt;&lt;&lt;&lt;&lt;&lt;&lt; .mine 3 modifuy===...</summary><published>2010-03-03T03:19:00Z</published><updated>2010-03-03T03:19:00Z</updated><author><name>ASTAR Coming Now</name><uri>http://www.cnblogs.com/king_astar/</uri></author><link rel="alternate" href="http://www.cnblogs.com/king_astar/archive/2010/03/03/1677042.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/king_astar/archive/2010/03/03/1677042.html"/><content type="text">Sometimes, after we update our files from repository, we’ll meet this problem. If you open file, you will find it’s hard to understand and correct them. &lt;&lt;&lt;&lt;&lt;&lt;&lt; .mine 3 modifuy===...</content></entry><entry><id>http://www.cnblogs.com/king_astar/archive/2009/10/29/1592416.html</id><title type="text">如何：.NET 组件/控件在设计时的调试</title><summary type="text">本文主要介绍如何在设计时对组件的调试，多数情况开发人员用MessgeBox来弹出信息进行调试，但无法进入到代码内部。因此本文以图解的方式来介绍。本文参考了微软MSDN中《演练：设计时调试自定义 Windows 窗体控件》，鉴于其中文版翻译很晦涩，建议大家参考本文 背景知识介绍 需要了解组件和控件的区别, 组件编程的大概方向,以及.NET提供哪些服务（组件）来支持组件编程及设计时的事件。 有兴趣可...</summary><published>2009-10-29T08:56:00Z</published><updated>2009-10-29T08:56:00Z</updated><author><name>ASTAR Coming Now</name><uri>http://www.cnblogs.com/king_astar/</uri></author><link rel="alternate" href="http://www.cnblogs.com/king_astar/archive/2009/10/29/1592416.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/king_astar/archive/2009/10/29/1592416.html"/><content type="text">本文主要介绍如何在设计时对组件的调试，多数情况开发人员用MessgeBox来弹出信息进行调试，但无法进入到代码内部。因此本文以图解的方式来介绍。本文参考了微软MSDN中《演练：设计时调试自定义 Windows 窗体控件》，鉴于其中文版翻译很晦涩，建议大家参考本文 背景知识介绍 需要了解组件和控件的区别, 组件编程的大概方向,以及.NET提供哪些服务（组件）来支持组件编程及设计时的事件。 有兴趣可...</content></entry><entry><id>http://www.cnblogs.com/king_astar/archive/2009/10/29/1592398.html</id><title type="text">Outlook2007 addin开发必读-菜单定制篇</title><summary type="text">介绍自从微软开始推出VSTO以后，我们就更容易在此基础上面开发Add-in程序。对VSTO的介绍，大家可以看看这篇文章：VSTO简介及发展。本文例子是基于VSTO 3.0上进行的开发。本文是在微软《Customizing the Ribbon in Outlook 2007》 基础上加入自己的实践和想法，供大家参考。 这段文字是来至于：Http://msdn.microsoft.com/zh-cn...</summary><published>2009-10-29T08:35:00Z</published><updated>2009-10-29T08:35:00Z</updated><author><name>ASTAR Coming Now</name><uri>http://www.cnblogs.com/king_astar/</uri></author><link rel="alternate" href="http://www.cnblogs.com/king_astar/archive/2009/10/29/1592398.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/king_astar/archive/2009/10/29/1592398.html"/><content type="text">介绍自从微软开始推出VSTO以后，我们就更容易在此基础上面开发Add-in程序。对VSTO的介绍，大家可以看看这篇文章：VSTO简介及发展。本文例子是基于VSTO 3.0上进行的开发。本文是在微软《Customizing the Ribbon in Outlook 2007》 基础上加入自己的实践和想法，供大家参考。 这段文字是来至于：Http://msdn.microsoft.com/zh-cn...</content></entry><entry><id>http://www.cnblogs.com/king_astar/archive/2009/10/13/1582375.html</id><title type="text">Perl 对象化编程的实现</title><summary type="text">缘由 最近反过头来看Perl，一方面是我的客户厂家用Perl开发了很多东西，另一方面在了解过程中，又复习了Perl语言，并且有了一些心得。记录下来，供大家参考。 我在做一个小程序，就是解析一个文本文件，将其中的内容进行处理，并保存在另一个文件。 背景知识 1. Perl的对象化编程实现 请参考阅读： O'Reilly - Advanced Perl Programming.pdf - 第7章 [...</summary><published>2009-10-13T04:55:00Z</published><updated>2009-10-13T04:55:00Z</updated><author><name>ASTAR Coming Now</name><uri>http://www.cnblogs.com/king_astar/</uri></author><link rel="alternate" href="http://www.cnblogs.com/king_astar/archive/2009/10/13/1582375.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/king_astar/archive/2009/10/13/1582375.html"/><content type="text">缘由 最近反过头来看Perl，一方面是我的客户厂家用Perl开发了很多东西，另一方面在了解过程中，又复习了Perl语言，并且有了一些心得。记录下来，供大家参考。 我在做一个小程序，就是解析一个文本文件，将其中的内容进行处理，并保存在另一个文件。 背景知识 1. Perl的对象化编程实现 请参考阅读： O'Reilly - Advanced Perl Programming.pdf - 第7章 [...</content></entry><entry><id>http://www.cnblogs.com/king_astar/archive/2009/09/28/1576041.html</id><title type="text">VC++ 6.0 与VS2008 C++ DEBUG工具（Windows）介绍</title><summary type="text">在VC++ 6.0 里面，debug工具有这些： 请看大图展示： 这里面几个工具都是经常用到的。比如：上下文信息，可以查看当前变量的值和地址Memory： 可以输入地址查看里面的内容。对调试和检查指针特别有用。 在vs2008里面，debug做为单独的主要菜单出现了。 1.Autos自动显示目前执行语句与上一行的各个参数2.locals显示当前函数内所有变量的情况3.watch，输入变量查看这三...</summary><published>2009-09-28T15:15:00Z</published><updated>2009-09-28T15:15:00Z</updated><author><name>ASTAR Coming Now</name><uri>http://www.cnblogs.com/king_astar/</uri></author><link rel="alternate" href="http://www.cnblogs.com/king_astar/archive/2009/09/28/1576041.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/king_astar/archive/2009/09/28/1576041.html"/><content type="text">在VC++ 6.0 里面，debug工具有这些： 请看大图展示： 这里面几个工具都是经常用到的。比如：上下文信息，可以查看当前变量的值和地址Memory： 可以输入地址查看里面的内容。对调试和检查指针特别有用。 在vs2008里面，debug做为单独的主要菜单出现了。 1.Autos自动显示目前执行语句与上一行的各个参数2.locals显示当前函数内所有变量的情况3.watch，输入变量查看这三...</content></entry><entry><id>http://www.cnblogs.com/king_astar/archive/2009/09/27/1575107.html</id><title type="text">C++ 如何获取目录下面的文件/文件的创建时间</title><summary type="text">我手上有一个C++程序会生成一些临时文件,过期以后希望能够删除. 到达成这个目的,我需要做到: 根据提供的路径, 列取所有文件,并比较现在时间跟其创建时间的差,如果超过N天,则删除. 问题分解开来是: 1. 取得某个目录下面所有文件 2. 取得文件的创建日期 3. 取得当前日期跟其创建的日期差 4. 删除文件 为此,我写了一个小程序来测试 1: // TestFileFunction.cpp :...</summary><published>2009-09-27T08:51:00Z</published><updated>2009-09-27T08:51:00Z</updated><author><name>ASTAR Coming Now</name><uri>http://www.cnblogs.com/king_astar/</uri></author><link rel="alternate" href="http://www.cnblogs.com/king_astar/archive/2009/09/27/1575107.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/king_astar/archive/2009/09/27/1575107.html"/><content type="text">我手上有一个C++程序会生成一些临时文件,过期以后希望能够删除. 到达成这个目的,我需要做到: 根据提供的路径, 列取所有文件,并比较现在时间跟其创建时间的差,如果超过N天,则删除. 问题分解开来是: 1. 取得某个目录下面所有文件 2. 取得文件的创建日期 3. 取得当前日期跟其创建的日期差 4. 删除文件 为此,我写了一个小程序来测试 1: // TestFileFunction.cpp :...</content></entry></feed>
