﻿<?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>博客园-xhluo</title><link>http://www.cnblogs.com/xhluo/</link><description>学习再学习，一切都是为学习。交流再交流，交流好了再学习。</description><language>zh-cn</language><lastBuildDate>Mon, 06 Jul 2009 11:04:01 GMT</lastBuildDate><pubDate>Mon, 06 Jul 2009 11:04:01 GMT</pubDate><ttl>60</ttl><item><title>SQL Server2005中的Intergate Service(SSIS)与Oracle数据库的迁移性能</title><link>http://www.cnblogs.com/xhluo/archive/2006/11/01/546635.html</link><dc:creator>xhluo</dc:creator><author>xhluo</author><pubDate>Wed, 01 Nov 2006 04:56:00 GMT</pubDate><guid>http://www.cnblogs.com/xhluo/archive/2006/11/01/546635.html</guid><wfw:comment>http://www.cnblogs.com/xhluo/comments/546635.html</wfw:comment><comments>http://www.cnblogs.com/xhluo/archive/2006/11/01/546635.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/xhluo/comments/commentRss/546635.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/xhluo/services/trackbacks/546635.html</trackback:ping><description><![CDATA[项目中存在一部分数据迁移的工作，说白了就是从老的系统中将数据倒换的新的系统模型中，老系统的数据来源比较复杂多样，新的自然是Oracle9.2。<br>本来这也就是一次性工作，用SQL自然是最快的方式，不论是开发还是数据传输的速度。可是甲方偏偏要看到界面，希望这是一个成型的工具，没办法，甲方就是上帝。<br>公司原来也有一个迁移工具，可是只能适用于表对表的倒换，复杂一些无能为力，而且数据还巨慢，用过的人都是对它无语。<br>从新开发，不说花费和效果，光是时间也不行。没办法，只好看看现在流行的ETL的工具。<br>市场前列毋庸置疑，肯定是Informatia 和 DataStage.<br>Informatia没有，只好看看DataStage是否能适应现在的功能要求。不想，虽然是图形界面，可使用起来一点也不容易，而且安装后，Windows下居然不能脱离域环境，而且不是Server版本的Windows还不能运行Paralle Job。郁闷无比。<br>试了两天后，暂时放下。Microsoft的易用性比功能强大更吸引我。试试SQL Server 2005中的SSIS，号称企业级的ETL。<br>一用之后呢，没想还真有点喜欢上了它，从介绍的和界面上看一点也不比DataStage的功能少，性能，哈，下面就是我要说得了。<br>ETL工具最慢的部分都是L这一部分，按照一般的说法能占到总体时间的五分之四，所以这是关键。<br>测试也不算复杂，就是同样的数据抽取、转化、然后加载用不同的驱动分别跑一遍，目的库已经确定是Oracle，所以也没有太大的余地了。<br>在SSIS中，有两个驱动可以连接Oracle数据库，一个是Microsoft OLEDB Provider for Oracle，另外一个是Oracle Provider for OLEDB<br>不测不知道，还真长了不少见识。<br><img src="file:///C:/DOCUME%7E1/hbl5827/LOCALS%7E1/Temp/moz-screenshot.jpg" alt=""><!--[if gte vml 1]><v:shapetype id="_x0000_t75"
coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe"
filled="f" stroked="f">
<v:stroke joinstyle="miter"/>
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0"/>
<v:f eqn="sum @0 1 0"/>
<v:f eqn="sum 0 0 @1"/>
<v:f eqn="prod @2 1 2"/>
<v:f eqn="prod @3 21600 pixelWidth"/>
<v:f eqn="prod @3 21600 pixelHeight"/>
<v:f eqn="sum @0 0 1"/>
<v:f eqn="prod @6 1 2"/>
<v:f eqn="prod @7 21600 pixelWidth"/>
<v:f eqn="sum @8 21600 0"/>
<v:f eqn="prod @7 21600 pixelHeight"/>
<v:f eqn="sum @10 21600 0"/>
</v:formulas>
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
<o:lock v:ext="edit" aspectratio="t"/>
</v:shapetype><v:shape id="_x0000_s1026" type="#_x0000_t75" style="'position:absolute;
left:0;text-align:left;margin-left:149.1pt;margin-top:13.9pt;width:269.95pt;
height:350.9pt;z-index:1;mso-position-horizontal:absolute;
mso-position-horizontal-relative:text;mso-position-vertical:absolute;
mso-position-vertical-relative:text'">
<v:imagedata src="file:///C:\DOCUME~1\hbl5827\LOCALS~1\Temp\msohtml1\01\clip_image001.png"
o:title="" croptop="14191f" cropbottom="11417f" cropleft="3072f" cropright="39428f"/>
</v:shape><![endif]--><!--[if !vml]--><span>
<table align="left" cellpadding="0" cellspacing="0">
    <tbody>
        <tr>
            <td height="18" width="199"><br></td>
        </tr>
        <tr>
            <td><br></td>
            <td><img alt="" src="http://www.cnblogs.com/images/cnblogs_com/xhluo/ssis.JPG" height="452" width="340"><br></td>
        </tr>
    </tbody>
