﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客园-沐枫小筑</title><link>http://www.cnblogs.com/ly4cn/</link><description>script c c++ c++/cli c# .net windows ria game and so ...</description><language>zh-cn</language><lastBuildDate>Tue, 09 Feb 2010 21:35:14 GMT</lastBuildDate><pubDate>Tue, 09 Feb 2010 21:35:14 GMT</pubDate><ttl>60</ttl><item><title>ASP.NET 日期数据服务端验证失败的原因</title><link>http://www.cnblogs.com/ly4cn/archive/2009/11/11/1600751.html</link><dc:creator>沐枫</dc:creator><author>沐枫</author><pubDate>Wed, 11 Nov 2009 02:41:00 GMT</pubDate><guid>http://www.cnblogs.com/ly4cn/archive/2009/11/11/1600751.html</guid><description><![CDATA[<p>阅读: 94 评论: 0 作者: <a href="http://www.cnblogs.com/ly4cn/" target="_blank">沐枫</a> 发表于 2009-11-11 10:41 <a href="http://www.cnblogs.com/ly4cn/archive/2009/11/11/1600751.html" target="_blank">原文链接</a></p><p>&nbsp;&nbsp; Mvc 2.0 Preview2 增加了客户端验证的功能，但实际使用中，有同事发现正则表达式验证日期输入时，客户端验证成功，而服务端验证总失败。</p>
<p>&nbsp;&nbsp; 检查同事的代码，并没有发现明显的问题：（注，此处正则表达式经过简化）</p>
<div class="cnblogs_code"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;">[RegularExpression(</span><span style="color: #800000;">"</span><span style="color: #800000;">^20\d\d-\d?\d-\d\d$</span><span style="color: #800000;">"</span><span style="color: #000000;">)]<br />
</span><span style="color: #0000ff;">object</span><span style="color: #000000;">&nbsp;somedate&nbsp;{</span><span style="color: #0000ff;">get</span><span style="color: #000000;">;</span><span style="color: #0000ff;">set</span><span style="color: #000000;">;}</span></div>
<p>&nbsp; 运行，在文本框中输入 2009-12-30 ，服务端提示正则表达式匹配失败。<br />
</p>
<p>&nbsp; 不解，反编译RegularExpressionAttribute，其中IsValidate代码如下：</p>
<br />
<div class="cnblogs_code"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">override</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">bool</span><span style="color: #000000;">&nbsp;IsValid(</span><span style="color: #0000ff;">object</span><span style="color: #000000;">&nbsp;value)<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">string</span><span style="color: #000000;">&nbsp;str&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Convert.ToString(value,&nbsp;CultureInfo.CurrentCulture);<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">string</span><span style="color: #000000;">.IsNullOrEmpty(str))<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;Match&nbsp;match&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.Regex.Match(str);<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;((match.Success&nbsp;</span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;">&nbsp;(match.Index&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">0</span><span style="color: #000000;">))&nbsp;</span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;">&nbsp;(match.Length&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;str.Length));<br />
}</span></div><p>&nbsp; 终于发现问题，原来，日期数据被Convert.ToString后，生成的日期是带时间的，如：2009-12-30 0:00:00，所以正则匹配总是失败。因此，匹配日期的时候，应该为正则表达式留出时间数据的位置。这一点，WebForm和Mvc都是一致的。 <br /></p><p>&nbsp;</p><img src="http://www.cnblogs.com/ly4cn/aggbug/1600751.html?type=1" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/ly4cn/archive/2009/11/11/1600751.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/ly4cn/archive/2009/11/11/1600751.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56793/" target="_blank">知名扩展 Firebug 的简化版登陆 Chrome</a><span style="color:gray">(2010-02-09 22:59)</span><br/>· <a href="http://news.cnblogs.com/n/56792/" target="_blank">Google 悄悄地启用 1e100.net，打枪地不要</a><span style="color:gray">(2010-02-09 22:57)</span><br/>· <a href="http://news.cnblogs.com/n/56791/" target="_blank">从 Google 代码库找到的好东西</a><span style="color:gray">(2010-02-09 22:46)</span><br/>· <a href="http://news.cnblogs.com/n/56789/" target="_blank">苹果在线商店临时关闭 或将推新Macbook</a><span style="color:gray">(2010-02-09 22:39)</span><br/>· <a href="http://news.cnblogs.com/n/56788/" target="_blank">豆瓣网推出豆瓣电台iPhone客户端</a><span style="color:gray">(2010-02-09 21:51)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56782/" target="_blank">2010年2月编程语言排行榜</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>Mvc 2.0 Preview2 中 DefaultParameterValue 不支持枚举的Bug</title><link>http://www.cnblogs.com/ly4cn/archive/2009/11/10/1600071.html</link><dc:creator>沐枫</dc:creator><author>沐枫</author><pubDate>Tue, 10 Nov 2009 10:19:00 GMT</pubDate><guid>http://www.cnblogs.com/ly4cn/archive/2009/11/10/1600071.html</guid><description><![CDATA[<p>阅读: 96 评论: 0 作者: <a href="http://www.cnblogs.com/ly4cn/" target="_blank">沐枫</a> 发表于 2009-11-10 18:19 <a href="http://www.cnblogs.com/ly4cn/archive/2009/11/10/1600071.html" target="_blank">原文链接</a></p><p>&nbsp;&nbsp; 由于C#现在还没有提供默认参数的功能，因此，遇到需要默认参数的场合，有时候需要用到 DefaultParameterValue。</p><p>&nbsp;&nbsp; 我在MVC项目中，就常常会遇到需要为Action指定默认参数的情况。当需要为枚举类型的参数提供默认值的时候，出了问题。在运行的时候，总是提示&#8220;The dictionary contains a value of type 'System.Int32', but the parameter requires a value of type 'Constants.DocumentClassification'.&#8221;。<br /></p><p>&nbsp; 当时，Action的定义如下：</p><div class="cnblogs_code"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;ActionResult&nbsp;Index([DefaultParameterValue(Constants.DocumentClassification.Default)]&nbsp;classification)<br />{<br /><img src="http://www.cnblogs.com/Images/dot.gif" alt="" /><br />}</span></div><p>&nbsp; 经过反编译研究，最终发现，这是MVC(当前用的是MVC 2.0 Preview 2)的 bug。<br /></p><p>&nbsp; 当需要调用Action时，对于缺少的参数，Mvc会使用ParameterDescriptor.DefaultValue作为默认值。但是DefaultValue居然返回的是ParameterInfo.RawDefaultValue。这在一般情况下是没有问题的，但在枚举的情况下，它返回的不是枚举值，而是枚举的基础数值，一般常见的为Int32。<br /></p><p>&nbsp;这就造成了数据类型不匹配，最终出现ArgumentException。<br /></p><p>&nbsp;&nbsp; 好在ParameterDescriptor.DefaultValue在找不到DefaultParameterValueAttribute时，还继续查找DefaultValueAttribute，这回返回了正确的默认值。因此，可以使用DefaultValueAttribute来定义参数默认值，从而避开了这个Bug。<br /></p><p>&nbsp; 即，上述的 Action修改如下就OK了：</p><p>&nbsp;</p><div class="cnblogs_code"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;ActionResult&nbsp;Index([DefaultValue(Constants.DocumentClassification.Default)]&nbsp;classification)<br />{<br /><img src="http://www.cnblogs.com/Images/dot.gif" alt="" /><br />}</span></div><img src="http://www.cnblogs.com/ly4cn/aggbug/1600071.html?type=1" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/ly4cn/archive/2009/11/10/1600071.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/ly4cn/archive/2009/11/10/1600071.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56793/" target="_blank">知名扩展 Firebug 的简化版登陆 Chrome</a><span style="color:gray">(2010-02-09 22:59)</span><br/>· <a href="http://news.cnblogs.com/n/56792/" target="_blank">Google 悄悄地启用 1e100.net，打枪地不要</a><span style="color:gray">(2010-02-09 22:57)</span><br/>· <a href="http://news.cnblogs.com/n/56791/" target="_blank">从 Google 代码库找到的好东西</a><span style="color:gray">(2010-02-09 22:46)</span><br/>· <a href="http://news.cnblogs.com/n/56789/" target="_blank">苹果在线商店临时关闭 或将推新Macbook</a><span style="color:gray">(2010-02-09 22:39)</span><br/>· <a href="http://news.cnblogs.com/n/56788/" target="_blank">豆瓣网推出豆瓣电台iPhone客户端</a><span style="color:gray">(2010-02-09 21:51)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56782/" target="_blank">2010年2月编程语言排行榜</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>DynamicControl/DynamicField 例外的解决</title><link>http://www.cnblogs.com/ly4cn/archive/2009/01/21/1379510.html</link><dc:creator>沐枫</dc:creator><author>沐枫</author><pubDate>Wed, 21 Jan 2009 07:32:00 GMT</pubDate><guid>http://www.cnblogs.com/ly4cn/archive/2009/01/21/1379510.html</guid><description><![CDATA[<p>阅读: 1294 评论: 2 作者: <a href="http://www.cnblogs.com/ly4cn/" target="_blank">沐枫</a> 发表于 2009-01-21 15:32 <a href="http://www.cnblogs.com/ly4cn/archive/2009/01/21/1379510.html" target="_blank">原文链接</a></p><p>　　在使用 DynamicField / DynamicControl 时，经常在PostBack时，会出现一个例外：</p>
<p>　　The DynamicControl/DynamicField needs to exist inside a data control that is bound to a data source that supports Dynamic Data. <br />
</p>
<p>　　中文为：</p>
<p>　　绑定到支持动态数据的数据源的数据控件内必须存在 DynamicControl/DynamicField </p>
<br />
<p>　　具体发生原因暂时不太清楚，估计是PostBack的事件流程和页面正常加载不一致。当PostBack后，数据控件（如DetailsView, GridView, ListView 等）在状态加载时， 会把所有的 Fileds或Columns初始化一次，而这一次，由于数据源没有绑定，所以找不到相关的 MetaTable。在这种情况下，DynamicControl 和 DynamicField 都是丢出上述的例外。</p>
<p>　　不过，从应用上来看，如果数据绑定做的合理的话（比如在InitComplete以前绑定），是不会出现这个问题的。但是一旦出了这个问题，解决起来就比较麻烦了，因为常常有些人习惯于在Load中绑定数据，要修改的话，常常会牵连一大堆的代码。希望对这个问题比较了解的朋友多多指教。<br />
</p>
<p>　　目前我采用的方法，可以不改变原有的绑定流程，可以跟以前的Eval、Bind等一样使用，可以让大家试试。在使用中如有发现有Bug，请发邮件告诉我。因为我最近几个月都在应用 DynamicFieldTemplates 来开发应用程序，对这些问题比较关心。</p>
<p>　　使用这种方法，可以让一些程序经验不足的人，也能避开这个错误。<br />
</p>
<p>　　我分别从DynamicControl 和 DynamicField 继承了新的类 DdControl 和 DdField，然后在初始化时，判断是否存在MetaTable，如果不存在，则不再初始化。然后，程序中原本所有采用 DynamicControl/DynamicField的地方，都换成DdControl/DdField。</p>
<p>　　DdControl/DdField的源码如下： <br />
</p>
<div class="cnblogs_code"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">namespace</span><span style="color: #000000;">&nbsp;Common<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;DdField&nbsp;:&nbsp;DynamicField<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">override</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;InitializeCell(System.Web.UI.WebControls.DataControlFieldCell&nbsp;cell,&nbsp;System.Web.UI.WebControls.DataControlCellType&nbsp;cellType,&nbsp;System.Web.UI.WebControls.DataControlRowState&nbsp;rowState,&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;rowIndex)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;HACK:&nbsp;Fix&nbsp;bug&nbsp;for:&nbsp;The&nbsp;DynamicControl/DynamicField&nbsp;needs&nbsp;to&nbsp;exist&nbsp;inside&nbsp;a&nbsp;data&nbsp;control&nbsp;that&nbsp;is&nbsp;bound&nbsp;to&nbsp;a&nbsp;data&nbsp;source&nbsp;that&nbsp;supports&nbsp;Dynamic&nbsp;Data.</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">base</span><span style="color: #000000;">.Control.FindMetaTable()&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">base</span><span style="color: #000000;">.InitializeCell(cell,&nbsp;cellType,&nbsp;rowState,&nbsp;rowIndex);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}<br />
</span></div>
<p>&nbsp;</p>
<div class="cnblogs_code"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">namespace</span><span style="color: #000000;">&nbsp;Common<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;DdControl&nbsp;:&nbsp;DynamicControl<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">protected</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">override</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;OnInit(EventArgs&nbsp;e)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;HACK:&nbsp;Fix&nbsp;bug&nbsp;for:&nbsp;The&nbsp;DynamicControl/DynamicField&nbsp;needs&nbsp;to&nbsp;exist&nbsp;inside&nbsp;a&nbsp;data&nbsp;control&nbsp;that&nbsp;is&nbsp;bound&nbsp;to&nbsp;a&nbsp;data&nbsp;source&nbsp;that&nbsp;supports&nbsp;Dynamic&nbsp;Data.</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.FindMetaTable()&nbsp;</span><span style="color: #000000;">!=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">base</span><span style="color: #000000;">.OnInit(e);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}<br />
</span></div>
<p><br />
</p>
<p>　　使用时，只要在web.config中配置好前缀，就可以直接使用了。如：</p>
<div class="cnblogs_code"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008000;">&lt;!--</span><span style="color: #008000;">&nbsp;假设上述的程序生成&nbsp;Common.dll&nbsp;</span><span style="color: #008000;">--&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">add&nbsp;</span><span style="color: #ff0000;">tagPrefix</span><span style="color: #0000ff;">="asp"</span><span style="color: #ff0000;">&nbsp;namespace</span><span style="color: #0000ff;">="Common"</span><span style="color: #ff0000;">&nbsp;assembly</span><span style="color: #0000ff;">="Common"</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;"><br />
</span></div>
<p>&nbsp;</p>
<div class="cnblogs_code"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;">&lt;</span><span style="color: #000000;">DetailsView&nbsp;<img src="http://www.cnblogs.com/Images/dot.gif" alt="" /></span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">Fields</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">asp:DdField&nbsp;DataField</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">Name</span><span style="color: #800000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">/&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;<img src="http://www.cnblogs.com/Images/dot.gif" alt="" /><br />
&nbsp;&nbsp;</span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">Fields</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">DetailsView</span><span style="color: #000000;">&gt;</span></div>
<p> </p>
<p>　<br />
</p>
<div class="cnblogs_code"><span id="Code_Open_Text_152128" style="display: none;"><br />
<!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">namespace</span><span style="color: #000000;">&nbsp;Common<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;DdControl&nbsp;:&nbsp;DynamicControl<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">protected</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">override</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;OnInit(EventArgs&nbsp;e)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;HACK:&nbsp;Fix&nbsp;bug&nbsp;for:&nbsp;The&nbsp;DynamicControl/DynamicField&nbsp;needs&nbsp;to&nbsp;exist&nbsp;inside&nbsp;a&nbsp;data&nbsp;control&nbsp;that&nbsp;is&nbsp;bound&nbsp;to&nbsp;a&nbsp;data&nbsp;source&nbsp;that&nbsp;supports&nbsp;Dynamic&nbsp;Data.</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.FindMetaTable()&nbsp;</span><span style="color: #000000;">!=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">base</span><span style="color: #000000;">.OnInit(e);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}<br />
</span></span></div><img src="http://www.cnblogs.com/ly4cn/aggbug/1379510.html?type=1" width="1" height="1" alt=""/><p>评论: 2　<a href="http://www.cnblogs.com/ly4cn/archive/2009/01/21/1379510.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/ly4cn/archive/2009/01/21/1379510.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56793/" target="_blank">知名扩展 Firebug 的简化版登陆 Chrome</a><span style="color:gray">(2010-02-09 22:59)</span><br/>· <a href="http://news.cnblogs.com/n/56792/" target="_blank">Google 悄悄地启用 1e100.net，打枪地不要</a><span style="color:gray">(2010-02-09 22:57)</span><br/>· <a href="http://news.cnblogs.com/n/56791/" target="_blank">从 Google 代码库找到的好东西</a><span style="color:gray">(2010-02-09 22:46)</span><br/>· <a href="http://news.cnblogs.com/n/56789/" target="_blank">苹果在线商店临时关闭 或将推新Macbook</a><span style="color:gray">(2010-02-09 22:39)</span><br/>· <a href="http://news.cnblogs.com/n/56788/" target="_blank">豆瓣网推出豆瓣电台iPhone客户端</a><span style="color:gray">(2010-02-09 21:51)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56782/" target="_blank">2010年2月编程语言排行榜</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>推荐一个不错的flex ajax javascript资源网站</title><link>http://www.cnblogs.com/ly4cn/archive/2008/08/26/1276458.html</link><dc:creator>沐枫</dc:creator><author>沐枫</author><pubDate>Tue, 26 Aug 2008 02:39:00 GMT</pubDate><guid>http://www.cnblogs.com/ly4cn/archive/2008/08/26/1276458.html</guid><description><![CDATA[<p>阅读: 608 评论: 0 作者: <a href="http://www.cnblogs.com/ly4cn/" target="_blank">沐枫</a> 发表于 2008-08-26 10:39 <a href="http://www.cnblogs.com/ly4cn/archive/2008/08/26/1276458.html" target="_blank">原文链接</a></p><p>推荐一个不错的flex ajax javascript资源网站</p>
<p>http://ntt.cc/</p>
<p>有实例有源码，包含内容有flash, flex, ajax, javascript等ria应用的许多不错的效果和功能。</p><img src="http://www.cnblogs.com/ly4cn/aggbug/1276458.html?type=1" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/ly4cn/archive/2008/08/26/1276458.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/ly4cn/archive/2008/08/26/1276458.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56793/" target="_blank">知名扩展 Firebug 的简化版登陆 Chrome</a><span style="color:gray">(2010-02-09 22:59)</span><br/>· <a href="http://news.cnblogs.com/n/56792/" target="_blank">Google 悄悄地启用 1e100.net，打枪地不要</a><span style="color:gray">(2010-02-09 22:57)</span><br/>· <a href="http://news.cnblogs.com/n/56791/" target="_blank">从 Google 代码库找到的好东西</a><span style="color:gray">(2010-02-09 22:46)</span><br/>· <a href="http://news.cnblogs.com/n/56789/" target="_blank">苹果在线商店临时关闭 或将推新Macbook</a><span style="color:gray">(2010-02-09 22:39)</span><br/>· <a href="http://news.cnblogs.com/n/56788/" target="_blank">豆瓣网推出豆瓣电台iPhone客户端</a><span style="color:gray">(2010-02-09 21:51)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56782/" target="_blank">2010年2月编程语言排行榜</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>.net winform 的 OnKeyDown 与 方向键</title><link>http://www.cnblogs.com/ly4cn/archive/2008/08/18/1270410.html</link><dc:creator>沐枫</dc:creator><author>沐枫</author><pubDate>Mon, 18 Aug 2008 08:13:00 GMT</pubDate><guid>http://www.cnblogs.com/ly4cn/archive/2008/08/18/1270410.html</guid><description><![CDATA[<p>阅读: 529 评论: 0 作者: <a href="http://www.cnblogs.com/ly4cn/" target="_blank">沐枫</a> 发表于 2008-08-18 16:13 <a href="http://www.cnblogs.com/ly4cn/archive/2008/08/18/1270410.html" target="_blank">原文链接</a></p><p>　　随手写了一个小程序，突然遇到一个问题：</p>
<p>　　在自定义的控件中，override了一个OnKeyDown，用于处理方向键。结果，无效，跟踪调试发现，方向键无法进入函数断点，但其它如数字字母等键可以。</p>
<p>　　上网查了一下，发现不少人遇到同样的问题。不过不是在自定义控件中，是在窗体中。当然，解决的方法很简单，设置KeyPreview为true就可以了。<br />
</p>
<p>　　自定义控件可没有KeyPreview属性。<br />
</p>
<p>　　为什么方向键会这么特殊？很简单，原来，方向键、制表键(Tab)等用于窗体中的各个子控件的焦点切换，因此在OnKeyDown之前就被截获并处理掉了。<br />
</p>
<p>　　知道原因了，解决起来就好办了：</p>
<p>　　在自定义控件中如需要处理方向键，应该override OnPreviewKeyDown/OnPreviewKeyUp等弊病数就可以了。<br />
</p><img src="http://www.cnblogs.com/ly4cn/aggbug/1270410.html?type=1" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/ly4cn/archive/2008/08/18/1270410.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/ly4cn/archive/2008/08/18/1270410.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56793/" target="_blank">知名扩展 Firebug 的简化版登陆 Chrome</a><span style="color:gray">(2010-02-09 22:59)</span><br/>· <a href="http://news.cnblogs.com/n/56792/" target="_blank">Google 悄悄地启用 1e100.net，打枪地不要</a><span style="color:gray">(2010-02-09 22:57)</span><br/>· <a href="http://news.cnblogs.com/n/56791/" target="_blank">从 Google 代码库找到的好东西</a><span style="color:gray">(2010-02-09 22:46)</span><br/>· <a href="http://news.cnblogs.com/n/56789/" target="_blank">苹果在线商店临时关闭 或将推新Macbook</a><span style="color:gray">(2010-02-09 22:39)</span><br/>· <a href="http://news.cnblogs.com/n/56788/" target="_blank">豆瓣网推出豆瓣电台iPhone客户端</a><span style="color:gray">(2010-02-09 21:51)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56782/" target="_blank">2010年2月编程语言排行榜</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>MySQL 5.1 无法创建、修改存储过程的解决（简单问题）</title><link>http://www.cnblogs.com/ly4cn/archive/2008/04/22/1165528.html</link><dc:creator>沐枫</dc:creator><author>沐枫</author><pubDate>Tue, 22 Apr 2008 06:05:00 GMT</pubDate><guid>http://www.cnblogs.com/ly4cn/archive/2008/04/22/1165528.html</guid><description><![CDATA[<p>阅读: 1237 评论: 1 作者: <a href="http://www.cnblogs.com/ly4cn/" target="_blank">沐枫</a> 发表于 2008-04-22 14:05 <a href="http://www.cnblogs.com/ly4cn/archive/2008/04/22/1165528.html" target="_blank">原文链接</a></p>刚开始用MySQL 5.1，就遇到无法创建、修改存储过程。<br />
尝试无果，上网搜索，居然简单就解决了：<br />
<br />
网友<a target="_blank" href="http://hi.csdn.net/dracoo">dracoo</a>提供答案：<br />
问题就出在你用了新版的MySQL <br />
在建立存储过程前加上这个命令吧。 <br />
SET&nbsp;sql_mode&nbsp;=&nbsp;'';<br />
<br />
为了省事，我直接把MySQL的服务器参数sql_mode去掉了。然后一切正常。<br />
<img src="http://www.cnblogs.com/ly4cn/aggbug/1165528.html?type=1" width="1" height="1" alt=""/><p>评论: 1　<a href="http://www.cnblogs.com/ly4cn/archive/2008/04/22/1165528.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/ly4cn/archive/2008/04/22/1165528.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56793/" target="_blank">知名扩展 Firebug 的简化版登陆 Chrome</a><span style="color:gray">(2010-02-09 22:59)</span><br/>· <a href="http://news.cnblogs.com/n/56792/" target="_blank">Google 悄悄地启用 1e100.net，打枪地不要</a><span style="color:gray">(2010-02-09 22:57)</span><br/>· <a href="http://news.cnblogs.com/n/56791/" target="_blank">从 Google 代码库找到的好东西</a><span style="color:gray">(2010-02-09 22:46)</span><br/>· <a href="http://news.cnblogs.com/n/56789/" target="_blank">苹果在线商店临时关闭 或将推新Macbook</a><span style="color:gray">(2010-02-09 22:39)</span><br/>· <a href="http://news.cnblogs.com/n/56788/" target="_blank">豆瓣网推出豆瓣电台iPhone客户端</a><span style="color:gray">(2010-02-09 21:51)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56782/" target="_blank">2010年2月编程语言排行榜</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>一个稍微好用些的 svn 服务器</title><link>http://www.cnblogs.com/ly4cn/archive/2007/12/15/SVN.html</link><dc:creator>沐枫</dc:creator><author>沐枫</author><pubDate>Sat, 15 Dec 2007 10:31:00 GMT</pubDate><guid>http://www.cnblogs.com/ly4cn/archive/2007/12/15/SVN.html</guid><description><![CDATA[<p>阅读: 828 评论: 0 作者: <a href="http://www.cnblogs.com/ly4cn/" target="_blank">沐枫</a> 发表于 2007-12-15 18:31 <a href="http://www.cnblogs.com/ly4cn/archive/2007/12/15/SVN.html" target="_blank">原文链接</a></p>今天安装svn服务器。上官网下载，发现windows下有一个稍微好用些的svn服务器。<br />
下载地址： http://www.visualsvn.com/server/<br />
<br />
这个东西有几个特色：<br />
1. 安装和配置过程很方便（最大优点之一）<br />
2. 自带apache/ssl/mod_dav_svn/...等模块，既小巧，又简单，也安全一些。<br />
3. 自带MSC管理工具，可以创建用户、用户组，还可以管理多个源码库，以及配置各个路径的访问权限（最大优点之二）<br />
<br />
通过上面下载地址，可以看到截图。不过，截图的版本稍低点。目前的版本是1.01。核心是Svn1.45，与官方同步。其实它也是为官方提供windows移植版的网站之一。<br />
<br />
需要注意的是，这个网站提供的VisualSVN Server是免费的，而客户端VisualSVN是收费的。我们可以不用该客户端，客户端还是用TortoiseSVN/AkuhSVN之类的。VisualSVN客户端从介绍上看，与AnkhSVN是差不多的，只不过功能上略有优点。定价是$49。<br />
<br />
<img src="http://www.cnblogs.com/ly4cn/aggbug/996125.html?type=1" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/ly4cn/archive/2007/12/15/SVN.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/ly4cn/archive/2007/12/15/SVN.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56793/" target="_blank">知名扩展 Firebug 的简化版登陆 Chrome</a><span style="color:gray">(2010-02-09 22:59)</span><br/>· <a href="http://news.cnblogs.com/n/56792/" target="_blank">Google 悄悄地启用 1e100.net，打枪地不要</a><span style="color:gray">(2010-02-09 22:57)</span><br/>· <a href="http://news.cnblogs.com/n/56791/" target="_blank">从 Google 代码库找到的好东西</a><span style="color:gray">(2010-02-09 22:46)</span><br/>· <a href="http://news.cnblogs.com/n/56789/" target="_blank">苹果在线商店临时关闭 或将推新Macbook</a><span style="color:gray">(2010-02-09 22:39)</span><br/>· <a href="http://news.cnblogs.com/n/56788/" target="_blank">豆瓣网推出豆瓣电台iPhone客户端</a><span style="color:gray">(2010-02-09 21:51)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56782/" target="_blank">2010年2月编程语言排行榜</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>VC中的一个很奇怪的问题－－关于C4244</title><link>http://www.cnblogs.com/ly4cn/archive/2007/11/30/978144.html</link><dc:creator>沐枫</dc:creator><author>沐枫</author><pubDate>Fri, 30 Nov 2007 04:48:00 GMT</pubDate><guid>http://www.cnblogs.com/ly4cn/archive/2007/11/30/978144.html</guid><description><![CDATA[<p>阅读: 659 评论: 1 作者: <a href="http://www.cnblogs.com/ly4cn/" target="_blank">沐枫</a> 发表于 2007-11-30 12:48 <a href="http://www.cnblogs.com/ly4cn/archive/2007/11/30/978144.html" target="_blank">原文链接</a></p>&nbsp;&nbsp;&nbsp; 从VC2003到VC2005，一直有一个很奇怪的问题。<br />
&nbsp;&nbsp;&nbsp; 如下的代码：<br />
<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">short</span><span style="color: rgb(0, 0, 0);">&nbsp;s1&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">short</span><span style="color: rgb(0, 0, 0);">&nbsp;s2&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 0);">2</span><span style="color: rgb(0, 0, 0);">;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;s1&nbsp;</span><span style="color: rgb(0, 0, 0);">+=</span><span style="color: rgb(0, 0, 0);">&nbsp;s2;<br />
</span></div>
&nbsp;&nbsp;&nbsp; 在这两个编译器的 /w4 四级警告打开的时候，就冒出以下的警告来：<br />
<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: rgb(0, 0, 0);">warning&nbsp;C4244:&nbsp;&#8220;</span><span style="color: rgb(0, 0, 0);">+=</span><span style="color: rgb(0, 0, 0);">&#8221;:&nbsp;从&#8220;</span><span style="color: rgb(0, 0, 255);">int</span><span style="color: rgb(0, 0, 0);">&#8221;转换到&#8220;</span><span style="color: rgb(0, 0, 255);">short</span><span style="color: rgb(0, 0, 0);">&#8221;，可能丢失数据</span></div>
&nbsp;&nbsp;&nbsp; 为了消除这个警，只能将 += 拆成 = 和 +，如 s1 = s1 + s2。<br />
<br />
&nbsp;&nbsp;&nbsp; 终于，这个问题在VC2008消失了。<br />
<br />
<img src="http://www.cnblogs.com/ly4cn/aggbug/978144.html?type=1" width="1" height="1" alt=""/><p>评论: 1　<a href="http://www.cnblogs.com/ly4cn/archive/2007/11/30/978144.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/ly4cn/archive/2007/11/30/978144.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56793/" target="_blank">知名扩展 Firebug 的简化版登陆 Chrome</a><span style="color:gray">(2010-02-09 22:59)</span><br/>· <a href="http://news.cnblogs.com/n/56792/" target="_blank">Google 悄悄地启用 1e100.net，打枪地不要</a><span style="color:gray">(2010-02-09 22:57)</span><br/>· <a href="http://news.cnblogs.com/n/56791/" target="_blank">从 Google 代码库找到的好东西</a><span style="color:gray">(2010-02-09 22:46)</span><br/>· <a href="http://news.cnblogs.com/n/56789/" target="_blank">苹果在线商店临时关闭 或将推新Macbook</a><span style="color:gray">(2010-02-09 22:39)</span><br/>· <a href="http://news.cnblogs.com/n/56788/" target="_blank">豆瓣网推出豆瓣电台iPhone客户端</a><span style="color:gray">(2010-02-09 21:51)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56782/" target="_blank">2010年2月编程语言排行榜</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>汉语编程++</title><link>http://www.cnblogs.com/ly4cn/archive/2007/10/17/928102.html</link><dc:creator>沐枫</dc:creator><author>沐枫</author><pubDate>Wed, 17 Oct 2007 12:20:00 GMT</pubDate><guid>http://www.cnblogs.com/ly4cn/archive/2007/10/17/928102.html</guid><description><![CDATA[<p>阅读: 1021 评论: 2 作者: <a href="http://www.cnblogs.com/ly4cn/" target="_blank">沐枫</a> 发表于 2007-10-17 20:20 <a href="http://www.cnblogs.com/ly4cn/archive/2007/10/17/928102.html" target="_blank">原文链接</a></p>&nbsp;&nbsp;&nbsp; 没想到汉语编程又有人开始网上对骂了。一方指另一方骗人，一方吹自已伟大。<br />
&nbsp;&nbsp;&nbsp; 今天群里头有人又把它翻出来了，刚好无聊，也就发明了一个汉语编程语言，集成到visual studio 2005的IDE中，名字就叫汉语编程++，欢迎同样无聊的朋友试用。<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;">#include&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">常用头文件</span><span style="color: #000000;">"</span><span style="color: #000000;"><br />
<br />
<br />
整数&nbsp;主函数(整数&nbsp;参数数量,&nbsp;字符指针&nbsp;参数 是数组)<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;整数&nbsp;变量1&nbsp;赋值为&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;如果(变量1&nbsp;大于&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;打印(</span><span style="color: #000000;">"</span><span style="color: #000000;">可以中文编程\n</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;系统命令(</span><span style="color: #000000;">"</span><span style="color: #000000;">Pause</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;返回&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;<br />
}<br />
<br />
</span></div>
<br />
&nbsp;&nbsp;&nbsp; 运行结果就是：&#8220;可以中文编程&#8221;<br />
&nbsp;&nbsp;&nbsp; 语法呢，就是C++一样的，那个&#8220;常用头文件&#8221;的内容如下：<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">#define</span><span style="color: #000000;">&nbsp;整数&nbsp;int</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">#define</span><span style="color: #000000;">&nbsp;如果&nbsp;if</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">#define</span><span style="color: #000000;">&nbsp;大于&nbsp;&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">#define</span><span style="color: #000000;">&nbsp;打印&nbsp;printf</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">#define</span><span style="color: #000000;">&nbsp;系统命令&nbsp;system</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">#define</span><span style="color: #000000;">&nbsp;赋值为&nbsp;=</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">#define</span><span style="color: #000000;">&nbsp;主函数&nbsp;_tmain</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">#define</span><span style="color: #000000;">&nbsp;字符指针&nbsp;_TCHAR*</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">#define</span><span style="color: #000000;">&nbsp;是数组&nbsp;[]</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">#define</span><span style="color: #000000;">&nbsp;返回</span><span style="color: #000000;"><br />
<br />
#include&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">tchar.h</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />
#include&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">iostream</span><span style="color: #000000;">&gt;</span></div>
<br />
&nbsp;&nbsp;&nbsp; 唯一美中不足的是，#include暂时无法汉化。于是劝群里的人用这个写写情书，结果，没人响应...<br />
&nbsp;<span style="color: red;">&nbsp;&nbsp; 不过，#include 可以在项目属性中去掉它（C++高级选项：强制包含），或是指定编译命令参数 /FI "常用头文件" ，这样就可以去掉上面的&#8220;#include "常用头文件"&#8221;了。&nbsp;&nbsp;  </span><br />
-----<br />
以上程序在VC++2005上编译并运行通过。<br />
<br />
附群朋友的程序：<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;">高興不&lt;&gt;&nbsp; 19:54:59<br />
还真有这么玩的啊 <br />
沐枫(Liny)()&nbsp; 19:55:02<br />
各位朋友，咱们提供一个头文件，于是全中国人都可以用vc++2005来进行中文编程了。<br />
风在奔跑()&nbsp; 19:55:05<br />
我从来没这么玩过. <br />
沐枫(Liny)()&nbsp; 19:55:19<br />
玩玩吧，挺好玩的。<br />
风在奔跑()&nbsp; 19:55:28<br />
干脆把所有函数用中文define成一个中文编程库. <br />
沐枫(Liny)()&nbsp; 19:55:30<br />
不就是一堆#defing<br />
</span><span style="color: #000000;">沐枫(Liny)()&nbsp; 20:13:43<br />
用这个写情书吧各位。<br />
西瓜()&nbsp; 20:13:57<br />
女朋友不懂程序怎么办 <br />
ＴＬＡＨ()&nbsp; 20:13:58<br />
这样的情书...球球不会喜欢的 <br />
高興不&lt;&gt;&nbsp; 20:14:04<br />
。。。情书里就一个弹出的对话框"欲知详情，请看代码" <br />
西瓜()&nbsp; 20:14:17<br />
球球又没出现 </span><br />
<span style="color: #000000;">ＴＬＡＨ()&nbsp;&nbsp;</span><span style="color: #000000;">20</span><span style="color: #000000;">:</span><span style="color: #000000;">19</span><span style="color: #000000;">:</span><span style="color: #000000;">00</span><span style="color: #000000;"><br />
<br />
</span><span style="color: #0000ff;">#define</span><span style="color: #000000;">&nbsp;趁还&nbsp;while</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">#define</span><span style="color: #000000;">&nbsp;那个啥&nbsp;int</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">#define</span><span style="color: #000000;">&nbsp;总的来说&nbsp;main</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">#define</span><span style="color: #000000;">&nbsp;买&nbsp;cin</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">#define</span><span style="color: #000000;">&nbsp;卖&nbsp;cout</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">#define</span><span style="color: #000000;">&nbsp;进&nbsp;&gt;&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">#define</span><span style="color: #000000;">&nbsp;出&nbsp;&lt;&lt;</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">#define</span><span style="color: #000000;">&nbsp;拜拜了&nbsp;return</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">#define</span><span style="color: #000000;">&nbsp;去掉&nbsp;-=</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">#define</span><span style="color: #000000;">&nbsp;等于&nbsp;=</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">#define</span><span style="color: #000000;">&nbsp;屁&nbsp;100e4</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">#define</span><span style="color: #000000;">&nbsp;我说&nbsp;(</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">#define</span><span style="color: #000000;">&nbsp;是吧&nbsp;)</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">#define</span><span style="color: #000000;">&nbsp;啊&nbsp;a</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">#define</span><span style="color: #000000;">&nbsp;那么就&nbsp;{</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">#define</span><span style="color: #000000;">&nbsp;得了&nbsp;}</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">#define</span><span style="color: #000000;">&nbsp;呀&nbsp;;</span><span style="color: #000000;"><br />
#include&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">iostream</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">using</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">namespace</span><span style="color: #000000;">&nbsp;std;<br />
<br />
那个啥&nbsp;总的来说&nbsp;我说&nbsp;那个啥&nbsp;啊&nbsp;是吧<br />
那么就&nbsp;那个啥&nbsp;有钱&nbsp;等于&nbsp;屁&nbsp;呀<br />
趁还&nbsp;我说&nbsp;有钱&nbsp;是吧&nbsp;&nbsp;&nbsp;&nbsp;那么就<br />
那个啥&nbsp;多少&nbsp;呀&nbsp;买&nbsp;进&nbsp;多少&nbsp;呀&nbsp;卖&nbsp;出&nbsp;多少&nbsp;呀&nbsp;有钱&nbsp;去掉&nbsp;多少&nbsp;呀<br />
卖&nbsp;出&nbsp;多少&nbsp;呀&nbsp;得了<br />
拜拜了&nbsp;啊&nbsp;呀&nbsp;得了&nbsp;<br />
<br />
高興不</span><span style="color: #000000;">&lt;&gt;</span><span style="color: #000000;">&nbsp;&nbsp;</span><span style="color: #000000;">20</span><span style="color: #000000;">:</span><span style="color: #000000;">19</span><span style="color: #000000;">:</span><span style="color: #000000;">30</span><span style="color: #000000;"><br />
最有语义的中文编程诞生了&nbsp;<br />
<br />
</span><span style="color: #000000;"><br />
</span></div>
<img src="http://www.cnblogs.com/ly4cn/aggbug/928102.html?type=1" width="1" height="1" alt=""/><p>评论: 2　<a href="http://www.cnblogs.com/ly4cn/archive/2007/10/17/928102.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/ly4cn/archive/2007/10/17/928102.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56793/" target="_blank">知名扩展 Firebug 的简化版登陆 Chrome</a><span style="color:gray">(2010-02-09 22:59)</span><br/>· <a href="http://news.cnblogs.com/n/56792/" target="_blank">Google 悄悄地启用 1e100.net，打枪地不要</a><span style="color:gray">(2010-02-09 22:57)</span><br/>· <a href="http://news.cnblogs.com/n/56791/" target="_blank">从 Google 代码库找到的好东西</a><span style="color:gray">(2010-02-09 22:46)</span><br/>· <a href="http://news.cnblogs.com/n/56789/" target="_blank">苹果在线商店临时关闭 或将推新Macbook</a><span style="color:gray">(2010-02-09 22:39)</span><br/>· <a href="http://news.cnblogs.com/n/56788/" target="_blank">豆瓣网推出豆瓣电台iPhone客户端</a><span style="color:gray">(2010-02-09 21:51)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56782/" target="_blank">2010年2月编程语言排行榜</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>关于Array.IndexOf</title><link>http://www.cnblogs.com/ly4cn/archive/2007/10/16/926322.html</link><dc:creator>沐枫</dc:creator><author>沐枫</author><pubDate>Tue, 16 Oct 2007 08:22:00 GMT</pubDate><guid>http://www.cnblogs.com/ly4cn/archive/2007/10/16/926322.html</guid><description><![CDATA[<p>阅读: 616 评论: 0 作者: <a href="http://www.cnblogs.com/ly4cn/" target="_blank">沐枫</a> 发表于 2007-10-16 16:22 <a href="http://www.cnblogs.com/ly4cn/archive/2007/10/16/926322.html" target="_blank">原文链接</a></p>&nbsp;&nbsp;&nbsp; 今天出了一个小问题，倒是令我有些惊讶。<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">byte</span><span style="color: #000000;">[]&nbsp;data&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;{</span><span style="color: #000000;">1</span><span style="color: #000000;">,</span><span style="color: #000000;">2</span><span style="color: #000000;">,</span><span style="color: #000000;">3</span><span style="color: #000000;">,</span><span style="color: #000000;">0</span><span style="color: #000000;">,</span><span style="color: #000000;">5</span><span style="color: #000000;">,</span><span style="color: #000000;">6</span><span style="color: #000000;">,</span><span style="color: #000000;">7</span><span style="color: #000000;">,</span><span style="color: #000000;">0</span><span style="color: #000000;">};<br />
</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;n&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Array.IndexOf(data,&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">);</span></div>
&nbsp;&nbsp;&nbsp; 结果，n为-1。<br />
&nbsp;&nbsp;&nbsp; 而如果改为：<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;n&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Array.IndexOf(data,&nbsp;(</span><span style="color: #0000ff;">byte</span><span style="color: #000000;">)</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">);</span></div>
&nbsp;&nbsp;&nbsp; 就能输出正确的结果: n=3<br />
&nbsp;&nbsp;&nbsp; 看来，IndexOf对于类型也要求正确匹配。<br />
<br />
-----------<br />
&nbsp;&nbsp;&nbsp; 以上是在VC#2005中测试的。<br />
<img src="http://www.cnblogs.com/ly4cn/aggbug/926322.html?type=1" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/ly4cn/archive/2007/10/16/926322.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/ly4cn/archive/2007/10/16/926322.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56793/" target="_blank">知名扩展 Firebug 的简化版登陆 Chrome</a><span style="color:gray">(2010-02-09 22:59)</span><br/>· <a href="http://news.cnblogs.com/n/56792/" target="_blank">Google 悄悄地启用 1e100.net，打枪地不要</a><span style="color:gray">(2010-02-09 22:57)</span><br/>· <a href="http://news.cnblogs.com/n/56791/" target="_blank">从 Google 代码库找到的好东西</a><span style="color:gray">(2010-02-09 22:46)</span><br/>· <a href="http://news.cnblogs.com/n/56789/" target="_blank">苹果在线商店临时关闭 或将推新Macbook</a><span style="color:gray">(2010-02-09 22:39)</span><br/>· <a href="http://news.cnblogs.com/n/56788/" target="_blank">豆瓣网推出豆瓣电台iPhone客户端</a><span style="color:gray">(2010-02-09 21:51)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56782/" target="_blank">2010年2月编程语言排行榜</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item></channel></rss>