<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://blog.vckbase.com/hfl/category/802.html</link><description>原创作品</description><managingEditor>HFL's Blog</managingEditor><dc:language>zh-CHS</dc:language><generator>.Text Version 0.958.2004.214</generator><item><dc:creator>HFL's Blog</dc:creator><title>初试驱动---OV511+摄像头驱动开发</title><link>http://blog.vckbase.com/hfl/archive/2006/05/18/20169.html</link><pubDate>Thu, 18 May 2006 09:11:00 GMT</pubDate><guid>http://blog.vckbase.com/hfl/archive/2006/05/18/20169.html</guid><wfw:comment>http://blog.vckbase.com/hfl/comments/20169.html</wfw:comment><comments>http://blog.vckbase.com/hfl/archive/2006/05/18/20169.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.vckbase.com/hfl/comments/commentRss/20169.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/hfl/services/trackbacks/20169.html</trackback:ping><description>&lt;BR&gt;申明：本篇只适合没有接触过驱动或者初学驱动的朋友，需要代码的朋友请联系我。 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 在本文中阐述的驱动是用windriver做出来的，没有采用DDK或DriverStudio,可能看起来并不像是一个&amp;#8221;很正式&amp;#8220;的驱动，而且本文中的驱动程序不可以用于DirectShow接口。对于DDK和DriverStudio我也了解了一些内容，在刚开始的时候我是满怀激情的想用DDK或DriverStudio的，很快我的激情之火就被无情的熄灭了，对于一个完全没有接触过驱动开发的人来说（在这之前我都不知道系统是如何找到某个设备驱动的),我个人觉得DDK或DriverStudio有点难了，当你对DDK或DriverStudio有些了解的时候，当你有了想编一点代码的欲望时候，你会发现结果是多么的残酷，要么运行出错，要么黑屏重启，最后你无处下手，特别是编一个硬件设备不是自己做的，对于一些产商命令都不熟悉的时候，对于初学者来说，DDK或DriverStudio显得特别难，刚开始我就是这个样子。但在我个人看来在了解了一些驱动的知识后，在用DDK或DriverStudio遇到困难的时候，不妨试试windriver，你会兴奋的发现这个工具居然不用做什么工作就可以和你的硬件通信了，这时候你会对windriver有更好把握，因为对象始终是同一个设备，共同之处还是有的。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 虽然在用windriver时，你只是开发了一个看起来只是开发了一个位于应用层的软件，其实它相当于把一部分驱动程序功能提到应用程序来做了（注意：只是一部分)，当然这需要windriver的api支持（所以会影响速度），其实我想这也就是windriver的开发思路吧。而且我想如果在windriver下做通的话，再用DDK或DriverStudio难度也会下降不少吧，特别是对于USB驱动来说，搞清楚URB后应该就比较容易了。好了，不多说了，下面就步入正题吧。&lt;BR&gt;1.准备--知己知彼，百战不殆&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 对于像我这样的驱动文盲来说，了解一些驱动相关的知识是必需的。我们应该对驱动有个概念性的把握，像驱动是什么，驱动的作用是什么，硬件是如何找到对应的驱动的，应用程序又是如何与硬件通信的，驱动最终产生文件是什么，开发驱动都有什么方式等。在这个过程中，我们可以随便找些驱动开发的书看看，积累一些概念性的知识。&lt;BR&gt;2.工具--欲先攻其事，必先利其器&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 说到开发，当然需要一个开发工具了，在这里VC是离不开的，但开发驱动，必需还有另外一个工具要我们选择。其实也就是用什么方式来产生驱动的框架，就象VC下的应用程序可以自动产生一个初始的框架一样。在这里，我们有三种方式可以选择：1).从DDK自带的例子（此时许包含DDK的编译工具），如usbintel出发编写，这种方式编出来的驱动质量应该是最好的，但同时难度也是最大的。&lt;BR&gt;2).用DriverStudio（此时许包含DDK的编译工具），其实DriverStudio就是对DDK进行了封装，其难度虽然有所下降，但对于我这样的初学者还是困难重重，有个比喻打的很好，DriverStudio与DDK的关系，就像VC与SDK的关系。&lt;BR&gt;3).用windriver,正如前面所说，windriver其实带了一个它自身的驱动（普通模式下），所以它可以直接与你的硬件通信，当然你需要对你的硬件进行一些设置，如一些产商命令的发送，也就是是一些寄存器的设置。然而，硬件往往都有很多的寄存器，所以要自己手动一个个设置显得很繁琐，如果你的硬件已经有现成的驱动（如摄像头），我们就可以借助像bushound工具跟踪驱动加载的整个过程，然后自己写个程序将结果转换为代码，再加上自己需要的特殊设置就可以了，我就是这样的做的，不过这样的代码风格可能显得很差。由于在这个过程中你需要对产商命令加以了解，所以看硬件的datasheet是必需的，这也是我选择ov511+芯片的摄像头的原因，它的datasheet是公开的。&lt;BR&gt;3.看linux下源代码--它山之石，可以攻玉&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 由于linux是开源项目，所以在windows下没有的源代码，在linux往往可以找到对应的源代码，摄像头驱动就是这么一种情况。摄像头图像数据是很不好分析的，就算是ov511+摄像头的未压缩数据也不好分析，但通过linux的源代码我们可以发现(320*240, yuv420)：它是通过块来进行处理的的，一块384 bytes,64 bytes u，64 bytes v，256 bytes y，可以发现其一帧数据是不是标准的yuv420格式。所以图象处理基本流程应为ov511+的yuv420-&amp;gt;标准yuv420-&amp;gt;rgb24。如果是对于压缩的数据，那还要先进行一个解码的工作，这也是比较繁琐的，有耐心的话可以继续看linux的源代码，不过我就没做了。&lt;BR&gt;总结--乘风破浪会有时，直挂云帆济沧海&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 在这次学习的过程，我得出一个经验是：知识是需要一个积累的过程的，心态要放平衡，不要急于求成。由于刚开始的时候起点太高(刚开始的时候是想编个通用驱动的)，对难易程度把握不准，自己又没有基础，所以很郁闷，但慢慢的，随着对摄像头驱动的了解，意识到通用其实是很困难的，你需要对各个摄像头芯片都进行编程，然后集成到一个代码里(个人理解)，但有些产商是不公开datasheet，如zc301，这使得开发驱动显得尤其困难，所以现在只是选择了一款芯片：ov511，也是只对其未压缩数据进行处理了，但总算是能看到摄像头的图像了，虽然这离初始的目标还很遥远。&lt;img src ="http://blog.vckbase.com/hfl/aggbug/20169.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>HFL's Blog</dc:creator><title>我的代码管理器(已加入源码下载)</title><link>http://blog.vckbase.com/hfl/archive/2005/10/15/13301.html</link><pubDate>Sat, 15 Oct 2005 05:39:00 GMT</pubDate><guid>http://blog.vckbase.com/hfl/archive/2005/10/15/13301.html</guid><wfw:comment>http://blog.vckbase.com/hfl/comments/13301.html</wfw:comment><comments>http://blog.vckbase.com/hfl/archive/2005/10/15/13301.html#Feedback</comments><slash:comments>18</slash:comments><wfw:commentRss>http://blog.vckbase.com/hfl/comments/commentRss/13301.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/hfl/services/trackbacks/13301.html</trackback:ping><description>&lt;A href="http://blog.vckbase.com/Files/hfl/代码利器1.0测试版.rar"&gt;下载可执行文件&lt;/A&gt;&amp;nbsp;&lt;BR&gt;&lt;A href="http://blog.vckbase.com/Files/hfl/CodeManager.rar"&gt;下载源代码&lt;/A&gt;&lt;FONT size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/FONT&gt;&lt;BR&gt;&lt;/FONT&gt;这是一个代码管理器,做了好长时间了,一边做别的事一边做这个,速度真的有点慢,呵.后台数据库采用了access,由于时间的原因,程序有很多细节还没处理.(注意:软件默认只支持vc6.0的文件类型,要导入其他类型文件,需设置文件类型)&lt;BR&gt;首先,讲一下主要功能特点:&lt;BR&gt;1.本软件中的所有收集代码全部置于后台数据库中,&lt;BR&gt;使用前可将原以收集的代码导入到数据库中,左端树形列表中的内容以及源代码的改动直接对应数据库中的改动.&lt;BR&gt;2.悬浮框类似于FlashGet的,可接受文件的拖曳功能.&lt;BR&gt;3.源代码编辑器加有显示行号和高亮显示的功能.&lt;BR&gt;下面在讲一下不足之处,&lt;BR&gt;1."生成当前工程"的功能没有完成.&lt;BR&gt;2.源代码的着色问题也不是非常理想,&lt;BR&gt;当然首先要感谢ZhengXu,我的着色源码就来自于&lt;A href="http://www.vckbase.com/document/viewdoc/?id=1243"&gt;http://www.vckbase.com/document/viewdoc/?id=1243&lt;/A&gt;,但是其还有一些欠缺之处,如刷新时效率太低,中英文转换之间还有些问题;其实对于源代码的着色,我考虑了比较长时间,也曾试过CodeMax这个控件,不过微软vs.net的代码编辑器让我十分欣赏,不知其如何实现,如果各位知道的话,或关于代码着色有什么好提议的话,希望能告诉我,先谢了.&lt;BR&gt;3.导入多文件时,速度太慢,出现短暂交互暂停,没有启用多线程机制,来实现交互,在删除拥有过多级的文件目录时,也存在同样的问题.&lt;BR&gt;4.本版本只支持vc6.0的文件类型的高亮显示,其他类型将在以后更新.&lt;BR&gt;5.加入XP风格后,不知道为什么工具栏显示有点不正常.&lt;BR&gt;以上为主要不知之处,当然不足之处还是是很多的,恳请大家批评指正.&lt;BR&gt;胡峰令 2005-10-15 E-mail:hflaa123@yahoo.com.cn&lt;BR&gt;&lt;BR&gt;本来是想再进行后续版本的更新,所以迟迟没有发布源代码,但在接下去的研究生时间里,估计要转到嵌入式去,更新的事不知要到什么时候,所以就先把源码发上来了.&lt;BR&gt;胡峰令 2006-4-18 E-mail:hflaa123@yahoo.com.cn&lt;img src ="http://blog.vckbase.com/hfl/aggbug/13301.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>HFL's Blog</dc:creator><title>计算机图形学几个简单算法的模拟</title><link>http://blog.vckbase.com/hfl/archive/2005/10/09/13014.html</link><pubDate>Sun, 09 Oct 2005 07:38:00 GMT</pubDate><guid>http://blog.vckbase.com/hfl/archive/2005/10/09/13014.html</guid><wfw:comment>http://blog.vckbase.com/hfl/comments/13014.html</wfw:comment><comments>http://blog.vckbase.com/hfl/archive/2005/10/09/13014.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://blog.vckbase.com/hfl/comments/commentRss/13014.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/hfl/services/trackbacks/13014.html</trackback:ping><description>&amp;nbsp;&lt;A href="http://blog.vckbase.com/Files/hfl/MyDraw2.rar"&gt;下载源代码&lt;/A&gt;&amp;nbsp;&amp;nbsp;&lt;BR&gt;简单的东西,不过都是自己做的,就放上来了,&lt;BR&gt;本来想多写几个算法的,可后来由于时间关系就不了了之了.&lt;img src ="http://blog.vckbase.com/hfl/aggbug/13014.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>HFL's Blog</dc:creator><title>Huffman编码设计辅助工具(简单,但做了就传上来)</title><link>http://blog.vckbase.com/hfl/archive/2005/10/09/13011.html</link><pubDate>Sun, 09 Oct 2005 07:33:00 GMT</pubDate><guid>http://blog.vckbase.com/hfl/archive/2005/10/09/13011.html</guid><wfw:comment>http://blog.vckbase.com/hfl/comments/13011.html</wfw:comment><comments>http://blog.vckbase.com/hfl/archive/2005/10/09/13011.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://blog.vckbase.com/hfl/comments/commentRss/13011.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/hfl/services/trackbacks/13011.html</trackback:ping><description>&amp;nbsp;&lt;A href="http://blog.vckbase.com/Files/hfl/Huffman.rar"&gt;下载源代码&lt;/A&gt;&lt;BR&gt;简单的东西,不过都是自己做的,就放上来了&lt;/A&gt;&lt;img src ="http://blog.vckbase.com/hfl/aggbug/13011.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>HFL's Blog</dc:creator><title>五子棋的设计与实现 </title><link>http://blog.vckbase.com/hfl/archive/2005/09/29/12663.html</link><pubDate>Thu, 29 Sep 2005 10:53:00 GMT</pubDate><guid>http://blog.vckbase.com/hfl/archive/2005/09/29/12663.html</guid><wfw:comment>http://blog.vckbase.com/hfl/comments/12663.html</wfw:comment><comments>http://blog.vckbase.com/hfl/archive/2005/09/29/12663.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blog.vckbase.com/hfl/comments/commentRss/12663.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/hfl/services/trackbacks/12663.html</trackback:ping><description>&lt;A href="http://blog.vckbase.com/Files/hfl/MyChess.rar"&gt;下载可执行文件&lt;/A&gt;&lt;A href="http://www.vckbase.com/code/graphics/game/chess.rar"&gt;&lt;BR&gt;下载源代码&lt;/A&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR&gt;这是边学习vc边做的,初学者可以看看,呵呵。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 本&amp;#8220;五子棋&amp;#8220;程序只编写了人机对弈部分，运用了博弈树进行搜索，在选取最优的走步时使用极大极小分析法，考虑到搜索的时间复杂度和空间复杂度，在程序中只进行了2步搜索，即计算机在考虑下一步的走法时，只对玩家进行一步的推测。（程序中的棋盘规格为15*15）。&lt;SPAN lang=EN-US style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt; 
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt"&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&lt;FONT face=宋体 size=3&gt;&amp;nbsp; &lt;/FONT&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;数据结构定义：&lt;SPAN lang=EN-US&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 18pt"&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;棋盘定义：&lt;SPAN lang=EN-US&gt;int board[15][15]&lt;/SPAN&gt;；&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 15.75pt; mso-char-indent-count: 1.5"&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;在&lt;SPAN lang=EN-US&gt;15*15&lt;/SPAN&gt;的棋盘上，获胜的情况总共有&lt;SPAN lang=EN-US&gt;572&lt;/SPAN&gt;种，&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 17.95pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-para-margin-left: 1.71gd"&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;如：&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;
&lt;TABLE class=MsoTableGrid style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; MARGIN: auto auto auto 72pt; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-border-alt: solid windowtext .5pt; mso-yfti-tbllook: 480; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-insideh: .5pt solid windowtext; mso-border-insidev: .5pt solid windowtext" cellSpacing=0 cellPadding=0 border=1&gt;
&lt;TBODY&gt;
&lt;TR style="HEIGHT: 17.15pt; mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 33.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 17.15pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt" vAlign=top width=45&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;*&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 33.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 17.15pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" vAlign=top width=45&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;*&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 33.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 17.15pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" vAlign=top width=45&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;*&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 33.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 17.15pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" vAlign=top width=45&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;*&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 33.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 17.15pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" vAlign=top width=45&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;*&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 33.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 17.15pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" vAlign=top width=45&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;&amp;#8230;&amp;#8230;&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 17.15pt; mso-yfti-irow: 1"&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 33.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 17.15pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=45&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;&amp;#8230;&amp;#8230;&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 33.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 17.15pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=45&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;&amp;#8230;&amp;#8230;&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 33.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 17.15pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=45&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;&amp;#8230;&amp;#8230;&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 33.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 17.15pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=45&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;&amp;#8230;&amp;#8230;&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 33.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 17.15pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=45&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;&amp;#8230;&amp;#8230;&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 33.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 17.15pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=45&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;&amp;#8230;&amp;#8230;&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 17.15pt; mso-yfti-irow: 2"&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 33.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 17.15pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=45&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;&amp;#8230;&amp;#8230;&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 33.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 17.15pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=45&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;&amp;#8230;&amp;#8230;&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 33.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 17.15pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=45&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;&amp;#8230;&amp;#8230;&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 33.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 17.15pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=45&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;&amp;#8230;&amp;#8230;&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 33.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 17.15pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=45&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;&amp;#8230;&amp;#8230;&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 33.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 17.15pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=45&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;&amp;#8230;&amp;#8230;&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 18.1pt; mso-yfti-irow: 3"&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 33.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 18.1pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=45&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;&amp;#8230;&amp;#8230;&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 33.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 18.1pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=45&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;&amp;#8230;&amp;#8230;&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 33.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 18.1pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=45&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;&amp;#8230;&amp;#8230;&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 33.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 18.1pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=45&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;&amp;#8230;&amp;#8230;&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 33.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 18.1pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=45&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;&amp;#8230;&amp;#8230;&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 33.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 18.1pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=45&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;&amp;#8230;&amp;#8230;&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 17.15pt; mso-yfti-irow: 4"&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 33.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 17.15pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=45&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;&amp;#8230;&amp;#8230;&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 33.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 17.15pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=45&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;&amp;#8230;&amp;#8230;&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 33.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 17.15pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=45&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;&amp;#8230;&amp;#8230;&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 33.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 17.15pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=45&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;&amp;#8230;&amp;#8230;&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 33.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 17.15pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=45&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;&amp;#8230;&amp;#8230;&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 33.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 17.15pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=45&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;&amp;#8230;&amp;#8230;&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 18.1pt; mso-yfti-irow: 5; mso-yfti-lastrow: yes"&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 33.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 18.1pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=45&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;&amp;#8230;&amp;#8230;&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 33.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 18.1pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=45&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;&amp;#8230;&amp;#8230;&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 33.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 18.1pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=45&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;&amp;#8230;&amp;#8230;&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 33.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 18.1pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=45&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;&amp;#8230;&amp;#8230;&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 33.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 18.1pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=45&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;&amp;#8230;&amp;#8230;&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 33.9pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 18.1pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=45&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;&amp;#8230;&amp;#8230;&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;中的第一行&amp;#8220;&lt;SPAN lang=EN-US&gt;*&lt;/SPAN&gt;&amp;#8220;所代表的格子就是一种获胜组合。&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;计算机和玩家的获胜组合情况&lt;SPAN lang=EN-US&gt;bool ctable[15][15][572],&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 18pt"&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;bool ptable[15][15][572]&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;，来表示棋盘上的各个位置都在那种获胜组合中。&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 18pt"&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;计算机和玩家在各个获胜组合中所填入的棋子数&lt;SPAN lang=EN-US&gt;int win[2][572],&lt;/SPAN&gt;如有一方在某一获胜组合的棋子数达到&lt;SPAN lang=EN-US&gt;5&lt;/SPAN&gt;个，该方即获胜。&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 18pt"&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;Bool player:&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;是否轮到玩家下棋&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 18pt"&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;Bool computer:&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;是否轮到计算机下棋&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 18pt"&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;Bool start:&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;游戏是否开始&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 18pt"&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;Bool pwin:&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;玩家是否获胜&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 18pt"&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;Bool cwin:&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;计算机是否获胜&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 18pt"&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;CPoint m_pplastpos;//&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;玩家走的前一步棋&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 18pt"&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;CPoint m_pclastpos;//&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;计算机走的前一步棋&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;本程序中估价函数的选取方法：&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;e=p1+p2;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;p1&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"&gt;为下完当前这步棋时计算机的得分；&lt;SPAN lang=EN-US&gt;p2&lt;/SPAN&gt;为下完当前这步棋时玩家的得分（&lt;SPAN lang=EN-US&gt;p2&lt;/SPAN&gt;其实为负），这样做即考虑了进攻的因数，由考虑了防守的因数，两个方面都进行了考虑，防止计算机只考虑进攻而忽略防守，同时也防止计算机只考虑防守而忽略进攻，从而达到比较好的情况。&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src ="http://blog.vckbase.com/hfl/aggbug/12663.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>HFL's Blog</dc:creator><title>用c#+asp.net制作的个人Blog源码</title><link>http://blog.vckbase.com/hfl/archive/2005/09/27/12586.html</link><pubDate>Tue, 27 Sep 2005 14:05:00 GMT</pubDate><guid>http://blog.vckbase.com/hfl/archive/2005/09/27/12586.html</guid><wfw:comment>http://blog.vckbase.com/hfl/comments/12586.html</wfw:comment><comments>http://blog.vckbase.com/hfl/archive/2005/09/27/12586.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://blog.vckbase.com/hfl/comments/commentRss/12586.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/hfl/services/trackbacks/12586.html</trackback:ping><description>&lt;P&gt;&amp;nbsp;&lt;A href="http://blog.vckbase.com/Files/hfl/MyBlog.rar"&gt;下载源代码&lt;/A&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 源码中管理员密码为:111111,运行时需设置一个IIS虚拟目录,&lt;BR&gt;很早就想做个自己的个人网站,于是趁着这个学期的短学期花了三天时间,用asp.net做了个类Blog的网站.&lt;BR&gt;首先要申明的是,之前我对asp.net基本不熟悉,对asp也不太了解,而且源码没有经仔细测试,所以此源代码的欠缺之处还请大家包含.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 网站后台采用数据库为access,代码中的几个表结构是比较简单的,其核心代码为:index.aspx.cs和几个后台管理代码;其中多次使用DataGrid和DataList,由于时间比较紧,其功能显得尤其简单,其他功能如有需要的话,只能以后再慢慢更新了,而且由于对asp.net的不熟悉,代码也显得的很幼稚,呵呵,初学者嘛.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 做完后本想找个空间传上去,没想到找个空间却不是那么容易,所以一直拖到现在都没传上.&lt;BR&gt;以下为运行部分截图:&lt;BR&gt;&lt;IMG height=411 src="/images/vckbase_com/hfl/bl.gif" width=550 border=0&gt;&lt;/P&gt;&lt;img src ="http://blog.vckbase.com/hfl/aggbug/12586.html" width = "1" height = "1" /&gt;</description></item></channel></rss>