</table>
</span><!--[endif]--><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>同一机器，同一数据源，同一结果，两者间还真有不少区别。<br>首先是速度（连续三次）：<br>&nbsp;&nbsp;&nbsp; <br>Microsoft OLEDB Provider for Oracle &nbsp;&nbsp;&nbsp; 1分37 1分32 1分30&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  <br>Oracle Provider for OLEDB&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp; &nbsp;&nbsp;&nbsp; 1分10 1分07 1分02<br><br>在速度上 Oracle Provider for OLEDB 基本符合 1分3万条左右，而Microsoft OLEDB Provider for Oracle 1分钟只有2万条左右。<br>照这样看，答案似乎也就出来了，Oracle Provider for OLEDB也就成了不二选择。<br>且慢，我还没有说明为什么选择25万条记录而不是别的数量的数据呢。<br>这就不得不说说内存的使用：未启动数据迁移时即停留在VS.Net设计界面时，内存已使用了790M左右，而我机器的物理内存也就896M。<br>运
行开始后，25万条记录下Microsoft OLEDB Provider for Oracle 平均在1G左右，而Oracle
Provider for
OLEDB乖乖得不得了，铁定在1.25G以上，一次还在1.3G。更离谱的是，原数据表中共有近100万条记录，Microsoft OLEDB
Provider for Oracle在内存峰值1.5G左右可以顺利完成，而Oracle Provider for
OLEDB在内存使用一旦突破1.3G往上一些，就开始不停提示内存不足，不在安心的迁移数据了，或者干脆显示为红色，报一些莫名的错误。<br>这就让人两难了，一个速度快了那么50%，可确是一个内存消耗大户，有没有止境，我这破机器也无从得知。<br>另外一个速度慢，可却节俭持家，穷人也照顾到了，哈。感觉好这有点像Oracle和MS的企业风格，一个走高端，为了需要的指标可以不计成本，穷人靠边；另一个呢，还不错，虽然也越来越来不鸟没钱的人，可还做得不太显眼。<br><br>最
后了，同样的数据源（Microsoft OLEDB Provider for Oracle驱动），将目的库换成SQL Server
2005,驱动为SQL Native
Client,同样的数据数据转换，98.9万条记录中11.1万条入库，靠1分12完事，打开FastLoad，58秒搞定。而且都只是第一次运行，相
信如果多运行几次后，结果应该更好。别说，自家孩子真就不一样，别人的家的没法比。<br><br>由于数据库驱动接触并不多，希望那个大虾指点一下，能帮忙给找一个Windows下Oracle驱动可以媲美与SQL Native Client的，先谢了。<br>     <img src ="http://www.cnblogs.com/xhluo/aggbug/546635.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/48008/" target="_blank">IBM发布全球首款开源智能编译器</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>站在别人的肩膀上的开发</title><link>http://www.cnblogs.com/xhluo/archive/2006/08/12/475179.html</link><dc:creator>xhluo</dc:creator><author>xhluo</author><pubDate>Sat, 12 Aug 2006 09:52:00 GMT</pubDate><guid>http://www.cnblogs.com/xhluo/archive/2006/08/12/475179.html</guid><wfw:comment>http://www.cnblogs.com/xhluo/comments/475179.html</wfw:comment><comments>http://www.cnblogs.com/xhluo/archive/2006/08/12/475179.html#Feedback</comments><slash:comments>13</slash:comments><wfw:commentRss>http://www.cnblogs.com/xhluo/comments/commentRss/475179.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/xhluo/services/trackbacks/475179.html</trackback:ping><description><![CDATA[<p>我是一个懒人，更新Blog就可以看出来，再加上没有好的笔头，所以文章自然就少。<br>现在赋闲在家，正好整理一下这一年工作的心得。<br><br>虽然在公司带的是一个较小的应用项目，可是却像麻雀一样，样样俱全。数据访问、多层开发、B/S和C/S共存。<br>在项目完成后，还有产品化的需求。<br>虽然在职期间，设想并没有全部实现，可是这并不妨碍我继续按照需求思考下去。<br><br>通过这段时间的考虑以及实验，终于有一套我认为对类似项目的最佳方案。<br><br>在我的方案里，当然还是遵从前辈们提出的三层框架。<br><br>数据层还是使用我熟悉的开源软件iBatis.Net。<br>使用过的人可能知道，这是一套数据映射软件，走得是一条中间路线，符合一种中庸之道。但是在使用中有两个较大缺点：<br>1.需要一定的人力编写xml映射文件。<br>2.程序启动时需要较长的加载时间。<br>但是优点与缺点一样明显，可以在完全不用改动已有数据库系统的基础上立刻应用。这已在项目中得到了验证。<br>上述的两个缺点也不是不可克服。通过借鉴Java环境的例子，编写代码生成工具以大大减少工作量；对于C/S结构采取访问Web Services方式彻底将客户端与数据源之间的藕合松绑，同时也顺带解决了启动时间长的问题，并且可以通过重复加载配置文件，达到动态修改程序应用环境的目的。<br>在我的设想中，C/S和B/S程序访问访问的是同一套Web Services接口。<br><br>逻辑层则是一个与具体领域密切相关的问题，在这方面我没有太多的想法与经验。<br><br>我想说的反倒是表现层。在抛开版权不说（这一领域不了解），完全可以做到站在别人的肩膀上的开发。<br>对于与数据打交道的C/S架构下的程序说，一般软件界面都没有太多需要标新立异的要求，甚至还希望公司软件具有统一风格。<br>那么在这里，提出一下我的想法：利用SharpDevelop的框架作为程序的外壳。<br>简单列出一下几个优点：<br>1.可以做到几乎是全插件程度的软件开发。<br>2.状态保存功能已经实现，只需要作部分工作就可。<br>3. ...想到了很多，以后再说。<br>下面是我做试验是的一个程序界面截图：<br><img src="http://www.cnblogs.com/images/cnblogs_com/xhluo/sharpdevelop-1.GIF" border=0><br>可以注意一下左侧的属性窗口，这一类的功能可以灵活的放置到框架一级或是该程序功能一级。<br><img style="WIDTH: 775px; HEIGHT: 506px" height=506 src="http://www.cnblogs.com/images/cnblogs_com/xhluo/sharpdevelop-2.GIF" width=775 border=0><br>通过作一些修改工作，可以在程序中动态控制可使用的插件。这是SharpDevelop自带的该功能，没有作任何工作就可以在程序使用，也是一个标准的插件。Manager和销售记录是实验代码加入的插件。<br>下面是插件的配置文件，是一种完全自解释的方式。有兴趣的可以看看：<br></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"><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">AddIn&nbsp;</span><span style="COLOR: #ff0000">name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">=&nbsp;"HshSale.App"</span><span style="COLOR: #ff0000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;author&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">=&nbsp;"xhluo"</span><span style="COLOR: #ff0000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;copyright&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">=&nbsp;""</span><span style="COLOR: #ff0000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;description&nbsp;</span><span style="COLOR: #0000ff">=&nbsp;"HshSale.App"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">Manifest</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><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">&lt;</span><span style="COLOR: #800000">Identity&nbsp;</span><span style="COLOR: #ff0000">name&nbsp;</span><span style="COLOR: #0000ff">=&nbsp;"HshSale.App"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">Manifest</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">Runtime</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><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">&lt;</span><span style="COLOR: #800000">Import&nbsp;</span><span style="COLOR: #ff0000">assembly&nbsp;</span><span style="COLOR: #0000ff">=&nbsp;"HshSale.App.dll"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><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">&lt;/</span><span style="COLOR: #800000">Import</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">Runtime</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">Path&nbsp;</span><span style="COLOR: #ff0000">name&nbsp;</span><span style="COLOR: #0000ff">=&nbsp;"/Workbench/MainMenu"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">MenuItem&nbsp;</span><span style="COLOR: #ff0000">id&nbsp;</span><span style="COLOR: #0000ff">=&nbsp;"Manager"</span><span style="COLOR: #ff0000">&nbsp;label&nbsp;</span><span style="COLOR: #0000ff">=&nbsp;"Manager"</span><span style="COLOR: #ff0000">&nbsp;type</span><span style="COLOR: #0000ff">="Menu"</span><span style="COLOR: #ff0000"><br><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;insertafter&nbsp;</span><span style="COLOR: #0000ff">="View"</span><span style="COLOR: #ff0000">&nbsp;insertbefore&nbsp;</span><span style="COLOR: #0000ff">="Tools"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">MenuItem&nbsp;</span><span style="COLOR: #ff0000">id&nbsp;</span><span style="COLOR: #0000ff">=&nbsp;"ProductManager"</span><span style="COLOR: #ff0000"><br><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;label&nbsp;</span><span style="COLOR: #0000ff">=&nbsp;"产品管理"</span><span style="COLOR: #ff0000"><br><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;shortcut&nbsp;</span><span style="COLOR: #0000ff">=&nbsp;"Control|P"</span><span style="COLOR: #ff0000"><br><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;class&nbsp;</span><span style="COLOR: #0000ff">=&nbsp;"HshSale.App.ProductManagerCommand"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">MenuItem&nbsp;</span><span style="COLOR: #ff0000">id&nbsp;</span><span style="COLOR: #0000ff">=&nbsp;"DaySaleRecord"</span><span style="COLOR: #ff0000"><br><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;label&nbsp;</span><span style="COLOR: #0000ff">=&nbsp;"日销售记录"</span><span style="COLOR: #ff0000"><br><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;icon&nbsp;</span><span style="COLOR: #0000ff">=&nbsp;"Icons.16x16.NextWindowIcon"</span><span style="COLOR: #ff0000"><br><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;class&nbsp;</span><span style="COLOR: #0000ff">=&nbsp;"HshSale.App.DaySaleRecordCommand"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">MenuItem</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">MenuItem&nbsp;</span><span style="COLOR: #ff0000">id&nbsp;</span><span style="COLOR: #0000ff">=&nbsp;"SaleRecord"</span><span style="COLOR: #ff0000">&nbsp;label&nbsp;</span><span style="COLOR: #0000ff">=&nbsp;"销售记录"</span><span style="COLOR: #ff0000">&nbsp;type</span><span style="COLOR: #0000ff">="Menu"</span><span style="COLOR: #ff0000"><br><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;insertafter&nbsp;</span><span style="COLOR: #0000ff">="View"</span><span style="COLOR: #ff0000">&nbsp;insertbefore&nbsp;</span><span style="COLOR: #0000ff">="Tools"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><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: #0000ff">&lt;</span><span style="COLOR: #800000">MenuItem&nbsp;</span><span style="COLOR: #ff0000">id&nbsp;</span><span style="COLOR: #0000ff">=&nbsp;"DaySaleRecord"</span><span style="COLOR: #ff0000"><br><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;label&nbsp;</span><span style="COLOR: #0000ff">=&nbsp;"DaySaleRecord"</span><span style="COLOR: #ff0000"><br><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;icon&nbsp;</span><span style="COLOR: #0000ff">=&nbsp;"Icons.16x16.NextWindowIcon"</span><span style="COLOR: #ff0000"><br><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;class&nbsp;</span><span style="COLOR: #0000ff">=&nbsp;"HshSale.App.DaySaleRecordCommand"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">MenuItem</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">Path</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">Path&nbsp;</span><span style="COLOR: #ff0000">name&nbsp;</span><span style="COLOR: #0000ff">=&nbsp;"/Workbench/Pads"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">Pad&nbsp;</span><span style="COLOR: #ff0000">id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">=&nbsp;"ProjectBrowser"</span><span style="COLOR: #ff0000"><br><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;category&nbsp;</span><span style="COLOR: #0000ff">=&nbsp;"Main"</span><span style="COLOR: #ff0000"><br><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;title&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">=&nbsp;"${res:MainWindow.Windows.ProjectScoutLabel}"</span><span style="COLOR: #ff0000"><br><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;icon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">=&nbsp;"PadIcons.ProjectBrowser"</span><span style="COLOR: #ff0000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shortcut&nbsp;</span><span style="COLOR: #0000ff">=&nbsp;"Control|Alt|F"</span><span style="COLOR: #ff0000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">=&nbsp;"HshSale.App.SDPad"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">Path</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">AddIn</span><span style="COLOR: #0000ff">&gt;</span></div>
<br>
<p>当然这不是一个立马可用的框架，权限和日志等必备功能还没有带全。但是作为一段实验性质的代码，我想已经达到了目的：即具备了在实际中使用的条件。而权限和日志当然也可以采用现有的各种思路放到程序中：AOP或是其他灵活性差一点但效率更高的方案。<br><br>在B/S结构，由于项目经验太少，就不多说。但从我了解的信息看，Dnn应该也可以接替SharpDevelop的作用。<br><br>抛砖引玉，一己之见。<br></p>
<img src ="http://www.cnblogs.com/xhluo/aggbug/475179.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/48007/" target="_blank">IE颓势不减 微软下月公布最新浏览器架构</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>在PD中导入Excel自动生成表结构</title><link>http://www.cnblogs.com/xhluo/archive/2005/09/08/232336.html</link><dc:creator>xhluo</dc:creator><author>xhluo</author><pubDate>Thu, 08 Sep 2005 03:21:00 GMT</pubDate><guid>http://www.cnblogs.com/xhluo/archive/2005/09/08/232336.html</guid><wfw:comment>http://www.cnblogs.com/xhluo/comments/232336.html</wfw:comment><comments>http://www.cnblogs.com/xhluo/archive/2005/09/08/232336.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/xhluo/comments/commentRss/232336.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/xhluo/services/trackbacks/232336.html</trackback:ping><description><![CDATA[有Excel的数据表结构，但是没有数据库实例，所有没有办法用PowerDesigner的反转功能。<BR>300多张表，8000多个字段，而且数据表中的表名及字段名用中文代码缩写，想着都晕。<BR>不过它内置的脚本功能确实不错，根据自带的脚本，写了一个实现从Excel读取表结构，包括Name、Code、DataType、Comments等。<BR>
<DIV style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid">
<DIV><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #0000ff">Option</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">Explicit</SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">Dim</SPAN><SPAN style="COLOR: #000000">&nbsp;mdl&nbsp;</SPAN><SPAN style="COLOR: #008000">'</SPAN><SPAN style="COLOR: #008000">&nbsp;the&nbsp;current&nbsp;model</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">Set</SPAN><SPAN style="COLOR: #000000">&nbsp;mdl&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;ActiveModel<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">If</SPAN><SPAN style="COLOR: #000000">&nbsp;(mdl&nbsp;</SPAN><SPAN style="COLOR: #0000ff">Is</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">Nothing</SPAN><SPAN style="COLOR: #000000">)&nbsp;</SPAN><SPAN style="COLOR: #0000ff">Then</SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">MsgBox</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">There&nbsp;is&nbsp;no&nbsp;Active&nbsp;Model"</SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">End</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">If</SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">Dim</SPAN><SPAN style="COLOR: #000000">&nbsp;HaveExcel<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">Dim</SPAN><SPAN style="COLOR: #000000">&nbsp;RQ<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>RQ&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;vbYes&nbsp;</SPAN><SPAN style="COLOR: #008000">'</SPAN><SPAN style="COLOR: #008000">MsgBox("Is&nbsp;Excel&nbsp;Installed&nbsp;on&nbsp;your&nbsp;machine&nbsp;?",&nbsp;vbYesNo&nbsp;+&nbsp;vbInformation,&nbsp;"Confirmation")</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">If</SPAN><SPAN style="COLOR: #000000">&nbsp;RQ&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;vbYes&nbsp;</SPAN><SPAN style="COLOR: #0000ff">Then</SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;HaveExcel&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">True</SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #008000">'</SPAN><SPAN style="COLOR: #008000">&nbsp;Open&nbsp;&amp;&nbsp;Create&nbsp;Excel&nbsp;Document</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">Dim</SPAN><SPAN style="COLOR: #000000">&nbsp;x1&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #008000">'<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">Set</SPAN><SPAN style="COLOR: #000000">&nbsp;x1&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">CreateObject</SPAN><SPAN style="COLOR: #000000">(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">Excel.Application</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">)<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;x1.Workbooks.Open&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">E:\数据库结构.xls"</SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;x1.Workbooks(</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">).Worksheets(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">Sheet1</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">).Activate<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">Else</SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;HaveExcel&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">False</SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">End</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">If</SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>a&nbsp;x1,&nbsp;mdl<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">sub</SPAN><SPAN style="COLOR: #000000">&nbsp;a(x1,&nbsp;mdl)<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">dim</SPAN><SPAN style="COLOR: #000000">&nbsp;rwIndex<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">dim</SPAN><SPAN style="COLOR: #000000">&nbsp;tableName<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">dim</SPAN><SPAN style="COLOR: #000000">&nbsp;colname<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">dim</SPAN><SPAN style="COLOR: #000000">&nbsp;table<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">dim</SPAN><SPAN style="COLOR: #000000">&nbsp;col<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">dim</SPAN><SPAN style="COLOR: #000000">&nbsp;count<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">on</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">error</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">Resume</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">Next</SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">For</SPAN><SPAN style="COLOR: #000000">&nbsp;rwIndex&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">2016</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">To</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">2015</SPAN><SPAN style="COLOR: #000000"><BR><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">With</SPAN><SPAN style="COLOR: #000000">&nbsp;x1.Workbooks(</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">).Worksheets(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">Sheet1</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">)<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">If</SPAN><SPAN style="COLOR: #000000">&nbsp;.Cells(rwIndex,&nbsp;</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">).Value&nbsp;</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: #0000ff">Then</SPAN><SPAN style="COLOR: #000000"><BR><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;</SPAN><SPAN style="COLOR: #0000ff">Exit</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">For</SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">End</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">If</SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">If</SPAN><SPAN style="COLOR: #000000">&nbsp;.Cells(rwIndex,&nbsp;</SPAN><SPAN style="COLOR: #000000">3</SPAN><SPAN style="COLOR: #000000">).Value&nbsp;</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: #0000ff">Then</SPAN><SPAN style="COLOR: #000000"><BR><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;</SPAN><SPAN style="COLOR: #0000ff">set</SPAN><SPAN style="COLOR: #000000">&nbsp;table&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;mdl.Tables.CreateNew<BR><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;table.Name&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;.Cells(rwIndex&nbsp;</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">,&nbsp;</SPAN><SPAN style="COLOR: #000000">10</SPAN><SPAN style="COLOR: #000000">).Value<BR><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;table.Code&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;.Cells(rwIndex&nbsp;</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">,&nbsp;</SPAN><SPAN style="COLOR: #000000">9</SPAN><SPAN style="COLOR: #000000">).Value<BR><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;count&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;count&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/None.gif" align=top>&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/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;colName&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;.Cells(rwIndex,&nbsp;</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">).Value<BR><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;</SPAN><SPAN style="COLOR: #0000ff">set</SPAN><SPAN style="COLOR: #000000">&nbsp;col&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;table.Columns.CreateNew<BR><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;</SPAN><SPAN style="COLOR: #008000">'</SPAN><SPAN style="COLOR: #008000">MsgBox&nbsp;.Cells(rwIndex,&nbsp;1).Value,&nbsp;vbOK&nbsp;+&nbsp;vbInformation,&nbsp;"列"</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;col.Name&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;.Cells(rwIndex,&nbsp;</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">).Value<BR><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;</SPAN><SPAN style="COLOR: #008000">'</SPAN><SPAN style="COLOR: #008000">MsgBox&nbsp;col.Name,&nbsp;vbOK&nbsp;+&nbsp;vbInformation,&nbsp;"列"</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;col.Code&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;.Cells(rwIndex,&nbsp;</SPAN><SPAN style="COLOR: #000000">3</SPAN><SPAN style="COLOR: #000000">).Value<BR><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;<BR><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;</SPAN><SPAN style="COLOR: #0000ff">if</SPAN><SPAN style="COLOR: #000000">&nbsp;.Cells(rwIndex,&nbsp;</SPAN><SPAN style="COLOR: #000000">7</SPAN><SPAN style="COLOR: #000000">).Value&nbsp;</SPAN><SPAN style="COLOR: #000000">&lt;&gt;</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">""</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">Then</SPAN><SPAN style="COLOR: #000000"><BR><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;col.Comment&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;.Cells(rwIndex,&nbsp;</SPAN><SPAN style="COLOR: #000000">7</SPAN><SPAN style="COLOR: #000000">).Value&nbsp;</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&nbsp;。&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">&nbsp;.Cells(rwIndex,&nbsp;</SPAN><SPAN style="COLOR: #000000">8</SPAN><SPAN style="COLOR: #000000">).Value<BR><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;</SPAN><SPAN style="COLOR: #0000ff">else</SPAN><SPAN style="COLOR: #000000"><BR><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;col.Comment&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;.Cells(rwIndex,&nbsp;</SPAN><SPAN style="COLOR: #000000">8</SPAN><SPAN style="COLOR: #000000">).Value<BR><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;</SPAN><SPAN style="COLOR: #0000ff">end</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">if</SPAN><SPAN style="COLOR: #000000"><BR><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;<BR><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;</SPAN><SPAN style="COLOR: #0000ff">if</SPAN><SPAN style="COLOR: #000000">&nbsp;.Cells(rwIndex,&nbsp;</SPAN><SPAN style="COLOR: #000000">2</SPAN><SPAN style="COLOR: #000000">).Value&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">Y</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">Then</SPAN><SPAN style="COLOR: #000000"><BR><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;col.Primary&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">true</SPAN><SPAN style="COLOR: #000000"><BR><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;</SPAN><SPAN style="COLOR: #0000ff">end</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">if</SPAN><SPAN style="COLOR: #000000"><BR><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;</SPAN><SPAN style="COLOR: #0000ff">If</SPAN><SPAN style="COLOR: #000000">&nbsp;.Cells(rwIndex,&nbsp;</SPAN><SPAN style="COLOR: #000000">4</SPAN><SPAN style="COLOR: #000000">).Value&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">C</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">Then</SPAN><SPAN style="COLOR: #000000"><BR><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;col.DataType&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">NVARCHAR2(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">&nbsp;.Cells(rwIndex,&nbsp;</SPAN><SPAN style="COLOR: #000000">5</SPAN><SPAN style="COLOR: #000000">).Value&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"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">elseif</SPAN><SPAN style="COLOR: #000000">&nbsp;.Cells(rwIndex,&nbsp;</SPAN><SPAN style="COLOR: #000000">4</SPAN><SPAN style="COLOR: #000000">).Value&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">D</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">Then</SPAN><SPAN style="COLOR: #000000"><BR><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;col.DataType&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">DATE"</SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">elseif</SPAN><SPAN style="COLOR: #000000">&nbsp;.Cells(rwIndex,&nbsp;</SPAN><SPAN style="COLOR: #000000">4</SPAN><SPAN style="COLOR: #000000">).Value&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">N</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">Then</SPAN><SPAN style="COLOR: #000000"><BR><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;</SPAN><SPAN style="COLOR: #0000ff">if</SPAN><SPAN style="COLOR: #000000">&nbsp;.Cells(rwIndex,&nbsp;</SPAN><SPAN style="COLOR: #000000">6</SPAN><SPAN style="COLOR: #000000">).Value&nbsp;</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: #0000ff">Then</SPAN><SPAN style="COLOR: #000000"><BR><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;col.DataType&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">NUMBER(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">&nbsp;.Cells(rwIndex,&nbsp;</SPAN><SPAN style="COLOR: #000000">5</SPAN><SPAN style="COLOR: #000000">).Value&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"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">&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/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;col.DataType&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">NUMBER(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">&nbsp;.Cells(rwIndex,&nbsp;</SPAN><SPAN style="COLOR: #000000">5</SPAN><SPAN style="COLOR: #000000">).Value&nbsp;</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">"</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">&nbsp;.Cells(rwIndex,&nbsp;</SPAN><SPAN style="COLOR: #000000">6</SPAN><SPAN style="COLOR: #000000">).Value&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"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">end</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">if</SPAN><SPAN style="COLOR: #000000"><BR><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;</SPAN><SPAN style="COLOR: #0000ff">end</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">if</SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">End</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">If</SPAN><SPAN style="COLOR: #000000"><BR><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">End</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">With</SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">Next</SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">MsgBox</SPAN><SPAN style="COLOR: #000000">&nbsp;</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">+</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">CStr</SPAN><SPAN style="COLOR: #000000">(count),&nbsp;vbOK&nbsp;</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">&nbsp;vbInformation,&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">表"<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">Exit</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">Sub</SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">End&nbsp;sub</SPAN></DIV></DIV><BR><img src ="http://www.cnblogs.com/xhluo/aggbug/232336.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/48002/" target="_blank">竞争日趋激烈 微软欲借 Windows 7 扭转战局</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>结束？开始！</title><link>http://www.cnblogs.com/xhluo/archive/2005/08/05/208440.html</link><dc:creator>xhluo</dc:creator><author>xhluo</author><pubDate>Fri, 05 Aug 2005 09:17:00 GMT</pubDate><guid>http://www.cnblogs.com/xhluo/archive/2005/08/05/208440.html</guid><wfw:comment>http://www.cnblogs.com/xhluo/comments/208440.html</wfw:comment><comments>http://www.cnblogs.com/xhluo/archive/2005/08/05/208440.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/xhluo/comments/commentRss/208440.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/xhluo/services/trackbacks/208440.html</trackback:ping><description><![CDATA[<P>总算安顿下来了，再北京一家公司做C#。<BR>刚集中培训完毕，下面是在岗培训阶段，工作日子算是真正的开始了。</P>
<P>blog的更新已经停了很长时间，不应该的事情发生的那么自然，好像我就根本就没有这个Blog似的。看来各位老大们的先进事迹在我的心灵并没有留下太多的痕迹。<BR>这是我这年龄不该有的境界啊！心里哇凉哇凉的。</P>
<P>发了信没回的在这说声对不起。</P>
<P>&#8220;明天&#8221;我的Blog会重生的。</P><img src ="http://www.cnblogs.com/xhluo/aggbug/208440.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/48001/" target="_blank">上海电信计划2012年80%用户实现100M带宽</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>更新一次，Grid的多列效果</title><link>http://www.cnblogs.com/xhluo/archive/2005/03/15/119323.html</link><dc:creator>xhluo</dc:creator><author>xhluo</author><pubDate>Tue, 15 Mar 2005 13:52:00 GMT</pubDate><guid>http://www.cnblogs.com/xhluo/archive/2005/03/15/119323.html</guid><wfw:comment>http://www.cnblogs.com/xhluo/comments/119323.html</wfw:comment><comments>http://www.cnblogs.com/xhluo/archive/2005/03/15/119323.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/xhluo/comments/commentRss/119323.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/xhluo/services/trackbacks/119323.html</trackback:ping><description><![CDATA[<P>老是不更新了，有事是一方面，我想可能也失去了刚开始的新鲜感了吧， <BR>新的东西到啥也没学了，所以可以说得东西不多。 <BR>就来手边一些重复性的工作发个截图，算我三月的一篇文章了。 </P>
<P>祝大家多进步。佩服Infragistics！！ <BR><IMG height=480 hspace=5 src="http://www.cnblogs.com/images/cnblogs_com/xhluo/Grid.JPG" width=640 align=baseline> <BR>习惯了放在<STRONG><FONT color=#111111 size=2>首页原创.NET技术区，要是不妥，那就麻烦了。</FONT></STRONG> </P><img src ="http://www.cnblogs.com/xhluo/aggbug/119323.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/48000/" target="_blank">数万名网友签名抗议星际争霸2取消局域网功能</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>Infragistics的Grid控件</title><link>http://www.cnblogs.com/xhluo/archive/2005/02/25/109065.html</link><dc:creator>xhluo</dc:creator><author>xhluo</author><pubDate>Fri, 25 Feb 2005 03:56:00 GMT</pubDate><guid>http://www.cnblogs.com/xhluo/archive/2005/02/25/109065.html</guid><wfw:comment>http://www.cnblogs.com/xhluo/comments/109065.html</wfw:comment><comments>http://www.cnblogs.com/xhluo/archive/2005/02/25/109065.html#Feedback</comments><slash:comments>14</slash:comments><wfw:commentRss>http://www.cnblogs.com/xhluo/comments/commentRss/109065.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/xhluo/services/trackbacks/109065.html</trackback:ping><description><![CDATA[一年又一年，最后一学期了，前面的路还是迷茫。<br>

