﻿<?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>C++博客-自是人生长恨水长东</title><link>http://www.cppblog.com/fuhongxue/</link><description>C++ C# PERL ERLANG C MS LINUX </description><language>zh-cn</language><lastBuildDate>Mon, 06 Apr 2026 22:49:10 GMT</lastBuildDate><pubDate>Mon, 06 Apr 2026 22:49:10 GMT</pubDate><ttl>60</ttl><item><title>C# textbox  ref  更新数据问题</title><link>http://www.cppblog.com/fuhongxue/archive/2010/10/28/131640.html</link><dc:creator>傅红血</dc:creator><author>傅红血</author><pubDate>Thu, 28 Oct 2010 08:07:00 GMT</pubDate><guid>http://www.cppblog.com/fuhongxue/archive/2010/10/28/131640.html</guid><wfw:comment>http://www.cppblog.com/fuhongxue/comments/131640.html</wfw:comment><comments>http://www.cppblog.com/fuhongxue/archive/2010/10/28/131640.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/fuhongxue/comments/commentRss/131640.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/fuhongxue/services/trackbacks/131640.html</trackback:ping><description><![CDATA[最近一段时间写的东西是在C#下。<br>从一个窗体传递数据进来，数据是字符串，在另一个窗体上显示。<br>直接用<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #008080">1</span><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">textbox.Text</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">hello</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;</span></div>
发现不能显示。再换函数<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #008080">1</span><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">textbox.AppendText(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">helloworld</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);</span></div>
还是NO, 本来我是做VC的，想有没有UpdateData的接口，百度GOOGLE了没。<br>然后请教了一个网友说要在<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">textbox.Value</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">hellow</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;</span></div>
我钻研了很久也是没找到VALUE的属性。有问了个朋友，说你只是改变了字符，不是地址。貌似C++/C里面的传址还是传值<br>C#中用ref 来实现类似功能，查询了还有OUT。先来科普一下、<br>1.out和ref引用参数的相同点:都是通过引用传递参数给函数; <br>2.out和ref引用参数的不同点是:用ref引用传递参数,该参数必须经过初始化,并且不能在调用它的函数中初始化。<br>其实我也一知半解。<br>然后我的实现思路<br>1.用全局的TEXTBOX变量保存 一个REF TEXTBOX。<br>2.在接收到数据的时候就调用全局.TEXT="HELLOWROLD";<br>3.可以显示出来。<br><br>各位有更好的办法，欢迎拍砖。
<img src ="http://www.cppblog.com/fuhongxue/aggbug/131640.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/fuhongxue/" target="_blank">傅红血</a> 2010-10-28 16:07 <a href="http://www.cppblog.com/fuhongxue/archive/2010/10/28/131640.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>WINDOWS  UTF-8 编码</title><link>http://www.cppblog.com/fuhongxue/archive/2010/10/27/131520.html</link><dc:creator>傅红血</dc:creator><author>傅红血</author><pubDate>Wed, 27 Oct 2010 08:59:00 GMT</pubDate><guid>http://www.cppblog.com/fuhongxue/archive/2010/10/27/131520.html</guid><wfw:comment>http://www.cppblog.com/fuhongxue/comments/131520.html</wfw:comment><comments>http://www.cppblog.com/fuhongxue/archive/2010/10/27/131520.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/fuhongxue/comments/commentRss/131520.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/fuhongxue/services/trackbacks/131520.html</trackback:ping><description><![CDATA[<p>//UTF8编码<br>void UTF8Encode(LPCTSTR lpInput, std::string &amp;strOutput)<br>{<br>&nbsp;int&nbsp;&nbsp;&nbsp;&nbsp;nOut;<br>&nbsp;const WCHAR*&nbsp;pInput;<br>&nbsp;char*&nbsp;&nbsp;&nbsp;pTest;</p>
<p>&nbsp;if((0 == lpInput) || (0 == _tcslen(lpInput)))<br>&nbsp;{<br>&nbsp;&nbsp;strOutput.erase(strOutput.begin(), strOutput.end());<br>&nbsp;&nbsp;return;<br>&nbsp;}</p>
<p>#ifdef _UNICODE <br>&nbsp;pInput = lpInput;<br>#else<br>&nbsp;WCHAR*&nbsp;pBuffer; <br>&nbsp;nOut = MultiByteToWideChar(CP_ACP, 0, lpInput, -1, NULL, 0);<br>&nbsp;nOut++;<br>&nbsp;pBuffer = new WCHAR[nOut];<br>&nbsp;MultiByteToWideChar(CP_ACP, 0, lpInput, -1, pBuffer, nOut);<br>&nbsp;pInput = pBuffer;<br>#endif<br>&nbsp;<br>&nbsp;nOut = WideCharToMultiByte(CP_UTF8, 0, pInput, -1, NULL, 0, NULL, NULL);<br>&nbsp;nOut++;<br>&nbsp;pTest = new char[nOut];<br>&nbsp;WideCharToMultiByte(CP_UTF8, 0, pInput, -1, pTest, nOut, NULL, NULL);&nbsp;&nbsp;<br>&nbsp;<br>&nbsp;strOutput = pTest;<br>&nbsp;<br>&nbsp;delete []pTest;<br>#ifndef _UNICODE<br>&nbsp;delete []pBuffer;&nbsp;<br>#endif<br>}</p>
<p>//UTF8解码<br>void UTF8Decode(const char *pInput, tstring &amp;strOutput)<br>{<br>&nbsp;int&nbsp;&nbsp;&nbsp;nOut;<br>&nbsp;WCHAR*&nbsp;&nbsp;pBuffer; <br>&nbsp;<br>&nbsp;if((0 == pInput) || (0 == strlen(pInput)))<br>&nbsp;{<br>&nbsp;&nbsp;strOutput.erase(strOutput.begin(), strOutput.end());<br>&nbsp;&nbsp;return;<br>&nbsp;}</p>
<p>&nbsp;nOut = MultiByteToWideChar(CP_UTF8, 0, pInput, -1, NULL, 0);<br>&nbsp;nOut++;<br>&nbsp;<br>&nbsp;pBuffer = new WCHAR[nOut];<br>&nbsp;MultiByteToWideChar(CP_UTF8, 0, pInput, -1, pBuffer, nOut);<br>&nbsp;<br>#ifdef _UNICODE <br>&nbsp;strOutput = pBuffer;<br>&nbsp;delete []pBuffer;<br>#else<br>&nbsp;char*&nbsp;&nbsp;pTest;<br>&nbsp;nOut = WideCharToMultiByte(CP_ACP, 0, pBuffer, -1, NULL, 0, NULL, NULL);<br>&nbsp;nOut++;<br>&nbsp;<br>&nbsp;pTest = new char[nOut];<br>&nbsp;nOut = WideCharToMultiByte(CP_ACP, 0, pBuffer, -1, pTest, nOut, NULL, NULL);&nbsp;&nbsp;<br>&nbsp;<br>&nbsp;strOutput = pTest;<br>&nbsp;delete []pTest;<br>&nbsp;delete []pBuffer;<br>#endif<br>}</p>
<p>&nbsp;</p>
<img src ="http://www.cppblog.com/fuhongxue/aggbug/131520.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/fuhongxue/" target="_blank">傅红血</a> 2010-10-27 16:59 <a href="http://www.cppblog.com/fuhongxue/archive/2010/10/27/131520.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>反转一个字节的算法   转载</title><link>http://www.cppblog.com/fuhongxue/archive/2010/10/26/131348.html</link><dc:creator>傅红血</dc:creator><author>傅红血</author><pubDate>Tue, 26 Oct 2010 08:52:00 GMT</pubDate><guid>http://www.cppblog.com/fuhongxue/archive/2010/10/26/131348.html</guid><wfw:comment>http://www.cppblog.com/fuhongxue/comments/131348.html</wfw:comment><comments>http://www.cppblog.com/fuhongxue/archive/2010/10/26/131348.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/fuhongxue/comments/commentRss/131348.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/fuhongxue/services/trackbacks/131348.html</trackback:ping><description><![CDATA[<p>转载自：<a href="http://blog.vckbase.com/panic/archive/2005/06/11/6389.html">http://blog.vckbase.com/panic/archive/2005/06/11/6389.html</a><br>不考虑汇编等特殊手法，仅从算法角度解决这个问题。<br>偶这里提供几种算法：</p>
<p>//算法1，查表法，典型的空间换时间，在现代的CPU上，这种算法具有最快的速度。<br>unsigned char reverse1(unsigned char c)<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; static unsigned char table[256] = <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x00,0x80,0x40,0xC0,0x20,0xA0,0x60,0xE0,0x10,0x90,0x50,0xD0,0x30,0xB0,0x70,0xF0,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x08,0x88,0x48,0xC8,0x28,0xA8,0x68,0xE8,0x18,0x98,0x58,0xD8,0x38,0xB8,0x78,0xF8,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x04,0x84,0x44,0xC4,0x24,0xA4,0x64,0xE4,0x14,0x94,0x54,0xD4,0x34,0xB4,0x74,0xF4,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x0C,0x8C,0x4C,0xCC,0x2C,0xAC,0x6C,0xEC,0x1C,0x9C,0x5C,0xDC,0x3C,0xBC,0x7C,0xFC,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x02,0x82,0x42,0xC2,0x22,0xA2,0x62,0xE2,0x12,0x92,0x52,0xD2,0x32,0xB2,0x72,0xF2,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x0A,0x8A,0x4A,0xCA,0x2A,0xAA,0x6A,0xEA,0x1A,0x9A,0x5A,0xDA,0x3A,0xBA,0x7A,0xFA,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x06,0x86,0x46,0xC6,0x26,0xA6,0x66,0xE6,0x16,0x96,0x56,0xD6,0x36,0xB6,0x76,0xF6,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x0E,0x8E,0x4E,0xCE,0x2E,0xAE,0x6E,0xEE,0x1E,0x9E,0x5E,0xDE,0x3E,0xBE,0x7E,0xFE,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x01,0x81,0x41,0xC1,0x21,0xA1,0x61,0xE1,0x11,0x91,0x51,0xD1,0x31,0xB1,0x71,0xF1,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x09,0x89,0x49,0xC9,0x29,0xA9,0x69,0xE9,0x19,0x99,0x59,0xD9,0x39,0xB9,0x79,0xF9,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x05,0x85,0x45,0xC5,0x25,0xA5,0x65,0xE5,0x15,0x95,0x55,0xD5,0x35,0xB5,0x75,0xF5,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x0D,0x8D,0x4D,0xCD,0x2D,0xAD,0x6D,0xED,0x1D,0x9D,0x5D,0xDD,0x3D,0xBD,0x7D,0xFD,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x03,0x83,0x43,0xC3,0x23,0xA3,0x63,0xE3,0x13,0x93,0x53,0xD3,0x33,0xB3,0x73,0xF3,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x0B,0x8B,0x4B,0xCB,0x2B,0xAB,0x6B,0xEB,0x1B,0x9B,0x5B,0xDB,0x3B,0xBB,0x7B,0xFB,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x07,0x87,0x47,0xC7,0x27,0xA7,0x67,0xE7,0x17,0x97,0x57,0xD7,0x37,0xB7,0x77,0xF7,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x0F,0x8F,0x4F,0xCF,0x2F,0xAF,0x6F,0xEF,0x1F,0x9F,0x5F,0xDF,0x3F,0xBF,0x7F,0xFF<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return table[c];<br>}</p>
<p>//算法2，逆向移位，思路很简单，代码却有点长.<br>unsigned char reverse2( unsigned char c)<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned char r = 0;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //r &lt;&lt;= 0,c &gt;&gt;= 0;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; r |= c&amp;1;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; r &lt;&lt;= 1,c &gt;&gt;= 1;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; r |= c&amp;1;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; r &lt;&lt;= 1,c &gt;&gt;= 1;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; r |= c&amp;1;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; r &lt;&lt;= 1,c &gt;&gt;= 1;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; r |= c&amp;1;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; r &lt;&lt;= 1,c &gt;&gt;= 1;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; r |= c&amp;1;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; r &lt;&lt;= 1,c &gt;&gt;= 1;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; r |= c&amp;1;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; r &lt;&lt;= 1,c &gt;&gt;= 1;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; r |= c&amp;1;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; r &lt;&lt;= 1,c &gt;&gt;= 1;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; r |= c&amp;1;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return r;<br>}</p>
<p>//算法3，逆向移位，和上一个算法相同，但是用了循环，所以效率可能有点低。<br>unsigned char reverse3( unsigned char c)<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned char r = 0;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; r |= c&amp;1;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for( int i = 0; i &lt; 7; i++)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; r &lt;&lt;= 1,c &gt;&gt;= 1,r |= c&amp;1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return r;<br>}</p>
<p>//算法4，逐位判断，看起来似乎比算法2更简洁，但是因为if语句牵涉到一个跳转指令引起流水线重置的问题，在现在的CPU上不见得更快速。<br>unsigned char reverse4( unsigned char c)<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned char r = 0;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if( c&amp;0x01 ) r |= 0x80;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if( c&amp;0x02 ) r |= 0x40;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if( c&amp;0x04 ) r |= 0x20;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if( c&amp;0x08 ) r |= 0x10;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if( c&amp;0x10 ) r |= 0x08;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if( c&amp;0x20 ) r |= 0x04;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if( c&amp;0x40 ) r |= 0x02;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if( c&amp;0x80 ) r |= 0x01;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return r;<br>}</p>
<p>//算法5，分段查表法。查表法虽然快，但是表有256个字节大，有些时候可能显得太大了。<br>//表太大，书写不方便，而且看起来也比较凌乱。所以才有了下面的算法，只用16字节的表。<br>unsigned char reverse5( unsigned char c)<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; static unsigned char table[16] = <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x00,0x08,0x04,0x0C,0x02,0x0A,0x06,0x0E,0x01,0x09,0x05,0x0D,0x03,0x0B,0x07,0x0F<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned char r = 0;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; r |= (table[c&amp;0xF]) &lt;&lt; 4;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; r |= table[c&gt;&gt;4];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return r;<br>}</p>
<p>//效率测试代码：</p>
<p>#include &lt;iostream&gt;<br>using namespace std;</p>
<p>typedef unsigned __int64 ULONGLONG;<br>inline ULONGLONG GetCycleCount()<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; __asm RDTSC<br>}</p>
<p>int main(int argc, char* argv[])<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int i = 0,n = 10000;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int c = 0;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ULONGLONG t1 = GetCycleCount();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for( i = 0; i &lt; n; i++)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c += reverse1(i);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ULONGLONG t2 = GetCycleCount();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for( i = 0; i &lt; n; i++)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c += reverse2(i);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ULONGLONG t3 = GetCycleCount();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for( i = 0; i &lt; n; i++)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c += reverse3(i);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ULONGLONG t4 = GetCycleCount();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for( i = 0; i &lt; n; i++)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c += reverse4(i);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ULONGLONG t5 = GetCycleCount();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for( i = 0; i &lt; n; i++)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c += reverse5(i);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ULONGLONG t6 = GetCycleCount();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cout &lt;&lt; " T1 = " &lt;&lt; int(t2-t1)/n<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;&lt; " T2 = " &lt;&lt; int(t3-t2)/n<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;&lt; " T3 = " &lt;&lt; int(t4-t3)/n<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;&lt; " T4 = " &lt;&lt; int(t5-t4)/n<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;&lt; " T5 = " &lt;&lt; int(t6-t5)/n<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;&lt; " \n C = " &lt;&lt; c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //输出c是为了避免编译器优化。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;&lt; endl;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 0;<br>}</p>
<p>//测试环境：<br>&nbsp;&nbsp;&nbsp; CPU:AMD2400+，超频至1.9G<br>&nbsp;&nbsp;&nbsp; 内存：512M<br>&nbsp;&nbsp;&nbsp; VC6 sp5,win2kpro sp4</p>
<p>//测试结果:</p>
<p>&nbsp;T1 = 11 T2 = 27 T3 = 38 T4 = 34 T5 = 15<br>&nbsp;C = 6374400<br>Press any key to continue</p>
<p>最后，补充一点，除了两个查表算法外，其他算法都可以通过添加inline修饰成为内联，而使得执行效率不同程度的提升，但是即使这样，它们的效率也无法和两个查表算法相比。<br>第一种查表，在内存访问量比较大的时候，会频繁出现突发的效率降低，原因估计是整个表被置换出了CPU的cache，这时候算法5的优越性就体现出来了。</p>
<img src ="http://www.cppblog.com/fuhongxue/aggbug/131348.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/fuhongxue/" target="_blank">傅红血</a> 2010-10-26 16:52 <a href="http://www.cppblog.com/fuhongxue/archive/2010/10/26/131348.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>C#中关于ListView控件的一些操作实现   转载</title><link>http://www.cppblog.com/fuhongxue/archive/2010/10/26/131346.html</link><dc:creator>傅红血</dc:creator><author>傅红血</author><pubDate>Tue, 26 Oct 2010 08:41:00 GMT</pubDate><guid>http://www.cppblog.com/fuhongxue/archive/2010/10/26/131346.html</guid><wfw:comment>http://www.cppblog.com/fuhongxue/comments/131346.html</wfw:comment><comments>http://www.cppblog.com/fuhongxue/archive/2010/10/26/131346.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/fuhongxue/comments/commentRss/131346.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/fuhongxue/services/trackbacks/131346.html</trackback:ping><description><![CDATA[转载自 <a href="http://www.cnblogs.com/fdmlhm/articles/858655.html">http://www.cnblogs.com/fdmlhm/articles/858655.html</a><br><br>
<p>几个关于C#中对ListView控件操作的具体实现方法，主要包括了列表显示、大图显示、项目选中、右键浮动菜单等，下面是实例的运行图：</p>
<p>&nbsp;</p>
<p><img alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/blog51/001.JPG"></p>
<p>&nbsp;</p>
<p>以下是具体实现：</p>
<p>添加列<br>// Set to details view.<br>listView1.View = View.Details;<br>// Add a column with width 100 and left alignment.</p>
<p>listView1.Columns.Add("001", 100, HorizontalAlignment.Left);<br>listView1.Columns.Add("002", 100, HorizontalAlignment.Left);<br>listView1.Columns.Add("003", 100, HorizontalAlignment.Left);</p>
<p>添加条目</p>
<p>for (int i = 0; i &lt; 10; i++)<br>{<br>&nbsp;&nbsp; listView1.Items.Add(i.ToString(), 0);<br>&nbsp;&nbsp; listView1.Items[i].SubItems.Add("00000000");<br>&nbsp;&nbsp; listView1.Items[i].SubItems.Add("11111111");&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>} </p>
<p>显示大图标列表（小图标和这个差不多）<br>首先拽一个imagelist控件到Form中来，然后为这个控件添加图片，这些都不需要编程，点点鼠标就可以了。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; listView1.View = View.LargeIcon;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; listView1.LargeImageList = imageList1;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (int i = 0; i &lt; 10; i++)<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; listView1.Items[i].ImageIndex = 0;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>为ListView设置鼠标右键选中事件。经常需要在右键选中某项时弹出浮动菜单用到。<br>首先为ListView控件添加MouseClick的Event，然后下面代码：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private void listView1_MouseClick(object sender, MouseEventArgs e)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (e.Button == MouseButtons.Right)<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; String str = listView1.SelectedItems[0].text;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MessageBox.Show(str);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>代码显示了鼠标右键当前选中的项。很多人问怎么获得ListView中选择项的内容，上面就是方法。</p>
<p><br>禁止ListView中进行多项选中（禁用多选）<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; listView1.MultiSelect = false;</p>
<p><br>给ListView在鼠标右键选中的情况下添加浮动菜单：<br>首先在Form中拽一个contextMenuStrip控件，编辑控件的菜单项目，然后：</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private void listView1_MouseClick(object sender, MouseEventArgs e)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (e.Button == MouseButtons.Right)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String str = listView1.SelectedItems[0].Text;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Point p = new Point (e.X,e.Y );<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; contextMenuStrip1.Show(listView1, p);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p><img alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/blog51/002.JPG"></p>
<img src ="http://www.cppblog.com/fuhongxue/aggbug/131346.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/fuhongxue/" target="_blank">傅红血</a> 2010-10-26 16:41 <a href="http://www.cppblog.com/fuhongxue/archive/2010/10/26/131346.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>MIT Open Access Articles</title><link>http://www.cppblog.com/fuhongxue/archive/2010/10/26/131329.html</link><dc:creator>傅红血</dc:creator><author>傅红血</author><pubDate>Tue, 26 Oct 2010 07:14:00 GMT</pubDate><guid>http://www.cppblog.com/fuhongxue/archive/2010/10/26/131329.html</guid><wfw:comment>http://www.cppblog.com/fuhongxue/comments/131329.html</wfw:comment><comments>http://www.cppblog.com/fuhongxue/archive/2010/10/26/131329.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/fuhongxue/comments/commentRss/131329.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/fuhongxue/services/trackbacks/131329.html</trackback:ping><description><![CDATA[<div class="ds-static-div secondary" id=aspect_artifactbrowser_CollectionViewer_div_collection-view>
<div class=detail-view>
<p xmlns:dim="http://www.dspace.org/xmlns/dspace/dim" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/TR/xlink/" xmlns:mets="http://www.loc.gov/METS/">The MIT Open Access Articles collection consists of scholarly articles written by MIT-affiliated authors that are made available through DSpace@MIT under the MIT Faculty Open Access Policy, or under related publisher agreements. Articles in this collection generally reflect changes made during peer-review.</p>
<p xmlns:dim="http://www.dspace.org/xmlns/dspace/dim" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/TR/xlink/" xmlns:mets="http://www.loc.gov/METS/">Version details are supplied for each paper in the collection:</p>
<ul xmlns:dim="http://www.dspace.org/xmlns/dspace/dim" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/TR/xlink/" xmlns:mets="http://www.loc.gov/METS/">
    <li>Original manuscript: author's manuscript prior to formal peer review</li>
    <li>Peer-reviewed manuscript: final author's manuscript post peer review, without publisher's formatting or copy editing</li>
    <li>Final published version: final published article, as it appeared in a journal, conference proceedings, or other formally published context (this version appears here only if allowable under publisher's policy)</li>
</ul>
<p xmlns:dim="http://www.dspace.org/xmlns/dspace/dim" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/TR/xlink/" xmlns:mets="http://www.loc.gov/METS/">Some peer-reviewed scholarly articles are available through other DSpace@MIT collections, such as those for departments, labs, and centers.</p>
<p xmlns:dim="http://www.dspace.org/xmlns/dspace/dim" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/TR/xlink/" xmlns:mets="http://www.loc.gov/METS/">More information:</p>
<ul xmlns:dim="http://www.dspace.org/xmlns/dspace/dim" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/TR/xlink/" xmlns:mets="http://www.loc.gov/METS/">
    <li><a href="http://info-libraries.mit.edu/scholarly/mit-open-access/open-access-at-mit/mit-open-access-policy/working-with-the-mit-faculty-open-access-policy/"><u><font color=#0000ff>Working with the MIT Faculty Open Access Policy</font></u></a> </li>
    <li><a href="http://dspace.mit.edu/handle/1721.1/49433/submit"><u><font color=#0000ff>Submitting a Paper Under the Policy</font></u></a> </li>
    <li><a href="http://info-libraries.mit.edu/scholarly/mit-open-access/open-access-at-mit/mit-open-access-policy/mit-faculty-open-access-policy-faq/"><u><font color=#0000ff>FAQ About the Policy</font></u></a> </li>
    <li><a href="http://info-libraries.mit.edu/scholarly/faculty-and-researchers/mit-faculty-%20open-access-policy/mit-springer-author-rights-agreement/"><u><font color=#0000ff>MIT/Springer Author Rights Agreement</font></u></a> </li>
</ul>
<div class=detail-view-news>
<p class=news-text></p>
<h2 class=ds-div-head style="FONT-SIZE: 143%" xmlns:dim="http://www.dspace.org/xmlns/dspace/dim" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/TR/xlink/" xmlns:mets="http://www.loc.gov/METS/">Most Accessed Articles - September 2010</h2>
<div class="ds-static-div secondary recent-submission" xmlns:dim="http://www.dspace.org/xmlns/dspace/dim" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/TR/xlink/" xmlns:mets="http://www.loc.gov/METS/">
<ul class=ds-artifact-list>
    <li class="ds-artifact-item odd">
    <div class=artifact-description>
    <div class=artifact-title><a href="http://dspace.mit.edu/handle/1721.1/52462"><u><font color=#0000ff>Exoskeletons and orthoses: classification, design challenges and future directions</font></u></a> </div>
    <div class=artifact-info><span class=author>Herr, Hugh M.</span> <span class=publisher-date>(<span class=publisher>BioMed Central Ltd.</span>, <span class=date>2009-05</span>)</span> </div>
    </div>
    </li>
    <li class="ds-artifact-item odd">
    <div class=artifact-description>
    <div class=artifact-title><a href="http://dspace.mit.edu/handle/1721.1/52660"><u><font color=#0000ff>Stereo vision and laser odometry for autonomous helicopters in GPS-denied indoor environments</font></u></a> </div>
    <div class=artifact-info><span class=author>Prentice, Samuel James; He, Ruijie; Bachrach, Abraham Galton; Achtelik, Markus Wilhelm; Roy, Nicholas</span> <span class=publisher-date>(<span class=publisher>The International Society for Optical Engineering</span>, <span class=date>2009-04</span>)</span> </div>
    </div>
    </li>
    <li class="ds-artifact-item odd">
    <div class=artifact-description>
    <div class=artifact-title><a href="http://dspace.mit.edu/handle/1721.1/52690"><u><font color=#0000ff>Optimal Structure, Market Dynamism, and the Strategy of Simple Rules</font></u></a> </div>
    <div class=artifact-info><span class=author>Davis, Jason; Eisenhardt, Kathleen M.; Bingham, Christoper B.</span> <span class=publisher-date>(<span class=publisher>Cornell University</span>, <span class=date>2009-09</span>)</span> </div>
    </div>
    </li>
    <li class="ds-artifact-item odd">
    <div class=artifact-description>
    <div class=artifact-title><a href="http://dspace.mit.edu/handle/1721.1/49449"><u><font color=#0000ff>Analysis of informal communication networks - a case study</font></u></a> </div>
    <div class=artifact-info><span class=author>Schoder, Detlef; Gloor, Peter A.; Fischbach, Kai</span> <span class=publisher-date>(<span class=publisher>Gabler Verlag</span>, <span class=date>2008-05</span>)</span> </div>
    </div>
    </li>
    <li class="ds-artifact-item odd">
    <div class=artifact-description>
    <div class=artifact-title><a href="http://dspace.mit.edu/handle/1721.1/52716"><u><font color=#0000ff>A 10-Gb/s Compact Low-Power Serial I/O With DFE-IIR Equalization in 65-nm CMOS</font></u></a> </div>
    <div class=artifact-info><span class=author>Kim, Byeong-Su; Liu, Yong; Dickson, Timothy O.; Bulzacchelli, John F.; Friedman, Daniel J.</span> <span class=publisher-date>(<span class=publisher>Institute of Electrical and Electronics Engineers</span>, <span class=date>2009-06</span>)</span> </div>
    </div>
    </li>
    <li class="ds-artifact-item odd">
    <div class=artifact-description>
    <div class=artifact-title><a href="http://dspace.mit.edu/handle/1721.1/52682"><u><font color=#0000ff>An Interactive, physics-based unmanned ground vehicle simulator leveraging open source gaming technology: Progress in the development and application of the virtual autonomous navigation environment (VANE) desktop</font></u></a> </div>
    <div class=artifact-info><span class=author>Kewlani, Gaurav; Iagnemma, Karl; Horner, David A.; Jones, Randolph A.; Cummins, Christopher L.; Toschlog, Matthew; Crawford, Justin; Rohde, Mitchell M.</span> <span class=publisher-date>(<span class=publisher>The International Society for Optical Engineering</span>, <span class=date>2009-04</span>)</span> </div>
    </div>
    </li>
</ul>
</div>
</div>
</div>
</div>
<h2 class=ds-div-head style="FONT-SIZE: 143%">Recent Submissions</h2>
<div class="ds-static-div secondary recent-submission" id=aspect_artifactbrowser_CollectionViewer_div_collection-recent-submission>
<ul class=ds-artifact-list><!-- External Metadata URL: cocoon://metadata/handle/1721.1/59515/mets.xml?sections=dmdSec,fileSec&fileGrpTypes=THUMBNAIL-->
    <li class="ds-artifact-item odd">
    <div class=artifact-description>
    <div class=artifact-title><a href="http://dspace.mit.edu/handle/1721.1/59515"><u><font color=#0000ff>Precise manipulation of GUI on a touch screen with haptic cues</font></u></a> </div>
    <div class=artifact-info><span class=author>Srinivasan, Mandayam A.; Lee, Jun-Young; Kyung, Ki-Uk</span> <span class=publisher-date>(<span class=publisher>Institute of Electrical and Electronics Engineers</span>, <span class=date>2009-04</span>)</span> </div>
    </div>
    </li>
    <!-- External Metadata URL: cocoon://metadata/handle/1721.1/59485/mets.xml?sections=dmdSec,fileSec&fileGrpTypes=THUMBNAIL-->
    <li class="ds-artifact-item even">
    <div class=artifact-description>
    <div class=artifact-title><a href="http://dspace.mit.edu/handle/1721.1/59485"><u><font color=#0000ff>High-average-power cryogenically-cooled picosecond Yb:YAG amplifier seeded by a fiber CPA system</font></u></a> </div>
    <div class=artifact-info><span class=author>Gopinath, Juliet; Hong, Kyung-Han; Siddiqui, Aleem M.; Moses, Jeffrey; Lai, Chien-Jen; Hybl, John D.; Fan, Tso Yee</span> <span class=publisher-date>(<span class=publisher>Institute of Electrical and Electronics Engineers</span>, <span class=date>2009-08</span>)</span> </div>
    </div>
    </li>
    <!-- External Metadata URL: cocoon://metadata/handle/1721.1/59484/mets.xml?sections=dmdSec,fileSec&fileGrpTypes=THUMBNAIL-->
    <li class="ds-artifact-item odd">
    <div class=artifact-description>
    <div class=artifact-title><a href="http://dspace.mit.edu/handle/1721.1/59484"><u><font color=#0000ff>Two-photon joint temporal density measurements via ultrafast single-photon upconversion</font></u></a> </div>
    <div class=artifact-info><span class=author>Wong, Franco N. C.; Kuzucu, Onur; Kurimura, Sunao; Tovstonog, Sergey</span> <span class=publisher-date>(<span class=publisher>Institute of Electrical and Electronics Engineers</span>, <span class=date>2009-08</span>)</span> </div>
    </div>
    </li>
    <!-- External Metadata URL: cocoon://metadata/handle/1721.1/59483/mets.xml?sections=dmdSec,fileSec&fileGrpTypes=THUMBNAIL-->
    <li class="ds-artifact-item even">
    <div class=artifact-description>
    <div class=artifact-title><a href="http://dspace.mit.edu/handle/1721.1/59483"><u><font color=#0000ff>Mode-locking via active gain modulation in quantum cascade lasers</font></u></a> </div>
    <div class=artifact-info><span class=author>Gkortsas, Vasileios- Marios; K&#228;rtner, F.; Kuznetsova, Lyuba; Wang, C. Y.; Diehl, L.; Belkin, M. A.; Belyanin, A.; Li, X.; Ham, D.; Schneider, H.; Liu, H. C.; Capasso, Federico</span> <span class=publisher-date>(<span class=publisher>Institute of Electrical and Electronics Engineers</span>, <span class=date>2009-06</span>)</span> </div>
    </div>
    </li>
    <!-- External Metadata URL: cocoon://metadata/handle/1721.1/59482/mets.xml?sections=dmdSec,fileSec&fileGrpTypes=THUMBNAIL-->
    <li class="ds-artifact-item odd">
    <div class=artifact-description>
    <div class=artifact-title><a href="http://dspace.mit.edu/handle/1721.1/59482"><u><font color=#0000ff>Power-constrained communications using LDLC lattices</font></u></a> </div>
    </div>
    </li>
</ul>
</div>
<img src ="http://www.cppblog.com/fuhongxue/aggbug/131329.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/fuhongxue/" target="_blank">傅红血</a> 2010-10-26 15:14 <a href="http://www.cppblog.com/fuhongxue/archive/2010/10/26/131329.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux  C# 编译器</title><link>http://www.cppblog.com/fuhongxue/archive/2010/10/25/131178.html</link><dc:creator>傅红血</dc:creator><author>傅红血</author><pubDate>Mon, 25 Oct 2010 04:26:00 GMT</pubDate><guid>http://www.cppblog.com/fuhongxue/archive/2010/10/25/131178.html</guid><wfw:comment>http://www.cppblog.com/fuhongxue/comments/131178.html</wfw:comment><comments>http://www.cppblog.com/fuhongxue/archive/2010/10/25/131178.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/fuhongxue/comments/commentRss/131178.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/fuhongxue/services/trackbacks/131178.html</trackback:ping><description><![CDATA[<a href="http://www.go-mono.com/mono-downloads/download.html">http://www.go-mono.com/mono-downloads/download.html</a>
<img src ="http://www.cppblog.com/fuhongxue/aggbug/131178.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/fuhongxue/" target="_blank">傅红血</a> 2010-10-25 12:26 <a href="http://www.cppblog.com/fuhongxue/archive/2010/10/25/131178.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>C/C++术语中英对照 [转]</title><link>http://www.cppblog.com/fuhongxue/archive/2010/10/25/131171.html</link><dc:creator>傅红血</dc:creator><author>傅红血</author><pubDate>Mon, 25 Oct 2010 03:19:00 GMT</pubDate><guid>http://www.cppblog.com/fuhongxue/archive/2010/10/25/131171.html</guid><wfw:comment>http://www.cppblog.com/fuhongxue/comments/131171.html</wfw:comment><comments>http://www.cppblog.com/fuhongxue/archive/2010/10/25/131171.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/fuhongxue/comments/commentRss/131171.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/fuhongxue/services/trackbacks/131171.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 以下是侯捷个人收集到的 C/C++ 编程方面的术语对照。请大陆朋友给我一些意见，尤其是标示 '?' 之栏位。谢谢。两岸朋友，如果您想到哪些术语尚未列入本表，请提示我，谢谢。新书写作时，我会以此表为叁考。●英中繁简编程术语对照英文&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n...&nbsp;&nbsp;<a href='http://www.cppblog.com/fuhongxue/archive/2010/10/25/131171.html'>阅读全文</a><img src ="http://www.cppblog.com/fuhongxue/aggbug/131171.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/fuhongxue/" target="_blank">傅红血</a> 2010-10-25 11:19 <a href="http://www.cppblog.com/fuhongxue/archive/2010/10/25/131171.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>C 字符串 %  包含 转移 %</title><link>http://www.cppblog.com/fuhongxue/archive/2010/10/20/130590.html</link><dc:creator>傅红血</dc:creator><author>傅红血</author><pubDate>Wed, 20 Oct 2010 09:22:00 GMT</pubDate><guid>http://www.cppblog.com/fuhongxue/archive/2010/10/20/130590.html</guid><wfw:comment>http://www.cppblog.com/fuhongxue/comments/130590.html</wfw:comment><comments>http://www.cppblog.com/fuhongxue/archive/2010/10/20/130590.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/fuhongxue/comments/commentRss/130590.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/fuhongxue/services/trackbacks/130590.html</trackback:ping><description><![CDATA[开始以为是这样<br>HHHH\%DDDD<br>后来发现不对。<br>经过高人指点 是%%这样才能符合。<br>谨记。<br><a href="http://kunwang2001.blog.hexun.com/26258008_d.html">http://kunwang2001.blog.hexun.com/26258008_d.html</a>&nbsp;一篇参考文档<br>
<p align=left><span>c/c++</span><span>的字符串格式化问题，常常会困扰人，只要做个集中整理，以便今后查看。</span><span><br><br></span><span>格式化值：</span><span><br></span><span>%% -</span><span>返回百分号</span><span><br></span><span>%b </span><span>&#8211;返回二进制数</span><span><br></span><span>%c </span><span>&#8211;返回与<span>ASCII</span>值相对应的字符</span><span><br></span><span>%d </span><span>&#8211;带有正负号的十进制数</span><span><br></span><span>%e </span><span>&#8211;科学计数符号（如：<span>1.2e+2</span>）</span><span><br></span><span>%u </span><span>&#8211;不带正负号的十进制数<span>.%ul </span>不带符号的长整型</span><span><br></span><span>%f </span><span>&#8211; 浮点数据（本地设置）</span><span><br></span><span>%F </span><span>&#8211;浮点数据（非本地设置）</span><span><br></span><span>%o </span><span>&#8211;八进制数</span><span><br></span><span>%s </span><span>&#8211;字符串</span><span><br></span><span>%x </span><span>&#8211;十六进制数（小写字母）</span><span> </span><span>例如：</span><span>sprintf(s, "%#010x", 128); //</span><span>产生</span><span>"0x00000080"<br></span><span>%X </span><span>&#8211;十六进制数（大写字母）</span><span><br><br></span><span>对于数字，还有涉及对齐及宽度的问题：</span></p>
<p align=left><span>它是位于<span>%</span>和字母之间的（如：<span>%.<st1:chmetcnv w:st="on" TCSC="0" NumberType="1" Negative="False" HasSpace="False" SourceValue="2" UnitName="F">2f</st1:chmetcnv></span>）表示小数点后<span>2</span>位 例如：<span>printf("%.<st1:chmetcnv w:st="on" TCSC="0" NumberType="1" Negative="False" HasSpace="False" SourceValue="2" UnitName="F">2f</st1:chmetcnv>",3.145) </span>输出<span>3.14</span></span></p>
<p align=left><span>在数字前加上<span>+</span>和<span>-</span>；默认情况下，只有负数是被标记出来的<span> </span></span></p>
<p align=left>&nbsp;</p>
<p align=left><span>左调整变量值<span>m.n</span></span></p>
<p align=left><span>浮点数：<span>m</span>表示小数点前的位数<span>,n</span>表示小数点后的位数，在<span>m</span>前可以添加不足位数的补位字符。</span></p>
<p align=left><span>例如：<span>pritnf("%<st1:chmetcnv w:st="on" TCSC="0" NumberType="1" Negative="False" HasSpace="False" SourceValue="2.3" UnitName="F">2.3f</st1:chmetcnv>",12.2);</span>输出：<span>12.30</span></span></p>
<p align=left><span>例如：<span>printf("%04d,1); </span>输出<span>:0001</span></span></p>
<p align=left><span>字符串：在<span>"%m.ns"</span>中，这可以类比打印浮点数的<span>"%m.nf"</span>，<span>m </span>表示占用宽度（字符串长度不足时补空格，超出了则按照实际宽度打印），<span>n </span>才表示从相应的字符串中最多取用的字符数。通常在打印字符串时<span>m </span>没什么大用，还是点号后面的<span>n </span>用的多。自然，也可以前后都只取部分字符<span>.</span></span></p>
<img src ="http://www.cppblog.com/fuhongxue/aggbug/130590.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/fuhongxue/" target="_blank">傅红血</a> 2010-10-20 17:22 <a href="http://www.cppblog.com/fuhongxue/archive/2010/10/20/130590.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>winform  listview ToolTip ToolTipText  C#</title><link>http://www.cppblog.com/fuhongxue/archive/2010/10/19/130458.html</link><dc:creator>傅红血</dc:creator><author>傅红血</author><pubDate>Tue, 19 Oct 2010 08:31:00 GMT</pubDate><guid>http://www.cppblog.com/fuhongxue/archive/2010/10/19/130458.html</guid><wfw:comment>http://www.cppblog.com/fuhongxue/comments/130458.html</wfw:comment><comments>http://www.cppblog.com/fuhongxue/archive/2010/10/19/130458.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/fuhongxue/comments/commentRss/130458.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/fuhongxue/services/trackbacks/130458.html</trackback:ping><description><![CDATA[<p>最近写一个东西，listview被设置成List属性，按照这种方法是无法实现 ToolTipText的<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ListViewItem item = new ListViewItem();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; item.Text = sArray[i];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; item.ToolTipText = sArray[i + 1];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; item.Tag = Convert.ToInt32(sArray[i + 2]);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lvSeletedNum.Items.Add(item);<br>代码可以在LvDetial属性下实现 ToolTipText。<br><br>在鼠标移动事件中，也可以实现， 我只检测了LIST属性下的。<br><span style="COLOR: #008000">//</span><span style="COLOR: #008000">实现黄底黑字的提示效果用ToolTip控件：</span><span style="COLOR: #008000"><br></span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;listView1_MouseMove(</span><span style="COLOR: #0000ff">object</span><span style="COLOR: #000000">&nbsp;sender,&nbsp;MouseEventArgs&nbsp;e)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ListViewItem&nbsp;item&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.listView1.GetItemAt(e.X,&nbsp;e.Y);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(item&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;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;toolTip1.Show(item.Text,&nbsp;listView1,&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Point(e.X&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">15</span><span style="COLOR: #000000">,&nbsp;e.Y&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">15</span><span style="COLOR: #000000">),&nbsp;</span><span style="COLOR: #800080">1000</span><span style="COLOR: #000000">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;toolTip1.Active&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&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: #0000ff">else</span><span style="COLOR: #000000"><br>&nbsp;&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;&nbsp;toolTip1.Active&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">false</span><span style="COLOR: #000000">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>在单击事件中，也可以实现，我只测试了LIST属性下的情况。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ToolTip lvTp = new ToolTip();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ListViewItem item = this.lvSeletedNum.SelectedItems[0];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (item != null)<br>&nbsp;&nbsp;&nbsp;&nbsp;&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;&nbsp;&nbsp;&nbsp;&nbsp; //lvTp.Show(item.ToolTipText, lvUserNum, new Point(e.X + 15, e.Y + 15), 1000);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lvTp.SetToolTip(lvSeletedNum, item.ToolTipText);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lvTp.Active = true;<br>&nbsp;&nbsp;&nbsp;&nbsp;&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; else<br>&nbsp;&nbsp;&nbsp;&nbsp;&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;&nbsp;&nbsp;&nbsp;&nbsp; lvTp.Active = false;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
如果你有更好的方法，请回复我，THANKS ，2010年10月19日 16:30:40
<img src ="http://www.cppblog.com/fuhongxue/aggbug/130458.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/fuhongxue/" target="_blank">傅红血</a> 2010-10-19 16:31 <a href="http://www.cppblog.com/fuhongxue/archive/2010/10/19/130458.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>c# 获取窗口句柄 2010年10月15日 10:22:00</title><link>http://www.cppblog.com/fuhongxue/archive/2010/10/15/129993.html</link><dc:creator>傅红血</dc:creator><author>傅红血</author><pubDate>Fri, 15 Oct 2010 02:26:00 GMT</pubDate><guid>http://www.cppblog.com/fuhongxue/archive/2010/10/15/129993.html</guid><wfw:comment>http://www.cppblog.com/fuhongxue/comments/129993.html</wfw:comment><comments>http://www.cppblog.com/fuhongxue/archive/2010/10/15/129993.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/fuhongxue/comments/commentRss/129993.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/fuhongxue/services/trackbacks/129993.html</trackback:ping><description><![CDATA[<p style="COLOR: #ff0000">需要在窗体间传递消息。<br>参考文章如下：<br>C#自定义消息通信往往采用事件驱动的方式实现，但有时候我们不得不采用操作系统的消息通信机制，例如在和底层语言开发的DLL交互时，是比较方便的。下面列举了一些实现方式，供大家参考：</p>
<p>一、通过SendMessage或postmessage函数发送：</p>
<p>1、&nbsp; 定义消息<br>在C++中引用底层的函数很简单，自定义消息如下<br>#define WM_TEST WM_USER + 101<br>而在c#中消息需要定义成windows系统中的原始的16进制数字，比如自定义消息<br>public const int USER = 0x0400;</p>
<p>&nbsp;public const int WM_TEST = USER +101;</p>
<p>2、&nbsp; 发送消息<br>消息发送是通过windows提供的API函数SendMessage或postmessage来实现的，它的原型定义：&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>[DllImport("User32.dll",EntryPoint="SendMessage")]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private static extern int SendMessage(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IntPtr hWnd,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 窗体句柄<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; uint Msg,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 消息的标识符<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; uint wParam,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 具体取决于消息<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; uint lParam&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 具体取决于消息<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; );</p>
<p>[DllImport("User32.dll",EntryPoint="PostMessage")]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private static extern int SendMessage(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IntPtr hWnd,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 接收消息的那个窗口的句柄。如设为HWND_BROADCAST，表示投递给系统中的所有顶级窗口。如设为零，表示投递一条线程消息（可参考PostThreadMessage）<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; uint Msg,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 消息的标识符<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; uint wParam,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 具体取决于消息<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; uint lParam&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 具体取决于消息<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; );</p>
<p>至于两个函数的区别这里就不累述了，有兴趣的朋友可以自己查阅资料。</p>
<p><br>3、&nbsp; 消息接收<br>消息发出之后，在Form中如何接收呢？我们可以重载DefWinproc函数来接收消息。<br>protected override void DefWndProc ( ref System.Windows.Forms.Message m )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; switch(m.Msg)<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; case Message.WM_TEST:&nbsp;&nbsp; //处理消息<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; default:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; base.DefWndProc(ref m);&nbsp;&nbsp; //调用基类函数处理非自定义消息。<br>break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p style="COLOR: #008080">但是在C#中如何获取窗口句柄，参考网上文章如下：<br>1、如何获得一个窗口的句柄？<br><span style="COLOR: #000000">例如获取窗口PictureBox控件（其他控件也可以）的句柄，<br>IntPtr handle = pictureBox.Handle;<br>尝试之，发现错误。<br><span style="COLOR: #ff0000">非静态的方法或字段<font style="COLOR: #008000" color=#cc0033>要求对象引用<br>然后修改。尝试如下：<br>Form1&nbsp; frm = new Form1();<br><font color=#000000>IntPtr handle = <font color=#008000>frm </font>.Handle;<br></font>然后传递消息就可以了。<br></font></span></span></p>
<img src ="http://www.cppblog.com/fuhongxue/aggbug/129993.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/fuhongxue/" target="_blank">傅红血</a> 2010-10-15 10:26 <a href="http://www.cppblog.com/fuhongxue/archive/2010/10/15/129993.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>