﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客园-挑战自我,超越无限</title><link>http://www.cnblogs.com/happy555/</link><description /><language>zh-cn</language><lastBuildDate>Mon, 06 Oct 2008 20:40:33 GMT</lastBuildDate><pubDate>Mon, 06 Oct 2008 20:40:33 GMT</pubDate><ttl>60</ttl><item><title>VS2005中BackgroundWorker组件的使用经验</title><link>http://www.cnblogs.com/happy555/archive/2007/11/07/952315.html</link><dc:creator>蓝色力量</dc:creator><author>蓝色力量</author><pubDate>Wed, 07 Nov 2007 08:32:00 GMT</pubDate><guid>http://www.cnblogs.com/happy555/archive/2007/11/07/952315.html</guid><wfw:comment>http://www.cnblogs.com/happy555/comments/952315.html</wfw:comment><comments>http://www.cnblogs.com/happy555/archive/2007/11/07/952315.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.cnblogs.com/happy555/comments/commentRss/952315.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/happy555/services/trackbacks/952315.html</trackback:ping><description><![CDATA[<p align="left">&nbsp;&nbsp;&nbsp; 在VS2005中添加了<span id="nsrTitle">BackgroundWorker</span>组件，该组件在多线程编程方面使用起来非常方便，然而在开始时由于没有搞清楚它的使用机制，走了不少的弯路，现在把我在使用它的过程中的经验与诸位分享一下。<br />
&nbsp;&nbsp;&nbsp; <span id="nsrTitle">BackgroundWorker</span>类中主要用到的有这列属性、方法和事件：<br />
&nbsp;&nbsp;&nbsp; 重要属性：<br />
&nbsp;&nbsp;&nbsp; 1、CancellationPending&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;获取一个值，指示应用程序是否已请求取消后台操作。通过在DoWork事件中判断CancellationPending属性可以认定是否需要取消后台操作（也就是结束线程）；<br />
&nbsp;&nbsp;&nbsp; 2、IsBusy&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;获取一个值，指示 BackgroundWorker 是否正在运行异步操作。程序中使用IsBusy属性用来确定后台操作是否正在使用中；<br />
&nbsp;&nbsp;&nbsp; 3、WorkerReportsProgress&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;获取或设置一个值，该值指示BackgroundWorker能否报告进度更新<br />
&nbsp;&nbsp;&nbsp; 4、WorkerSupportsCancellation&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获取或设置一个值，该值指示 BackgroundWorker 是否支持异步取消。设置WorkerSupportsCancellation为true使得程序可以调用CancelAsync方法提交终止挂起的后台操作的请求；<br />
&nbsp;&nbsp;&nbsp; 重要方法：<br />
&nbsp;&nbsp;&nbsp; 1、CancelAsync&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;请求取消挂起的后台操作<br />
&nbsp;&nbsp;&nbsp; 2、RunWorkerAsync&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;开始执行后台操作<br />
&nbsp;&nbsp;&nbsp; 3、ReportProgress&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;引发ProgressChanged事件&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp; 重要事件：<br />
&nbsp;&nbsp;&nbsp; 1、DoWork&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;调用 RunWorkerAsync 时发生<br />
&nbsp;&nbsp;&nbsp; 2、ProgressChanged&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;调用 ReportProgress 时发生<br />
&nbsp;&nbsp;&nbsp; 3、RunWorkerCompleted&nbsp;&nbsp;当后台操作已完成、被取消或引发异常时发生<br />
&nbsp;&nbsp;&nbsp; 另外还有三个重要的参数是RunWorkerCompletedEventArgs以及DoWorkEventArgs、ProgressChangedEventArgs。<br />
<span id="nsrTitle">&nbsp;&nbsp;&nbsp; BackgroundWorker的各属性、方法、事件的调用机制和顺序：<br />
<img height="392" alt="" src="http://www.cnblogs.com/images/cnblogs_com/happy555/backgroundworker.jpg" width="416" border="0" /><br />
&nbsp;&nbsp;&nbsp; 从上图可见在整个生活周期内发生了3次重要的参数传递过程：<br />
&nbsp;&nbsp;&nbsp; 参数传递1：此次的参数传递是将RunWorkerAsync(Object)中的Object传递到DoWork事件的DoWorkEventArgs.Argument,由于在这里只有一个参数可以传递，所以在实际应用往封装一个类，将整个实例化的类作为RunWorkerAsync的Object传递到DoWorkEventArgs.Argument；<br />
&nbsp;&nbsp;&nbsp; 参数传递2：此次是将程序运行进度传递给ProgressChanged事件，实际使用中往往使用给方法和事件更新进度条或者日志信息；<br />
&nbsp;&nbsp;&nbsp; 参数传递3：在DoWork事件结束之前，将后台线程产生的结果数据赋给DoWorkEventArgs.Result一边在RunWorkerCompleted事件中调用<span id="nsrTitle">RunWorkerCompletedEventArgs.Result属性取得后台线程产生的结果。<br />
&nbsp;&nbsp;&nbsp; 另外从上图可以看到DoWork事件是在后台线程中运行的，所以在该事件中不能够操作用户界面的内容，如果需要更新用户界面，可以使用ProgressChanged事件及RunWorkCompleted事件来实现。</span></span></p>
<p><span><span>&nbsp;&nbsp;&nbsp; 明白了BagkgroundWorker的事件调用顺序和参数传递机制之后在使用该组件用于多线程编程的时候就可以轻松许多了。详细的实例可以在我写的天涯离线浏览器中看到。</span></span></p>
<img src ="http://www.cnblogs.com/happy555/aggbug/952315.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42809/" target="_blank">[新闻]51.COM技术副总裁邵辉跳槽百度</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>天涯离线浏览器（更新版）</title><link>http://www.cnblogs.com/happy555/archive/2007/11/07/952195.html</link><dc:creator>蓝色力量</dc:creator><author>蓝色力量</author><pubDate>Wed, 07 Nov 2007 07:10:00 GMT</pubDate><guid>http://www.cnblogs.com/happy555/archive/2007/11/07/952195.html</guid><wfw:comment>http://www.cnblogs.com/happy555/comments/952195.html</wfw:comment><comments>http://www.cnblogs.com/happy555/archive/2007/11/07/952195.html#Feedback</comments><slash:comments>17</slash:comments><wfw:commentRss>http://www.cnblogs.com/happy555/comments/commentRss/952195.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/happy555/services/trackbacks/952195.html</trackback:ping><description><![CDATA[摘要: 实现天涯社区只看楼主功能，并可以保存所有楼主发帖到文件中，可以自定义天涯频道目录。程序主要采用了正则表达式来分析网页，采用多线程来加快浏览速度。&nbsp;&nbsp;<a href='http://www.cnblogs.com/happy555/archive/2007/11/07/952195.html'>阅读全文</a><img src ="http://www.cnblogs.com/happy555/aggbug/952195.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42809/" target="_blank">[新闻]51.COM技术副总裁邵辉跳槽百度</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>天涯社区离线阅读器（实现只看楼主功能）</title><link>http://www.cnblogs.com/happy555/archive/2007/10/08/916818.html</link><dc:creator>蓝色力量</dc:creator><author>蓝色力量</author><pubDate>Mon, 08 Oct 2007 03:46:00 GMT</pubDate><guid>http://www.cnblogs.com/happy555/archive/2007/10/08/916818.html</guid><wfw:comment>http://www.cnblogs.com/happy555/comments/916818.html</wfw:comment><comments>http://www.cnblogs.com/happy555/archive/2007/10/08/916818.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/happy555/comments/commentRss/916818.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/happy555/services/trackbacks/916818.html</trackback:ping><description><![CDATA[长期逛天涯社区，许多的经典的帖子都有许多页，而且里面还夹杂了大量的回复或者广告，不能像MOP一样只看楼主，这样阅读起来非常不便，故此写了一个小程序实现离线阅读并只看楼主功能。实现的思路是通过<font face="Verdana">HttpWebRequest</font>取得要查看的网页内容，然后用正则表达式将其中感性趣的部分取出来，我主要取了分页信息，同时分离出了各贴以及作者，这样可以实现查看任意一个人帖子的功能，如果需要的话可以将取出的数据保存在本地硬盘中以方便查看，在这个程序没有作本地保存。程序中的主要代码部分有：<br />
1、从指定网址下载网页<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;Get_SourceHtml(</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;a_strUrl)<br />
<img id="Codehighlighter1_62_720_Open_Image" onclick="this.style.display='none'; Codehighlighter1_62_720_Open_Text.style.display='none'; Codehighlighter1_62_720_Closed_Image.style.display='inline'; Codehighlighter1_62_720_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_62_720_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_62_720_Closed_Text.style.display='none'; Codehighlighter1_62_720_Open_Image.style.display='inline'; Codehighlighter1_62_720_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_62_720_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_62_720_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;strResult;<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000"><br />
<img id="Codehighlighter1_123_569_Open_Image" onclick="this.style.display='none'; Codehighlighter1_123_569_Open_Text.style.display='none'; Codehighlighter1_123_569_Closed_Image.style.display='inline'; Codehighlighter1_123_569_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_123_569_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_123_569_Closed_Text.style.display='none'; Codehighlighter1_123_569_Open_Image.style.display='inline'; Codehighlighter1_123_569_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_123_569_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_123_569_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HttpWebRequest&nbsp;myReq&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;(HttpWebRequest)HttpWebRequest.Create(a_strUrl);<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;myReq.Timeout&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">60000</span><span style="color: #000000">;<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HttpWebResponse&nbsp;HttpWResp&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;(HttpWebResponse)myReq.GetResponse();<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Stream&nbsp;myStream&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;HttpWResp.GetResponseStream();<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;StreamReader&nbsp;sr&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;StreamReader(myStream,&nbsp;Encoding.Default);<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strResult&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;sr.ReadToEnd();<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;myStream.Close();<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(Exception&nbsp;exp)<br />
<img id="Codehighlighter1_617_680_Open_Image" onclick="this.style.display='none'; Codehighlighter1_617_680_Open_Text.style.display='none'; Codehighlighter1_617_680_Closed_Image.style.display='inline'; Codehighlighter1_617_680_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_617_680_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_617_680_Closed_Text.style.display='none'; Codehighlighter1_617_680_Open_Image.style.display='inline'; Codehighlighter1_617_680_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_617_680_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_617_680_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strResult&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">错误：</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;exp.Message;<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;strResult;<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></div>
2、分离出帖子正文<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;SplitHtml(</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;htmlContent)<br />
<img id="Codehighlighter1_60_941_Open_Image" onclick="this.style.display='none'; Codehighlighter1_60_941_Open_Text.style.display='none'; Codehighlighter1_60_941_Closed_Image.style.display='inline'; Codehighlighter1_60_941_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_60_941_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_60_941_Closed_Text.style.display='none'; Codehighlighter1_60_941_Open_Image.style.display='inline'; Codehighlighter1_60_941_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_60_941_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_60_941_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;result&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">htmlContent;<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">剪切掉正文后面的内容</span><span style="color: #008000"><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Regex&nbsp;regexObj&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Regex(</span><span style="color: #000000">"</span><span style="color: #000000">&lt;/div&gt;&lt;center&gt;</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Match&nbsp;m&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;regexObj.Match(result);<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(m.Value&nbsp;</span><span style="color: #000000">!=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">.Empty)<br />
<img id="Codehighlighter1_287_372_Open_Image" onclick="this.style.display='none'; Codehighlighter1_287_372_Open_Text.style.display='none'; Codehighlighter1_287_372_Closed_Image.style.display='inline'; Codehighlighter1_287_372_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_287_372_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_287_372_Closed_Text.style.display='none'; Codehighlighter1_287_372_Open_Image.style.display='inline'; Codehighlighter1_287_372_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_287_372_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_287_372_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;result.Substring(</span><span style="color: #000000">0</span><span style="color: #000000">,&nbsp;result.IndexOf(m.Value));<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">清除掉广告</span><span style="color: #008000"><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;regexObj&nbsp;</span><span style="color: #000000">=</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Regex(</span><span style="color: #000000">@"</span><span style="color: #000000">&lt;center&gt;&lt;IFRAME(.|\s)+?&lt;/IFRAME&gt;&lt;/center&gt;</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result</span><span style="color: #000000">=</span><span style="color: #000000">regexObj.Replace(result,</span><span style="color: #000000">""</span><span style="color: #000000">);<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">剪切掉正文前面的内容<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">regexObj&nbsp;=&nbsp;new&nbsp;Regex("&lt;TABLE&nbsp;align=center&nbsp;border=0&nbsp;cellSpacing=0&nbsp;width='100%'&gt;");</span><span style="color: #008000"><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;regexObj&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Regex(</span><span style="color: #000000">@"</span><span style="color: #000000">&lt;span&nbsp;id='AddMyDigest'&gt;&lt;/span&gt;</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;regexObj.Match(result);<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(m.Value&nbsp;</span><span style="color: #000000">!=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">.Empty)<br />
<img id="Codehighlighter1_821_903_Open_Image" onclick="this.style.display='none'; Codehighlighter1_821_903_Open_Text.style.display='none'; Codehighlighter1_821_903_Closed_Image.style.display='inline'; Codehighlighter1_821_903_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_821_903_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_821_903_Closed_Text.style.display='none'; Codehighlighter1_821_903_Open_Image.style.display='inline'; Codehighlighter1_821_903_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_821_903_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_821_903_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;result.Substring(result.IndexOf(m.Value));<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;result;<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></div>
3、获取指定作者的发帖在本地生成新的Html文件以便在程序内嵌浏览器中查看<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;GetAuthorsContent(</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;SourceHtml,&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;AuthorName)<br />
<img id="Codehighlighter1_86_1450_Open_Image" onclick="this.style.display='none'; Codehighlighter1_86_1450_Open_Text.style.display='none'; Codehighlighter1_86_1450_Closed_Image.style.display='inline'; Codehighlighter1_86_1450_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_86_1450_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_86_1450_Closed_Text.style.display='none'; Codehighlighter1_86_1450_Open_Image.style.display='inline'; Codehighlighter1_86_1450_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_86_1450_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_86_1450_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;StringBuilder&nbsp;html&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;StringBuilder();<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;html.Append(</span><span style="color: #000000">"</span><span style="color: #000000">&lt;Html&gt;&lt;body&gt;</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SourceHtml&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;SplitHtml(SourceHtml);<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Regex&nbsp;r&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Regex(</span><span style="color: #000000">@"</span><span style="color: #000000">&lt;TABLE(.|\s)+?&lt;/table&gt;</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MatchCollection&nbsp;ms&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;r.Matches(SourceHtml);<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">;&nbsp;i&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">&nbsp;ms.Count&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">2</span><span style="color: #000000">;&nbsp;i</span><span style="color: #000000">++</span><span style="color: #000000">)<br />
<img id="Codehighlighter1_415_1360_Open_Image" onclick="this.style.display='none'; Codehighlighter1_415_1360_Open_Text.style.display='none'; Codehighlighter1_415_1360_Closed_Image.style.display='inline'; Codehighlighter1_415_1360_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_415_1360_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_415_1360_Closed_Text.style.display='none'; Codehighlighter1_415_1360_Open_Image.style.display='inline'; Codehighlighter1_415_1360_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_415_1360_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_415_1360_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Match&nbsp;m&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;ms[i];<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;start&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;SourceHtml.IndexOf(m.Value)&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;m.Value.Length;<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;title&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;m.Value;<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Regex&nbsp;re&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Regex(</span><span style="color: #000000">@"</span><span style="color: #000000">k&gt;(.|\s)+?&lt;</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Match&nbsp;m1&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;re.Match(title);<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;author&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;m1.Value;<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(author.Length&nbsp;</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">)<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;author&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;author.Substring(</span><span style="color: #000000">2</span><span style="color: #000000">,&nbsp;author.IndexOf(</span><span style="color: #000000">"</span><span style="color: #000000">&lt;</span><span style="color: #000000">"</span><span style="color: #000000">)&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">2</span><span style="color: #000000">);<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(author&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;AuthorName)<br />
<img id="Codehighlighter1_879_1346_Open_Image" onclick="this.style.display='none'; Codehighlighter1_879_1346_Open_Text.style.display='none'; Codehighlighter1_879_1346_Closed_Image.style.display='inline'; Codehighlighter1_879_1346_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_879_1346_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_879_1346_Closed_Text.style.display='none'; Codehighlighter1_879_1346_Open_Image.style.display='inline'; Codehighlighter1_879_1346_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_879_1346_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_879_1346_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;html.Append(title);<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Match&nbsp;NextMatch&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;ms[i&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">1</span><span style="color: #000000">];<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;content;<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(NextMatch&nbsp;</span><span style="color: #000000">!=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">)<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;content&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;SourceHtml.Substring(start,&nbsp;SourceHtml.IndexOf(NextMatch.Value)&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">&nbsp;start);<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">else</span><span style="color: #000000"><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;content&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;SourceHtml.Substring(start);<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;html.Append(content);<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;html.Append(</span><span style="color: #000000">"</span><span style="color: #000000">&lt;br&gt;</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;html.Append(</span><span style="color: #000000">"</span><span style="color: #000000">&lt;/body&gt;&lt;/html&gt;</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;html.ToString();<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></div>
4、获取分页数据<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;List</span><span style="color: #000000">&lt;</span><span style="color: #000000">PageData</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;GetPages(</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;SourceHtml)<br />
<img id="Codehighlighter1_66_775_Open_Image" onclick="this.style.display='none'; Codehighlighter1_66_775_Open_Text.style.display='none'; Codehighlighter1_66_775_Closed_Image.style.display='inline'; Codehighlighter1_66_775_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_66_775_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_66_775_Closed_Text.style.display='none'; Codehighlighter1_66_775_Open_Image.style.display='inline'; Codehighlighter1_66_775_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_66_775_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_66_775_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SourceHtml</span><span style="color: #000000">=</span><span style="color: #000000">SplitHtml(SourceHtml);<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Regex&nbsp;r&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Regex(</span><span style="color: #000000">@"</span><span style="color: #000000">http:.+?((\[\d+\])|首页)</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MatchCollection&nbsp;ms&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;r.Matches(SourceHtml);<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;List</span><span style="color: #000000">&lt;</span><span style="color: #000000">PageData</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;pages&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;List</span><span style="color: #000000">&lt;</span><span style="color: #000000">PageData</span><span style="color: #000000">&gt;</span><span style="color: #000000">();<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">foreach</span><span style="color: #000000">&nbsp;(Match&nbsp;m&nbsp;</span><span style="color: #0000ff">in</span><span style="color: #000000">&nbsp;ms)<br />
<img id="Codehighlighter1_341_738_Open_Image" onclick="this.style.display='none'; Codehighlighter1_341_738_Open_Text.style.display='none'; Codehighlighter1_341_738_Closed_Image.style.display='inline'; Codehighlighter1_341_738_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_341_738_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_341_738_Closed_Text.style.display='none'; Codehighlighter1_341_738_Open_Image.style.display='inline'; Codehighlighter1_341_738_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_341_738_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_341_738_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;r&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Regex(</span><span style="color: #000000">"</span><span style="color: #000000">&gt;&lt;.+?&gt;</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;s&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;r.Replace(m.Value,&nbsp;</span><span style="color: #000000">""</span><span style="color: #000000">);<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;s.Replace(</span><span style="color: #000000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">""</span><span style="color: #000000">);<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(s.IndexOf(</span><span style="color: #000000">"</span><span style="color: #000000">首页</span><span style="color: #000000">"</span><span style="color: #000000">)&nbsp;</span><span style="color: #000000">&gt;=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">)<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pages.Add(</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;PageData(s.Substring(</span><span style="color: #000000">0</span><span style="color: #000000">,&nbsp;s.IndexOf(</span><span style="color: #000000">"</span><span style="color: #000000">首页</span><span style="color: #000000">"</span><span style="color: #000000">)),</span><span style="color: #000000">"</span><span style="color: #000000">首页</span><span style="color: #000000">"</span><span style="color: #000000">));<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">else</span><span style="color: #000000"><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pages.Add(</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;PageData(s.Substring(</span><span style="color: #000000">0</span><span style="color: #000000">,s.IndexOf(</span><span style="color: #000000">"</span><span style="color: #000000">[</span><span style="color: #000000">"</span><span style="color: #000000">)),s.Substring(s.IndexOf(</span><span style="color: #000000">"</span><span style="color: #000000">[</span><span style="color: #000000">"</span><span style="color: #000000">))));<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;pages;<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></div>
<br />
<a href="/Files/happy555/TianYaCrawler.rar">完整源代码点击下载</a><a title="天涯社区离线阅读器" href="/Files/happy555/TianYaCrawler.rar"></a>
<img src ="http://www.cnblogs.com/happy555/aggbug/916818.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42807/" target="_blank">[新闻]Mono 2.0终于到来</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>在C#中跨线程访问Winform控件</title><link>http://www.cnblogs.com/happy555/archive/2007/05/18/751110.html</link><dc:creator>蓝色力量</dc:creator><author>蓝色力量</author><pubDate>Fri, 18 May 2007 01:58:00 GMT</pubDate><guid>http://www.cnblogs.com/happy555/archive/2007/05/18/751110.html</guid><wfw:comment>http://www.cnblogs.com/happy555/comments/751110.html</wfw:comment><comments>http://www.cnblogs.com/happy555/archive/2007/05/18/751110.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/happy555/comments/commentRss/751110.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/happy555/services/trackbacks/751110.html</trackback:ping><description><![CDATA[摘要: 在程序需要读取CAD文件列表中的文件信息，这是一个非常费时的操作，所以希望通过多线程的方式来实现，并且可以随时中止。由于初次使用多线程，开始的时候采用独立的线程类，该类返回数据，在Thread.Join()方法等待线程结束后写入数据到窗体控件中，结果和单线程没有什么区别；后来查看资料通过使用MethodInvoker解决了这一问题，但是对于线程处理还是概念非常模糊，大家谁有这方面的心得、资料等共享学习学习。<br>&nbsp;&nbsp;<a href='http://www.cnblogs.com/happy555/archive/2007/05/18/751110.html'>阅读全文</a><img src ="http://www.cnblogs.com/happy555/aggbug/751110.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42808/" target="_blank">[新闻]百度任命李一男担任首席技术官</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>利用C#进行AutoCAD的二次开发(转）</title><link>http://www.cnblogs.com/happy555/archive/2007/05/17/750457.html</link><dc:creator>蓝色力量</dc:creator><author>蓝色力量</author><pubDate>Thu, 17 May 2007 09:42:00 GMT</pubDate><guid>http://www.cnblogs.com/happy555/archive/2007/05/17/750457.html</guid><wfw:comment>http://www.cnblogs.com/happy555/comments/750457.html</wfw:comment><comments>http://www.cnblogs.com/happy555/archive/2007/05/17/750457.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/happy555/comments/commentRss/750457.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/happy555/services/trackbacks/750457.html</trackback:ping><description><![CDATA[摘要: 准备搞一个CAD图形批打印的小程序，结果对于在C#中调用AutoCAD老是出错，就在网上找到了这篇文章，它对我有帮助，希望也能对大家使用COM组件时有启发&nbsp;&nbsp;<a href='http://www.cnblogs.com/happy555/archive/2007/05/17/750457.html'>阅读全文</a><img src ="http://www.cnblogs.com/happy555/aggbug/750457.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42805/" target="_blank">[新闻]Google Knol 开始尝试有声版</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>ASP.NET2.0下为GridView添加鼠标滑过（onmouseover、onmouseout）的行颜色高亮效果！</title><link>http://www.cnblogs.com/happy555/archive/2007/05/15/746876.html</link><dc:creator>蓝色力量</dc:creator><author>蓝色力量</author><pubDate>Tue, 15 May 2007 03:08:00 GMT</pubDate><guid>http://www.cnblogs.com/happy555/archive/2007/05/15/746876.html</guid><wfw:comment>http://www.cnblogs.com/happy555/comments/746876.html</wfw:comment><comments>http://www.cnblogs.com/happy555/archive/2007/05/15/746876.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/happy555/comments/commentRss/746876.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/happy555/services/trackbacks/746876.html</trackback:ping><description><![CDATA[<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">protected</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;GridView1_RowDataBound(</span><span style="COLOR: #0000ff">object</span><span style="COLOR: #000000">&nbsp;sender,&nbsp;GridViewRowEventArgs&nbsp;e)<br><img id=Codehighlighter1_81_1341_Open_Image onclick="this.style.display='none'; Codehighlighter1_81_1341_Open_Text.style.display='none'; Codehighlighter1_81_1341_Closed_Image.style.display='inline'; Codehighlighter1_81_1341_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_81_1341_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_81_1341_Closed_Text.style.display='none'; Codehighlighter1_81_1341_Open_Image.style.display='inline'; Codehighlighter1_81_1341_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_81_1341_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"></span><span id=Codehighlighter1_81_1341_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">将满足特定条件的行标为高亮</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(e.Row.RowType&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;DataControlRowType.DataRow)</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">判定当前的行是否属于datarow类型的行</span><span style="COLOR: #008000"><br><img id=Codehighlighter1_195_622_Open_Image onclick="this.style.display='none'; Codehighlighter1_195_622_Open_Text.style.display='none'; Codehighlighter1_195_622_Closed_Image.style.display='inline'; Codehighlighter1_195_622_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_195_622_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_195_622_Closed_Text.style.display='none'; Codehighlighter1_195_622_Open_Image.style.display='inline'; Codehighlighter1_195_622_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_195_622_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"></span><span id=Codehighlighter1_195_622_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;pice</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;Convert.ToInt32(DataBinder.Eval(e.Row.DataItem,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">pice</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">));</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">取当前行的列值</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(pce&lt;10</span><span style="COLOR: #000000">)<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.Row.BackColor&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;Color.Red;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">加入鼠标滑过的高亮效果</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(e.Row.RowType&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;DataControlRowType.DataRow)</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">判定当前的行是否属于datarow类型的行</span><span style="COLOR: #008000"><br><img id=Codehighlighter1_734_1097_Open_Image onclick="this.style.display='none'; Codehighlighter1_734_1097_Open_Text.style.display='none'; Codehighlighter1_734_1097_Closed_Image.style.display='inline'; Codehighlighter1_734_1097_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_734_1097_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_734_1097_Closed_Text.style.display='none'; Codehighlighter1_734_1097_Open_Image.style.display='inline'; Codehighlighter1_734_1097_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_734_1097_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"></span><span id=Codehighlighter1_734_1097_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">当鼠标放上去的时候&nbsp;先保存当前行的背景颜色&nbsp;并给附一颜色</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.Row.Attributes.Add(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">onmouseover</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">currentcolor=this.style.backgroundColor;this.style.backgroundColor='yellow',this.style.fontWeight='';</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">当鼠标离开的时候&nbsp;将背景颜色还原的以前的颜色</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.Row.Attributes.Add(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">onmouseout</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">this.style.backgroundColor=currentcolor,this.style.fontWeight='';</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);&nbsp;&nbsp;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">单击行改变行背景颜色</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(e.Row.RowType&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;DataControlRowType.DataRow)<br><img id=Codehighlighter1_1185_1338_Open_Image onclick="this.style.display='none'; Codehighlighter1_1185_1338_Open_Text.style.display='none'; Codehighlighter1_1185_1338_Closed_Image.style.display='inline'; Codehighlighter1_1185_1338_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1185_1338_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1185_1338_Closed_Text.style.display='none'; Codehighlighter1_1185_1338_Open_Image.style.display='inline'; Codehighlighter1_1185_1338_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_1185_1338_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"></span><span id=Codehighlighter1_1185_1338_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>　&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.Row.Attributes.Add(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">onclick</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">this.style.backgroundColor='#99cc00';&nbsp;this.style.color='buttontext';this.style.cursor='default';</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">&nbsp;&nbsp;</span></div>
</span>
<img src ="http://www.cnblogs.com/happy555/aggbug/746876.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42804/" target="_blank">[新闻]12日电脑与人进行世纪对话 可思考机器或诞生</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>ASP.net曲线图生成程序</title><link>http://www.cnblogs.com/happy555/archive/2007/05/14/745611.html</link><dc:creator>蓝色力量</dc:creator><author>蓝色力量</author><pubDate>Mon, 14 May 2007 04:10:00 GMT</pubDate><guid>http://www.cnblogs.com/happy555/archive/2007/05/14/745611.html</guid><wfw:comment>http://www.cnblogs.com/happy555/comments/745611.html</wfw:comment><comments>http://www.cnblogs.com/happy555/archive/2007/05/14/745611.html#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://www.cnblogs.com/happy555/comments/commentRss/745611.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/happy555/services/trackbacks/745611.html</trackback:ping><description><![CDATA[摘要: 我自己项目中使用的一个曲线图生成程序，生成效果还可以，只是其中有一些问题，请各位朋友帮忙解决以下&nbsp;&nbsp;<a href='http://www.cnblogs.com/happy555/archive/2007/05/14/745611.html'>阅读全文</a><img src ="http://www.cnblogs.com/happy555/aggbug/745611.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42803/" target="_blank">[新闻]人民网评:中国移动为什么要抛弃iPhone?</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>使用JS+CSS实现tab功能</title><link>http://www.cnblogs.com/happy555/archive/2007/05/11/742823.html</link><dc:creator>蓝色力量</dc:creator><author>蓝色力量</author><pubDate>Fri, 11 May 2007 05:12:00 GMT</pubDate><guid>http://www.cnblogs.com/happy555/archive/2007/05/11/742823.html</guid><wfw:comment>http://www.cnblogs.com/happy555/comments/742823.html</wfw:comment><comments>http://www.cnblogs.com/happy555/archive/2007/05/11/742823.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/happy555/comments/commentRss/742823.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/happy555/services/trackbacks/742823.html</trackback:ping><description><![CDATA[最近一个项目中需要用到Tab功能，以前对此没有任何接触，搜索网络找到了一个实现的方法，先放到这里，作为资料留用。<br><br><a title=点击下载 href="http://www.cnblogs.com/Files/happy555/tabber.rar">点击下载</a>
<img src ="http://www.cnblogs.com/happy555/aggbug/742823.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42802/" target="_blank">[新闻]索尼推出第二代触控屏eBook电子书</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>数据库文档生成器</title><link>http://www.cnblogs.com/happy555/archive/2007/01/07/614084.html</link><dc:creator>蓝色力量</dc:creator><author>蓝色力量</author><pubDate>Sun, 07 Jan 2007 07:56:00 GMT</pubDate><guid>http://www.cnblogs.com/happy555/archive/2007/01/07/614084.html</guid><wfw:comment>http://www.cnblogs.com/happy555/comments/614084.html</wfw:comment><comments>http://www.cnblogs.com/happy555/archive/2007/01/07/614084.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/happy555/comments/commentRss/614084.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/happy555/services/trackbacks/614084.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp; 最近作关于数据库的项目，数据库改动频繁，同时在由于项目较小没有使用版本控制，结果对数据作了很多修改最后都不知道究竟改了些什么，就想着把数据脚本生成出来然后对两个脚本文件进行比较。在网上搜了许多这样的工具，要么收费，要么感觉不好用，于是便想着自己做这样一个东西。此前开发一直使用的是VB6，现在正学.Net，便想用C#来实现。由于是初学，再加之时间的原因，仅实现了初步的功能，没有做调整、优化甚至除错，在接下来的时间内将逐步完善，使它可以成为数据库开发中的一个有用工具。<br>&nbsp;&nbsp;&nbsp;&nbsp;我是初学者，有什么问题希望都提出来，促进我的学习。<br>&nbsp;&nbsp;&nbsp;&nbsp;<a title="数据库文档生成器 源代码" href="http://www.cnblogs.com/Files/happy555/DBScript.rar">数据库文档生成器 源代码</a></p>
<img src ="http://www.cnblogs.com/happy555/aggbug/614084.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42801/" target="_blank">[新闻]百付宝加入战团 电子支付市场寻突破</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>用于分析数据库结构的几种方法</title><link>http://www.cnblogs.com/happy555/archive/2006/12/29/607267.html</link><dc:creator>蓝色力量</dc:creator><author>蓝色力量</author><pubDate>Fri, 29 Dec 2006 10:09:00 GMT</pubDate><guid>http://www.cnblogs.com/happy555/archive/2006/12/29/607267.html</guid><wfw:comment>http://www.cnblogs.com/happy555/comments/607267.html</wfw:comment><comments>http://www.cnblogs.com/happy555/archive/2006/12/29/607267.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/happy555/comments/commentRss/607267.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/happy555/services/trackbacks/607267.html</trackback:ping><description><![CDATA[<p>1、生成数据表文档<br>&nbsp;可以使用sp_MShelpcolumns，例如：</p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 10pt; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">exec</span><span style="COLOR: #000000">&nbsp;sp_MShelpcolumns&nbsp;N</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">[dbo].[fy]</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #008000">@orderby</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #808080">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">id</span><span style="COLOR: #ff0000">'</span></div>
<p>2、生成存储过程、自定义函数和视图的文档</p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 10pt; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; HEIGHT: 46px; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">select</span><span style="COLOR: #000000">&nbsp;a.id,a.</span><span style="FONT-WEIGHT: bold; COLOR: #000000">text</span><span style="COLOR: #000000">,b.name,b.xtype&nbsp;&nbsp;</span><span style="COLOR: #0000ff">from</span><span style="COLOR: #000000">&nbsp;dbo.syscomments&nbsp;a&nbsp;</span><span style="COLOR: #0000ff">join</span><span style="COLOR: #000000">&nbsp;sysobjects&nbsp;b&nbsp;</span><span style="COLOR: #0000ff">on</span><span style="COLOR: #000000">&nbsp;a.id</span><span style="COLOR: #808080">=</span><span style="COLOR: #000000">b.id&nbsp;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;</span><span style="COLOR: #0000ff">where</span><span style="COLOR: #000000">&nbsp;b.xtype&nbsp;</span><span style="COLOR: #808080">in</span><span style="COLOR: #000000">&nbsp;(</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">p</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">,</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">v</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">,</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">FN</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #808080">and</span><span style="COLOR: #000000">&nbsp;b.status</span><span style="COLOR: #808080">&gt;</span><span style="FONT-WEIGHT: bold; COLOR: #800000">0</span><span style="FONT-SIZE: 12pt; COLOR: #000000">&nbsp;</span></div>
<p>3、生成数据表文档的SQL语句</p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #008080">&nbsp;1</span><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">SELECT</span><span style="COLOR: #000000">&nbsp;(</span><span style="COLOR: #ff00ff">CASE</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">WHEN</span><span style="COLOR: #000000">&nbsp;a.colorder&nbsp;</span><span style="COLOR: #808080">=</span><span style="COLOR: #000000">&nbsp;</span><span style="FONT-WEIGHT: bold; COLOR: #800000">1</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">THEN</span><span style="COLOR: #000000">&nbsp;d.name&nbsp;</span><span style="COLOR: #0000ff">ELSE</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #ff0000">''</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">END</span><span style="COLOR: #000000">)&nbsp;N</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">TableName</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">,<br></span><span style="COLOR: #008080">&nbsp;2</span><span style="COLOR: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;a.colorder&nbsp;N</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">SortID</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">,&nbsp;a.name&nbsp;N</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">ColumnName</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">,<br></span><span style="COLOR: #008080">&nbsp;3</span><span style="COLOR: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;(</span><span style="COLOR: #ff00ff">CASE</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">WHEN</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #ff00ff">COLUMNPROPERTY</span><span style="COLOR: #000000">(a.id,a.name,&nbsp;</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">IsIdentity</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #808080">=</span><span style="COLOR: #000000">&nbsp;</span><span style="FONT-WEIGHT: bold; COLOR: #800000">1</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">THEN</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">&#8730;</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">ELSE</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #ff0000">''</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">END</span><span style="COLOR: #000000">)&nbsp;N</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">IsIdentity</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">,<br></span><span style="COLOR: #008080">&nbsp;4</span><span style="COLOR: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;(</span><span style="COLOR: #ff00ff">CASE</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">WHEN</span><span style="COLOR: #000000">&nbsp;(<br></span><span style="COLOR: #008080">&nbsp;5</span><span style="COLOR: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">SELECT</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #ff00ff">COUNT</span><span style="COLOR: #000000">(</span><span style="COLOR: #808080">*</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #0000ff">FROM</span><span style="COLOR: #000000">&nbsp;sysobjects&nbsp;<br></span><span style="COLOR: #008080">&nbsp;6</span><span style="COLOR: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">WHERE</span><span style="COLOR: #000000">&nbsp;(name&nbsp;</span><span style="COLOR: #808080">IN</span><span style="COLOR: #000000">&nbsp;(<br></span><span style="COLOR: #008080">&nbsp;7</span><span style="COLOR: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">SELECT</span><span style="COLOR: #000000">&nbsp;name&nbsp;</span><span style="COLOR: #0000ff">FROM</span><span style="COLOR: #000000">&nbsp;sysindexes&nbsp;<br></span><span style="COLOR: #008080">&nbsp;8</span><span style="COLOR: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">WHERE</span><span style="COLOR: #000000">&nbsp;(id&nbsp;</span><span style="COLOR: #808080">=</span><span style="COLOR: #000000">&nbsp;a.id)&nbsp;<br></span><span style="COLOR: #008080">&nbsp;9</span><span style="COLOR: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #808080">AND</span><span style="COLOR: #000000">&nbsp;(indid&nbsp;</span><span style="COLOR: #808080">IN</span><span style="COLOR: #000000">(<br></span><span style="COLOR: #008080">10</span><span style="COLOR: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">SELECT</span><span style="COLOR: #000000">&nbsp;indid<br></span><span style="COLOR: #008080">11</span><span style="COLOR: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">FROM</span><span style="COLOR: #000000">&nbsp;sysindexkeys<br></span><span style="COLOR: #008080">12</span><span style="COLOR: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">WHERE</span><span style="COLOR: #000000">&nbsp;(id&nbsp;</span><span style="COLOR: #808080">=</span><span style="COLOR: #000000">&nbsp;a.id)&nbsp;<br></span><span style="COLOR: #008080">13</span><span style="COLOR: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #808080">AND</span><span style="COLOR: #000000">&nbsp;(colid&nbsp;</span><span style="COLOR: #808080">IN</span><span style="COLOR: #000000">(<br></span><span style="COLOR: #008080">14</span><span style="COLOR: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">SELECT</span><span style="COLOR: #000000">&nbsp;colid&nbsp;</span><span style="COLOR: #0000ff">FROM</span><span style="COLOR: #000000">&nbsp;syscolumns<br></span><span style="COLOR: #008080">15</span><span style="COLOR: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">WHERE</span><span style="COLOR: #000000">&nbsp;(id&nbsp;</span><span style="COLOR: #808080">=</span><span style="COLOR: #000000">&nbsp;a.id)&nbsp;<br></span><span style="COLOR: #008080">16</span><span style="COLOR: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #808080">AND</span><span style="COLOR: #000000">&nbsp;(name&nbsp;</span><span style="COLOR: #808080">=</span><span style="COLOR: #000000">&nbsp;a.name<br></span><span style="COLOR: #008080">17</span><span style="COLOR: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)<br></span><span style="COLOR: #008080">18</span><span style="COLOR: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)<br></span><span style="COLOR: #008080">19</span><span style="COLOR: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)<br></span><span style="COLOR: #008080">20</span><span style="COLOR: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)<br></span><span style="COLOR: #008080">21</span><span style="COLOR: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)<br></span><span style="COLOR: #008080">22</span><span style="COLOR: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)<br></span><span style="COLOR: #008080">23</span><span style="COLOR: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)&nbsp;<br></span><span style="COLOR: #008080">24</span><span style="COLOR: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #808080">AND</span><span style="COLOR: #000000">&nbsp;(xtype&nbsp;</span><span style="COLOR: #808080">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">PK</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">))&nbsp;</span><span style="COLOR: #808080">=</span><span style="COLOR: #000000">&nbsp;</span><span style="FONT-WEIGHT: bold; COLOR: #800000">0</span><span style="COLOR: #000000">&nbsp;<br></span><span style="COLOR: #008080">25</span><span style="COLOR: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">THEN</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #ff0000">''</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">ELSE</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">&#8730;</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">END</span><span style="COLOR: #000000">)&nbsp;N</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">IsKey</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">,&nbsp;<br></span><span style="COLOR: #008080">26</span><span style="COLOR: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;b.name&nbsp;N</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">ColType</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">,&nbsp;<br></span><span style="COLOR: #008080">27</span><span style="COLOR: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;a.length&nbsp;N</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">Bits</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">,&nbsp;<br></span><span style="COLOR: #008080">28</span><span style="COLOR: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #ff00ff">COLUMNPROPERTY</span><span style="COLOR: #000000">(a.id,&nbsp;a.name,&nbsp;</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">PRECISION</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #0000ff">AS</span><span style="COLOR: #000000">&nbsp;N</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">Length</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">,&nbsp;<br></span><span style="COLOR: #008080">29</span><span style="COLOR: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #ff00ff">IsNull</span><span style="COLOR: #000000">(</span><span style="COLOR: #ff00ff">COLUMNPROPERTY</span><span style="COLOR: #000000">(a.id,&nbsp;a.name,&nbsp;</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">Scale</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">),&nbsp;</span><span style="FONT-WEIGHT: bold; COLOR: #800000">0</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #0000ff">AS</span><span style="COLOR: #000000">&nbsp;N</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">Scale</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">,&nbsp;<br></span><span style="COLOR: #008080">30</span><span style="COLOR: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;(</span><span style="COLOR: #ff00ff">CASE</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">WHEN</span><span style="COLOR: #000000">&nbsp;a.isnullable&nbsp;</span><span style="COLOR: #808080">=</span><span style="COLOR: #000000">&nbsp;</span><span style="FONT-WEIGHT: bold; COLOR: #800000">1</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">THEN</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">&#8730;</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">ELSE</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #ff0000">''</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">END</span><span style="COLOR: #000000">)&nbsp;N</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">IsNullAble</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">,&nbsp;<br></span><span style="COLOR: #008080">31</span><span style="COLOR: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #ff00ff">isnull</span><span style="COLOR: #000000">(e.</span><span style="FONT-WEIGHT: bold; COLOR: #000000">text</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #ff0000">''</span><span style="COLOR: #000000">)&nbsp;N</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">Default</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">,<br></span><span style="COLOR: #008080">32</span><span style="COLOR: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #ff00ff">isnull</span><span style="COLOR: #000000">(g.</span><span style="COLOR: #ff0000">[</span><span style="COLOR: #ff0000">value</span><span style="COLOR: #ff0000">]</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #ff0000">''</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #0000ff">AS</span><span style="COLOR: #000000">&nbsp;N</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">Description</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">33</span><span style="COLOR: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">34</span><span style="COLOR: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">FROM</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;syscolumns&nbsp;a&nbsp;</span><span style="COLOR: #ff00ff">LEFT</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">JOIN</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">35</span><span style="COLOR: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;systypes&nbsp;b&nbsp;</span><span style="COLOR: #0000ff">ON</span><span style="COLOR: #000000">&nbsp;a.xtype&nbsp;</span><span style="COLOR: #808080">=</span><span style="COLOR: #000000">&nbsp;b.xusertype&nbsp;</span><span style="COLOR: #0000ff">INNER</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">JOIN</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">36</span><span style="COLOR: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;sysobjects&nbsp;d&nbsp;</span><span style="COLOR: #0000ff">ON</span><span style="COLOR: #000000">&nbsp;a.id&nbsp;</span><span style="COLOR: #808080">=</span><span style="COLOR: #000000">&nbsp;d&nbsp;.id&nbsp;</span><span style="COLOR: #808080">AND</span><span style="COLOR: #000000">&nbsp;d&nbsp;.xtype&nbsp;</span><span style="COLOR: #808080">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">U</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #ff00ff">LEFT</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">JOIN</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">37</span><span style="COLOR: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;syscomments&nbsp;e&nbsp;</span><span style="COLOR: #0000ff">ON</span><span style="COLOR: #000000">&nbsp;a.cdefault&nbsp;</span><span style="COLOR: #808080">=</span><span style="COLOR: #000000">&nbsp;e.id&nbsp;</span><span style="COLOR: #ff00ff">LEFT</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">JOIN</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">38</span><span style="COLOR: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;sysproperties&nbsp;g&nbsp;</span><span style="COLOR: #0000ff">ON</span><span style="COLOR: #000000">&nbsp;a.id&nbsp;</span><span style="COLOR: #808080">=</span><span style="COLOR: #000000">&nbsp;g.id&nbsp;</span><span style="COLOR: #808080">AND</span><span style="COLOR: #000000">&nbsp;a.colid&nbsp;</span><span style="COLOR: #808080">=</span><span style="COLOR: #000000">&nbsp;g.smallid<br></span><span style="COLOR: #008080">39</span><span style="COLOR: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">ORDER</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">BY</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #ff00ff">object_name</span><span style="COLOR: #000000">(a.id),&nbsp;a.colorder<br></span><span style="COLOR: #008080">40</span><span style="COLOR: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">41</span><span style="COLOR: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<p><br>&nbsp;</p>
<img src ="http://www.cnblogs.com/happy555/aggbug/607267.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42800/" target="_blank">[新闻]邮件标准协议英文独占时代终结</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item></channel></rss>