这两天给朋友赶一个程序，用了用Infragistics的Grid控件，感觉考虑的实在周到。<br>

发几个贴图吧。<br>

<img style="width: 714px; height: 469px;" src="../../images/cnblogs_com/xhluo/skx/skx1.JPG" alt="skx1.JPG" border="0"><br>

设置编辑器为货币类型。<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DefaultEditorOwnerSettings editorSettings = <br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; new DefaultEditorOwnerSettings();<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; editorSettings.MaskInput = "$ -nnn,nnn.nn";<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; editorSettings.DataType = typeof(decimal);<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EmbeddableEditorBase editor =<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
new EditorWithMask(new DefaultEditorOwner(editorSettings));<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
ultraGrid.DisplayLayout.Bands["FeedProduct"].Columns["Price"].Editor =
editor;<br>

<br>

<img src="../../images/cnblogs_com/xhluo/skx/skx2.JPG" alt="skx2.JPG" border="0" height="475" width="716"><br>

设置区域名称列为下拉表类型。<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
ValueList locValueList =
this.ultraGrid.DisplayLayout.ValueLists.Add("Locs");<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach (DataRow dr in m_ds.Tables["Loc"].Rows)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
locValueList.ValueListItems.Add((int)(dr["ID"]), dr["Name"].ToString());<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
ultraGrid.DisplayLayout.Bands["Customer"].Columns["LocID"].ValueList = <br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
ultraGrid.DisplayLayout.ValueLists["Locs"];<br>

可惜不是开源，虽然有原代码。不知道开源的代码中有没有这样好的。<br>
<img src ="http://www.cnblogs.com/xhluo/aggbug/109065.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47999/" target="_blank">Silverlight打造杰克逊纪念专题</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>加入EReader团队的开篇章</title><link>http://www.cnblogs.com/xhluo/archive/2005/01/13/91250.html</link><dc:creator>xhluo</dc:creator><author>xhluo</author><pubDate>Thu, 13 Jan 2005 03:44:00 GMT</pubDate><guid>http://www.cnblogs.com/xhluo/archive/2005/01/13/91250.html</guid><wfw:comment>http://www.cnblogs.com/xhluo/comments/91250.html</wfw:comment><comments>http://www.cnblogs.com/xhluo/archive/2005/01/13/91250.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.cnblogs.com/xhluo/comments/commentRss/91250.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/xhluo/services/trackbacks/91250.html</trackback:ping><description><![CDATA[<p>想法最重要，要不就成了光是学习性质的了。这几天正在考虑怎么继续往后写，主要是现在的趋同性太强了，感觉没有什么拿的出手的东西。
<br/>而且这个趋同性现在不单单表现在界面上了，一开始就是抄袭SharpReader的界面。而且在看过别人的代码后，感觉自家的代码简直就是小孩写的，全没有设计似的，有点备受打击，哈哈，所以动力小了。
<br/>那么抄吧，那还自己做干吗？不抄吧，那是闭门造车，掩耳盗铃啊。 
<br/>好的想法创意才是源动力。缺油啊，哈哈。 
<br/>而且想暂时放弃Net1.1同步。这样即没法学好Net2.0，还颇受限制。很多Net2.0中好的东西没有办法使用。
<br/>范型、匿名函数等，还是能提高效率的，却必须小心的维护两套代码，而且一不小心就用了2.0的新增控件。
<br/>还有，想问问大家，感觉Net20下的MenuStrip怎么样，我怎么觉得使用起来不太好是的，特慢。是我的问题，还是控件的问题？？
</p><img src ="http://www.cnblogs.com/xhluo/aggbug/91250.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47998/" target="_blank">传诺基亚正在开发Android手机</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>C++/CLI draft 1.8</title><link>http://www.cnblogs.com/xhluo/archive/2005/01/11/89988.html</link><dc:creator>xhluo</dc:creator><author>xhluo</author><pubDate>Tue, 11 Jan 2005 05:25:00 GMT</pubDate><guid>http://www.cnblogs.com/xhluo/archive/2005/01/11/89988.html</guid><wfw:comment>http://www.cnblogs.com/xhluo/comments/89988.html</wfw:comment><comments>http://www.cnblogs.com/xhluo/archive/2005/01/11/89988.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/xhluo/comments/commentRss/89988.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/xhluo/services/trackbacks/89988.html</trackback:ping><description><![CDATA[<p style="FONT-SIZE: 12pt">微软网站上的C++/CLI draft是1.5 的，从网上找到一份1.8版本，Oct, 2004的。 
<br/>忘了在那找到的，现已上传，地址是：<A href="http://www.cnblogs.com/Files/xhluo/C++-CLI%20draft%201.8.rar">/Files/xhluo/C++-CLI draft 1.8.rar</a> 
<br/>和1.5相比，完善了不少，光页数就从199增加到228了。 
<br/>
<br/>有人用过Beta2CTP版的C++/CLI没有，可用性怎么样了？？ 
</p><img src ="http://www.cnblogs.com/xhluo/aggbug/89988.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47996/" target="_blank">7月编程语言排行榜</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>学习C++/CLI发现的一些问题，算不算Bug?</title><link>http://www.cnblogs.com/xhluo/archive/2005/01/10/89375.html</link><dc:creator>xhluo</dc:creator><author>xhluo</author><pubDate>Mon, 10 Jan 2005 04:41:00 GMT</pubDate><guid>http://www.cnblogs.com/xhluo/archive/2005/01/10/89375.html</guid><wfw:comment>http://www.cnblogs.com/xhluo/comments/89375.html</wfw:comment><comments>http://www.cnblogs.com/xhluo/archive/2005/01/10/89375.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/xhluo/comments/commentRss/89375.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/xhluo/services/trackbacks/89375.html</trackback:ping><description><![CDATA[<p>这两天学习了一下C++/CLI，将C#几个控件和例子翻写C++下，感觉确实还是属于Beta的语言，Bug是在不少，而且很多你就根本没有办法去调试。 
<br/>列举如下，当然也有可能使我栽赃，水平不行，导致出现的错误。 
<br/><span style="COLOR: red">1、首先是托管DirectX。 
<br/></span>代码如下： 
<br/>
</p>
<div style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid">
   <div><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" width="11" align="top" /><span style="COLOR: #000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Texture</span><span style="COLOR: #000000">^</span><span style="COLOR: #000000">&#160;CreateTextureFromFileEx(Device</span><span style="COLOR: #000000">^</span><span style="COLOR: #000000">&#160;device,&#160;String</span><span style="COLOR: #000000">^</span><span style="COLOR: #000000">&#160;filename,&#160;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&#160;w,&#160;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&#160;h,&#160;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&#160;mip,&#160;Usage&#160;usage,&#160;Format&#160;fmt,&#160;Pool&#160;pool,&#160;Filter&#160;filter,&#160;Filter&#160;mipfilter,&#160;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&#160;colorkey) 
<br/><img id="Codehighlighter1_189_877_Open_Image" onclick="this.style.display=&#39;none&#39;; Codehighlighter1_189_877_Open_Text.style.display=&#39;none&#39;; Codehighlighter1_189_877_Closed_Image.style.display=&#39;inline&#39;; Codehighlighter1_189_877_Closed_Text.style.display=&#39;inline&#39;;" height="16" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top" style="DISPLAY: none" /><img id="Codehighlighter1_189_877_Closed_Image" onclick="this.style.display=&#39;none&#39;; Codehighlighter1_189_877_Closed_Text.style.display=&#39;none&#39;; Codehighlighter1_189_877_Open_Image.style.display=&#39;inline&#39;; Codehighlighter1_189_877_Open_Text.style.display=&#39;inline&#39;;" height="16" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" width="11" align="top" style="DISPLAY: inline" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span id="Codehighlighter1_189_877_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: inline; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img height="20" src="http://www.cnblogs.com/images/dot.gif" width="15" /></span><span id="Codehighlighter1_189_877_Open_Text" style="DISPLAY: none"><span style="COLOR: #000000">{ 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width="11" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&#160;Search&#160;the&#160;cache&#160;first</span><span style="COLOR: #008000"> 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width="11" align="top" /></span><span style="COLOR: #000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">&#160;each(CachedTexture</span><span style="COLOR: #000000">^</span><span style="COLOR: #000000">&#160;ct&#160;</span><span style="COLOR: #0000ff">in</span><span style="COLOR: #000000">&#160;safe_cast</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">array</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">CachedTexture</span><span style="COLOR: #000000">^&gt;^&gt;</span><span style="COLOR: #000000">(textureCache</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Keys)) 
<br/><img id="Codehighlighter1_329_876_Open_Image" onclick="this.style.display=&#39;none&#39;; Codehighlighter1_329_876_Open_Text.style.display=&#39;none&#39;; Codehighlighter1_329_876_Closed_Image.style.display=&#39;inline&#39;; Codehighlighter1_329_876_Closed_Text.style.display=&#39;inline&#39;;" height="16" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" width="11" align="top" /><img id="Codehighlighter1_329_876_Closed_Image" onclick="this.style.display=&#39;none&#39;; Codehighlighter1_329_876_Closed_Text.style.display=&#39;none&#39;; Codehighlighter1_329_876_Open_Image.style.display=&#39;inline&#39;; Codehighlighter1_329_876_Open_Text.style.display=&#39;inline&#39;;" height="16" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedSubBlock.gif" width="11" align="top" style="DISPLAY: none" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span id="Codehighlighter1_329_876_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 height="20" src="http://www.cnblogs.com/images/dot.gif" width="15" /></span><span id="Codehighlighter1_329_876_Open_Text"><span style="COLOR: #000000">{ 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width="11" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&#160;(&#160;(String::Compare(ct</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Source,&#160;filename,&#160;</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">)&#160;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)&#160;</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000"> 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width="11" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;ct</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Width&#160;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&#160;w&#160;</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000"> 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width="11" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;ct</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Height&#160;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&#160;h&#160;</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000"> 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width="11" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;ct</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">MipLevels&#160;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&#160;mip&#160;</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000"> 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width="11" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;ct</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Usage&#160;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&#160;usage&#160;</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000"> 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width="11" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;ct</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Format&#160;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&#160;fmt&#160;</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000"> 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width="11" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;ct</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Pool&#160;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&#160;pool&#160;</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000"> 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width="11" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;ct</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Type&#160;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&#160;ResourceType::Textures) 
<br/><img id="Codehighlighter1_695_862_Open_Image" onclick="this.style.display=&#39;none&#39;; Codehighlighter1_695_862_Open_Text.style.display=&#39;none&#39;; Codehighlighter1_695_862_Closed_Image.style.display=&#39;inline&#39;; Codehighlighter1_695_862_Closed_Text.style.display=&#39;inline&#39;;" height="16" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" width="11" align="top" /><img id="Codehighlighter1_695_862_Closed_Image" onclick="this.style.display=&#39;none&#39;; Codehighlighter1_695_862_Closed_Text.style.display=&#39;none&#39;; Codehighlighter1_695_862_Open_Image.style.display=&#39;inline&#39;; Codehighlighter1_695_862_Open_Text.style.display=&#39;inline&#39;;" height="16" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedSubBlock.gif" width="11" align="top" style="DISPLAY: none" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span id="Codehighlighter1_695_862_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 height="20" src="http://www.cnblogs.com/images/dot.gif" width="15" /></span><span id="Codehighlighter1_695_862_Open_Text"><span style="COLOR: #000000">{ 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width="11" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&#160;A&#160;match&#160;was&#160;found,&#160;return&#160;that 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width="11" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&#160;错误代码&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;return&#160;(safe_cast&lt;Texture^&gt;(textureCache[ct]));</span><span style="COLOR: #008000"> 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" width="11" align="top" /></span><span style="COLOR: #000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}</span></span><span style="COLOR: #000000"> 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" width="11" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}</span></span></span> 
   </div>
</div>
<br/>出现错误error C2535: &#39;Microsoft::DirectX::Direct3D::Texture::~Texture(void)&#39; : member function already defined or declared&#160;c:\xhluo\程序开发 
<br/>\My codes\CustomUIMC++\CustomUI\DXMUTMisc.h&#160;644。到网上一找，有这个错误的还不少，给的建议，暂时放弃，等待成熟。<img height="19" src="http://www.cnblogs.com/Emoticons/emsad.gif" width="19" align="absMiddle" border="0" /> 
<br/><span style="COLOR: red">二、RssBandit下的一个封装IE的Control，也翻写了一下，发现也有问题。 
<br/></span>
<div style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid">
   <div><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" width="11" align="top" /><span style="COLOR: #000000">HtmlControl::HtmlControl()&#160;:&#160;AxHost(</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">8856f961-340a-11d0-a96b-00c04fd705a2</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">) 
<br/><img id="Codehighlighter1_76_815_Open_Image" onclick="this.style.display=&#39;none&#39;; Codehighlighter1_76_815_Open_Text.style.display=&#39;none&#39;; Codehighlighter1_76_815_Closed_Image.style.display=&#39;inline&#39;; Codehighlighter1_76_815_Closed_Text.style.display=&#39;inline&#39;;" height="16" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top" /><img id="Codehighlighter1_76_815_Closed_Image" onclick="this.style.display=&#39;none&#39;; Codehighlighter1_76_815_Closed_Text.style.display=&#39;none&#39;; Codehighlighter1_76_815_Open_Image.style.display=&#39;inline&#39;; Codehighlighter1_76_815_Open_Text.style.display=&#39;inline&#39;;" height="16" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" width="11" align="top" style="DISPLAY: none" /></span><span id="Codehighlighter1_76_815_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 height="20" src="http://www.cnblogs.com/images/dot.gif" width="15" /></span><span id="Codehighlighter1_76_815_Open_Text"><span style="COLOR: #000000">{ 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width="11" align="top" />&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">cbFlags&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;ControlBehaviorFlags::scrollBarsEnabled&#160;</span><span style="COLOR: #000000">|</span><span style="COLOR: #000000"> 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width="11" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;ControlBehaviorFlags::imagesDownloadEnabled&#160;</span><span style="COLOR: #000000">|</span><span style="COLOR: #000000"> 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width="11" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;ControlBehaviorFlags::scriptEnabled&#160;</span><span style="COLOR: #000000">|</span><span style="COLOR: #000000"> 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width="11" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;ControlBehaviorFlags::javaEnabled&#160;</span><span style="COLOR: #000000">|</span><span style="COLOR: #000000"> 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width="11" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;ControlBehaviorFlags::flatScrollBars&#160;</span><span style="COLOR: #000000">|</span><span style="COLOR: #000000"> 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width="11" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;ControlBehaviorFlags::imagesDownloadEnabled&#160;</span><span style="COLOR: #000000">|</span><span style="COLOR: #000000"> 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width="11" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;ControlBehaviorFlags::behaviorsExecuteEnabled&#160;</span><span style="COLOR: #000000">|</span><span style="COLOR: #000000"> 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width="11" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;ControlBehaviorFlags::frameDownloadEnabled&#160;</span><span style="COLOR: #000000">|</span><span style="COLOR: #000000"> 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width="11" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;ControlBehaviorFlags::clientPullEnabled; 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width="11" align="top" /> 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width="11" align="top" />&#160;&#160;&#160;&#160;HandleCreated&#160;</span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000">&#160;gcnew&#160;EventHandler(</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">,&#160;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">HtmlControl::SelfHandleCreated); 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width="11" align="top" />&#160;&#160;&#160;&#160;HandleDestroyed&#160;</span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000">&#160;gcnew&#160;EventHandler(</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">,&#160;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">HtmlControl::SelfHandleDestroyed); 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width="11" align="top" />&#160;&#160;&#160;&#160;NavigateComplete&#160;</span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000">&#160;gcnew&#160;BrowserNavigateComplete2EventHandler(</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">,&#160;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">HtmlControl::SelfNavigateComplete); 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockEnd.gif" width="11" align="top" />}</span></span> 
   </div>
</div>
<br/>代码看着和C#的差不多，运行也没问题，可是就是不停的发生ProgressChange事件，却始终没有NavigateComplete2事件。 
<br/>后来跟踪才发现，SHDocVw::IWebBrowser2^ ocx这个对象看是初始化正常，但是里面的Application和Container对象均为&lt;undefine value&gt;， 
<br/>而C#里面这两个对象都初始化了，而且显然还是两个大对象。 
<br/>这个错误，从语法上代码与C#的差别很小，但是结果去不正确，感觉也和托管DirectX一样，是一些实在的Bug。 
<br/><span style="COLOR: red">三、NJF的Collapsible Splitter Control for .Net，翻写道C++/CLI后，也有问题。</span> 
<br/>
<div style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid">
   <div><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" width="11" align="top" /><span style="COLOR: #000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">splitterListView</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">AnimationDelay&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">20</span><span style="COLOR: #000000">; 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" width="11" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">splitterListView</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">AnimationStep&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">20</span><span style="COLOR: #000000">; 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" width="11" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">splitterListView</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">BorderStyle3D&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;System::Windows::Forms::Border3DStyle::Flat; 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" width="11" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">splitterListView</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">ControlToHide&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;nullptr; 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" width="11" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">splitterListView</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Dock&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;System::Windows::Forms::DockStyle::Top; 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" width="11" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">splitterListView</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">ExpandParentForm&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #0000ff">false</span><span style="COLOR: #000000">; 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" width="11" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">splitterListView</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Location&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;System::Drawing::Point(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,&#160;</span><span style="COLOR: #000000">200</span><span style="COLOR: #000000">); 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" width="11" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">splitterListView</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Name&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">SplitterListView</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">; 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" width="11" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">splitterListView</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">TabIndex&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">; 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" width="11" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">splitterListView</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">TabStop&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #0000ff">false</span><span style="COLOR: #000000">; 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" width="11" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">splitterListView</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">UseAnimations&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">; 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" width="11" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">splitterListView</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">VisualStyle&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;Luo::CollapsibleSplitter::VisualStyles::XP; 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" width="11" align="top" /></span> 
   </div>
</div>
<p>
<br/>默认情况下，this-&gt;splitterListView-&gt;ControlToHide = nullptr，但是在设计界面却提示不知道nullptr是啥。 
<br/>而且在C#下能用的SandBar和SandDock在设计界面都不能显示，提示有问题，编译后运行可以。 
<br/>看来想提前用用C++/CLI是不现实的了，起码在Beta1，它还不是一个完整可用的语言， 
<br/>但是它的介绍确实很诱人，既可以用一些现代语言的先进特性，接口、事件、属性等，而且还能结合native C++的性能。 
<br/>期待Beta2以及后续的。 
<br/>希望大家多发表评论！！！！！ 
<br/>郁闷，系统分析师考试没过，51/35/35，连个省线也不够，唉。<img height="19" src="http://www.cnblogs.com/Emoticons/emcry.gif" width="19" align="absMiddle" border="0" /><img height="19" src="http://www.cnblogs.com/Emoticons/emcrook.gif" width="19" align="absMiddle" border="0" />&#160;&#160;&#160; 还努力<img height="19" src="http://www.cnblogs.com/Emoticons/emdgust.gif" width="19" align="absMiddle" border="0" /><img height="19" src="http://www.cnblogs.com/Emoticons/emsmileo.gif" width="19" align="absMiddle" border="0" /> 
</p>
<p>&#160; </p><img src ="http://www.cnblogs.com/xhluo/aggbug/89375.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47995/" target="_blank">Google Voice 上手</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>总结成了回顾</title><link>http://www.cnblogs.com/xhluo/archive/2005/01/02/85369.html</link><dc:creator>xhluo</dc:creator><author>xhluo</author><pubDate>Sat, 01 Jan 2005 17:24:00 GMT</pubDate><guid>http://www.cnblogs.com/xhluo/archive/2005/01/02/85369.html</guid><wfw:comment>http://www.cnblogs.com/xhluo/comments/85369.html</wfw:comment><comments>http://www.cnblogs.com/xhluo/archive/2005/01/02/85369.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.cnblogs.com/xhluo/comments/commentRss/85369.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/xhluo/services/trackbacks/85369.html</trackback:ping><description><![CDATA[本打算31号晚上写的，不想网不通，没办法，去年的总结就有今年来写了。 
<br/>BlogReader也算到了0.4吧，太快了？没法，让我自我陶醉一下吧。 
<br/>改动见上一篇文章，<A href="http://www.cnblogs.com/xhluo/archive/2004/12/29/83959.html">http://www.cnblogs.com/xhluo/archive/2004/12/29/83959.html</a> 
<br/>Net2.0版本下的<A href="http://www.cnblogs.com/Files/xhluo/BlogReaderv0.4SourceForNet2.0.rar" style="COLOR: #ff0000">源程序</a>和<A href="http://www.cnblogs.com/Files/xhluo/BlogReaderv0.4BinForNet2.0.rar" style="COLOR: #ff0000">执行文件</a>。(12.29修改) 
<br/>Net1.1版本下的<A href="http://www.cnblogs.com/Files/xhluo/BlogReaderv0.4SourceForNet1.1.rar" style="COLOR: #ff0000">源程序</a>和<A href="http://www.cnblogs.com/Files/xhluo/BlogReaderv0.4BinForNet1.1.rar" style="COLOR: #ff0000">执行文件</a>。(12.29修改) 
<br/>总体下来，现在程序支持压缩、判断更新时间、标题与内容分存。 
<br/>不支持的呢，那就多了，不支持网页重定向、没有条件监视功能、不可以将IE当前浏览的联接或内容保存、不能分析文章的引用关系、内存消耗过大等等。 
<br/>不过，我看了看RssBandit的，也一样，启动后50M，但由于它没有采取多个线程同时更新的做法，内存使用保持基本稳定。 
<br/>SharpReader的就不用说了，当时也是因为它的内存消耗太大，才萌发了作这个软件的念头的。要是它也存在存在8000多篇文章，包括900篇博客园的，估计它能整背过去。哈 
<br/>
<br/>不说是为了时髦或是想学点东西，这个BlogReader就是我的试验田，这两天正在把代码往C++/CLI下转，用一样的控件，一样的实现，看看C++/CLI是不是真像Microsoft说的the first class language for Net。 
<br/>今天刚把界面整完，还挺麻烦的，SandBar在C++/CLI下支持还不好，没法用它的可视化设计界面，所有的代码都的手动改。这还罢了，图标也没法加，只好新建一个别的窗口，加好图标后再复制过去，总算还能用。不过以当前的来看，在C++/CLI下，用纯Net语法，和C+#比，没有改变。我想，只有结合了native C++可能才能真正表现他的the first class罢。 
<br/>所以，最初部的打算，起码将Net下的范型转到STL下，这个Lippman已经说了性能提高，多少不知。 
<br/>等有了心得，在交流。 
<br/>
<br/>当然，C#下的也会更新。 
<br/>最后，问一问，在自己的软件中大段大段的使用甚至一个一个文件的使用开源的代码，但不是完整的使用，不知道这个行为该奖还该罚？？？ 
<br/>
<br/>补一段代码吧，博客园还不支持C++的语法。 
<br/>这是窗口布局的。 
<br/>
<div style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid">
   <div><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" width="11" align="top" /><span style="COLOR: #000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(stdcli::language::safe_cast</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">System::ComponentModel::ISupportInitialize</span><span style="COLOR: #000000">^</span><span style="COLOR: #000000">&#160;&#160;</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">axWebBrowser))</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">BeginInit(); 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" width="11" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">panelListView</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">SuspendLayout(); 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" width="11" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">groupFilter</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">SuspendLayout(); 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" width="11" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">topSandBarDock</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">SuspendLayout(); 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" width="11" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(stdcli::language::safe_cast</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">System::ComponentModel::ISupportInitialize</span><span style="COLOR: #000000">^</span><span style="COLOR: #000000">&#160;&#160;</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">statusBarBrowser))</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">BeginInit(); 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" width="11" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(stdcli::language::safe_cast</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">System::ComponentModel::ISupportInitialize</span><span style="COLOR: #000000">^</span><span style="COLOR: #000000">&#160;&#160;</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">statusBarBrowserProgress))</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">BeginInit(); 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" width="11" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(stdcli::language::safe_cast</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">System::ComponentModel::ISupportInitialize</span><span style="COLOR: #000000">^</span><span style="COLOR: #000000">&#160;&#160;</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">statusBarThread))</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">BeginInit(); 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" width="11" align="top" /></span> 
   </div>
</div>
<br/>下面是我的一段试验性代码。 
<div style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid">
   <div><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" width="11" align="top" /><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&#160;frmMain::frmMain_Load(Object</span><span style="COLOR: #000000">^</span><span style="COLOR: #000000">&#160;&#160;sender,&#160;EventArgs</span><span style="COLOR: #000000">^</span><span style="COLOR: #000000">&#160;&#160;e) 
<br/><img id="Codehighlighter1_59_291_Open_Image" onclick="this.style.display=&#39;none&#39;; Codehighlighter1_59_291_Open_Text.style.display=&#39;none&#39;; Codehighlighter1_59_291_Closed_Image.style.display=&#39;inline&#39;; Codehighlighter1_59_291_Closed_Text.style.display=&#39;inline&#39;;" height="16" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top" /><img id="Codehighlighter1_59_291_Closed_Image" onclick="this.style.display=&#39;none&#39;; Codehighlighter1_59_291_Closed_Text.style.display=&#39;none&#39;; Codehighlighter1_59_291_Open_Image.style.display=&#39;inline&#39;; Codehighlighter1_59_291_Open_Text.style.display=&#39;inline&#39;;" height="16" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" width="11" align="top" style="DISPLAY: none" /></span><span id="Codehighlighter1_59_291_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 height="20" src="http://www.cnblogs.com/images/dot.gif" width="15" /></span><span id="Codehighlighter1_59_291_Open_Text"><span style="COLOR: #000000">{ 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width="11" align="top" />&#160;&#160;&#160;&#160;TreeNode</span><span style="COLOR: #000000">^</span><span style="COLOR: #000000">&#160;node&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;gcnew&#160;TreeNode(</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">abc</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">); 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width="11" align="top" />&#160;&#160;&#160;&#160;treeView</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Nodes</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Add(node); 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width="11" align="top" /> 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width="11" align="top" />&#160;&#160;&#160;&#160;FeedCategory</span><span style="COLOR: #000000">^</span><span style="COLOR: #000000">&#160;category&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;gcnew&#160;FeedCategory(</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">a</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">); 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width="11" align="top" />&#160;&#160;&#160;&#160;Feed</span><span style="COLOR: #000000">^</span><span style="COLOR: #000000">&#160;feed&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;gcnew&#160;Feed(</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">bc</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">,&#160;category); 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width="11" align="top" />&#160;&#160;&#160;&#160;FeedCategory</span><span style="COLOR: #000000">^</span><span style="COLOR: #000000">&#160;i&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;feed</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">ParentCategory; 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width="11" align="top" />&#160;&#160;&#160;&#160;String</span><span style="COLOR: #000000">^</span><span style="COLOR: #000000">&#160;s&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;feed</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Name; 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockEnd.gif" width="11" align="top" />}</span></span><span style="COLOR: #000000"> 
<br/><img height="16" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" width="11" align="top" /></span> 
   </div>
</div><img src ="http://www.cnblogs.com/xhluo/aggbug/85369.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47994/" target="_blank">Google号召社区力量为互联网加速</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item></channel></rss>