﻿<?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>BlogJava-doneykoo [Ouditian]-随笔分类-GameDev</title><link>http://www.blogjava.net/doneykoo/category/35362.html</link><description>DKzone- Ouditian Technology</description><language>zh-cn</language><lastBuildDate>Sun, 26 Jun 2011 10:01:53 GMT</lastBuildDate><pubDate>Sun, 26 Jun 2011 10:01:53 GMT</pubDate><ttl>60</ttl><item><title>[fw] as3优化总结</title><link>http://www.blogjava.net/doneykoo/archive/2011/06/25/352995.html</link><dc:creator>DoNeY</dc:creator><author>DoNeY</author><pubDate>Sat, 25 Jun 2011 05:03:00 GMT</pubDate><guid>http://www.blogjava.net/doneykoo/archive/2011/06/25/352995.html</guid><wfw:comment>http://www.blogjava.net/doneykoo/comments/352995.html</wfw:comment><comments>http://www.blogjava.net/doneykoo/archive/2011/06/25/352995.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/doneykoo/comments/commentRss/352995.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/doneykoo/services/trackbacks/352995.html</trackback:ping><description><![CDATA[<div> as3优化总结</div><br />有意思的一条：<br /><br /><div><strong>10) 寻找局部变量(this方法同with方法比较)</strong><br /> 局部变量的定位方法很多。我们发现用with比用this更加有优势！</div><img src ="http://www.blogjava.net/doneykoo/aggbug/352995.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/doneykoo/" target="_blank">DoNeY</a> 2011-06-25 13:03 <a href="http://www.blogjava.net/doneykoo/archive/2011/06/25/352995.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>WowDLLChecker  (c) Ouditian  [rev.20100921] ver 1.0.3.22</title><link>http://www.blogjava.net/doneykoo/archive/2010/02/02/311647.html</link><dc:creator>DoNeY</dc:creator><author>DoNeY</author><pubDate>Tue, 02 Feb 2010 03:25:00 GMT</pubDate><guid>http://www.blogjava.net/doneykoo/archive/2010/02/02/311647.html</guid><wfw:comment>http://www.blogjava.net/doneykoo/comments/311647.html</wfw:comment><comments>http://www.blogjava.net/doneykoo/archive/2010/02/02/311647.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/doneykoo/comments/commentRss/311647.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/doneykoo/services/trackbacks/311647.html</trackback:ping><description><![CDATA[<span id="postcontent0">最近不少wower包括我自己都碰到了wow目录下出现危险dll文件而可能遭木马窃取资料的情况，<br />
做了个小工具，与大家分享，欢迎交流意见建议。&nbsp; &nbsp;<br />
<span style="display: none;"><br />
[::艾泽拉斯国家地理 BBS.NGACN.CC::]<br />
</span><br />
<del class="gray"> 在对于那些dll文件的最后修改时间与标准版本最后修改时间比较，我不太清楚大家手头的dll文件如何，  </del>希望大家能把使用中出现的情况反馈给我，在此感谢。<br />
<br />
在您wow前、wow时打开WowDLLChecker，它将帮助您找出并保持检测扫描：<br />
wow.exe和目录下DLL等<span class="indigo">被修改过的文件</span>、<span class="indigo">危险的多余DLL文件</span>、以及<span class="indigo">缺失的文件</span>。<br />
不用担心有dll文件属性是只读或隐藏或系统，工具是会扫描到的。<br />
同时还为你检查是否有wow,laucher的映像劫持。<br />
<br />
使用：放置到你的wow文件夹并执行。<br />
<br />
PS.  此程序无任何对网络的访问。 <br />
</span><span id="postcontent0" class="postcontent ubbcode">这个链接应该可以吧&nbsp; &nbsp;&nbsp; &nbsp;<br />
</span><span id="postcontent0" class="postcontent ubbcode">猛击此处下载&#8594; [ </span><a href="http://www.blogjava.net/Files/doneykoo/WowDLLChecker_20100921_1.0.3.22.rar">WowDLLChecker_20100921_1.0.3.22.rar</a><span id="postcontent0" class="postcontent ubbcode">] 59.3&nbsp;&nbsp; KB<br />
&nbsp; &nbsp;<br />
<br />
<span class="indigo"> 缺少.Net库的童鞋请下载<span class="silver">[</span> <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&amp;displaylang=zh-cn" target="_blank"><span class="urltip silver">http://www.microsoft.com/downloads/details.aspx?FamilyID=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&amp;displaylang=zh-cn </span>Microsoft .NET Framework Version 2.0 组件包(x86)</a> <span class="silver">]</span></span></span><span id="postcontent0"><br />
<br />
<br />
</span><span id="postcontent0" class="postcontent ubbcode">== Log ==<br />
20091103 1.0.2.0 new features:&nbsp; MD5 check;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Tool self check result;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Wow.exe and Launcher.exe check;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Colorized rows to indicate file status.<br />
20091104 1.0.2.1 new features:&nbsp; Changed last modified time judgement;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Configuration of keep checking;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Fixed language setting;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Minimized tray has a balloon tooltip now.<br />
20091113 1.0.2.2 new features:&nbsp; Disabled the judgement for last modified time;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Fixed the colorize process.<br />
20091114 1.0.2.3 new features:&nbsp; Looped in repair.exe;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Indicates wow client version the tool is based on;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Added suggestion message;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Adjusted the colorize process.<br />
20091208 1.0.2.4 new features:&nbsp; Now concerns some DLLs of vc7 env;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Prepare checking system for multi regions.<br />
20100202 1.0.3.0 new features:&nbsp; Now supports examination for WOW.TW;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Supports region selection between: zhCN, zhTW;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Supports language selection between: simplified Chinese, traditional Chinese, english;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Auto check your region for first running this app;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Auto saves/loads your changed settings.<br />
20100915 1.0.3.20 Updated for CWOW WLK.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sorry that in this version, TW info is wrong.<br />
20100916 1.0.3.21 Bug fix.<br />
20100921 1.0.3.22 Enhanced security check with MD5 and Exe Dll FileVersion.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Compatible with different versions of msvc dlls.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Info of zhCN 3.2.2.12484 added.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Info of zhTW 3.3.5.12340 added.<br />
<br />
<br />
<br />
<br />
WowDLLChecker.exe<br />
Size: 69645 bytes<br />
File Version: 1.0.3.22<br />
Modified: Tuesday, September 21, 2010, 11:03:05<br />
MD5: 9ADC90F7AA797F19C76EF5AF0D8AD74F<br />
SHA1: EAC9FA7ABA22534D2E9CEEE87C8E37AA281E9CD2<br />
CRC32: 43D7A492<br />
<br />
<br />
<br />
WowDLLChecker_20100921_1.0.3.22.rar<br />
Size: 61572 bytes<br />
Modified: Tuesday, September 21, 2010, 11:05:47<br />
MD5: E15F7C16B908A2BE4FC3E80B9ED1694B<br />
SHA1: 3D736739890938C9AF85A0D4B6914D024613D0CE<br />
CRC32: CA778324<br />
<br />
<br />
</span><span id="postcontent0"><br />
<br />
LOG.<br />
--DONE <br />
多余非官方文件&#8730;<br />
文件大小比较&#8730;<br />
最后修改时间比较&#8730;<br />
MD5&#8730;<br />
IFEO of wow.exe, launcher.exe&#8730;<br />
支持台服&#8730;<br />
支持多语言&#8730;<br />
自检测结果&#8730;<br />
<br />
--TODO<br />
被加载DLL</span>&nbsp;
<img src ="http://www.blogjava.net/doneykoo/aggbug/311647.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/doneykoo/" target="_blank">DoNeY</a> 2010-02-02 11:25 <a href="http://www.blogjava.net/doneykoo/archive/2010/02/02/311647.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Notes of Learning OpenGL Programming Guide [3]</title><link>http://www.blogjava.net/doneykoo/archive/2010/01/31/311384.html</link><dc:creator>DoNeY</dc:creator><author>DoNeY</author><pubDate>Sun, 31 Jan 2010 06:22:00 GMT</pubDate><guid>http://www.blogjava.net/doneykoo/archive/2010/01/31/311384.html</guid><wfw:comment>http://www.blogjava.net/doneykoo/comments/311384.html</wfw:comment><comments>http://www.blogjava.net/doneykoo/archive/2010/01/31/311384.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/doneykoo/comments/commentRss/311384.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/doneykoo/services/trackbacks/311384.html</trackback:ping><description><![CDATA[<br />
<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080;"><span style="font-family: Arial;"><span style="font-family: Lucida Console;"><span style="font-family: Lucida Console;"><span style="font-family: Courier;"><span style="color: #008080;"><span style="font-family: Lucida Console;"><span style="color: #008080;">&nbsp;&nbsp;1</span>&nbsp;<span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;#pragma&nbsp;comment(linker,&nbsp;"/subsystem:\"windows\"&nbsp;/entry:\"mainCRTStartup\"")</span><span style="color: #008000;"><br />
</span><span style="color: #008080;">&nbsp;&nbsp;2</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;&nbsp;3</span>&nbsp;<span style="color: #000000;">#include&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">GL\glut.h</span><span style="color: #000000;">"</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;&nbsp;4</span>&nbsp;<span style="color: #000000;">#include&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">iostream</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;&nbsp;5</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;&nbsp;6</span>&nbsp;<span style="color: #0000ff;">static</span><span style="color: #000000;">&nbsp;GLfloat&nbsp;fSpin&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0.0</span><span style="color: #000000;">;<br />
</span><span style="color: #008080;">&nbsp;&nbsp;7</span>&nbsp;<span style="color: #0000ff;">static</span><span style="color: #000000;">&nbsp;GLfloat&nbsp;fClearBlue&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0.2</span><span style="color: #000000;">;<br />
</span><span style="color: #008080;">&nbsp;&nbsp;8</span>&nbsp;<span style="color: #0000ff;">static</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">bool</span><span style="color: #000000;">&nbsp;bRotating&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">false</span><span style="color: #000000;">;<br />
</span><span style="color: #008080;">&nbsp;&nbsp;9</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;10</span>&nbsp;<span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;display(</span><span style="color: #0000ff;">void</span><span style="color: #000000;">)<br />
</span><span style="color: #008080;">&nbsp;11</span>&nbsp;<span style="color: #000000;">{<br />
</span><span style="color: #008080;">&nbsp;12</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;clear</span><span style="color: #008000;"><br />
</span><span style="color: #008080;">&nbsp;13</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glClear(GL_COLOR_BUFFER_BIT);<br />
</span><span style="color: #008080;">&nbsp;14</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;15</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glPushMatrix();<br />
</span><span style="color: #008080;">&nbsp;16</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glRotatef(</span><span style="color: #000000;">-</span><span style="color: #000000;">fSpin,&nbsp;</span><span style="color: #000000;">0.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">1.0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;17</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glColor3f(</span><span style="color: #000000;">1.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">1.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">1.0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;18</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glRectf(</span><span style="color: #000000;">-</span><span style="color: #000000;">25.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">25.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">25.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">25.0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;19</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;20</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glColor3f(</span><span style="color: #000000;">1.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0.0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;21</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;22</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glBegin(GL_POLYGON);<br />
</span><span style="color: #008080;">&nbsp;23</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glVertex3i(</span><span style="color: #000000;">-</span><span style="color: #000000;">16</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">18</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;24</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glVertex3i(</span><span style="color: #000000;">16</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">18</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;25</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glVertex3i(</span><span style="color: #000000;">16</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">10</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;26</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glVertex3i(</span><span style="color: #000000;">-</span><span style="color: #000000;">16</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">10</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;27</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glEnd();<br />
</span><span style="color: #008080;">&nbsp;28</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;29</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glBegin(GL_POLYGON);<br />
</span><span style="color: #008080;">&nbsp;30</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glVertex3i(</span><span style="color: #000000;">-</span><span style="color: #000000;">4</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">10</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;31</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glVertex3i(</span><span style="color: #000000;">4</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">10</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;32</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glVertex3i(</span><span style="color: #000000;">4</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;33</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glVertex3i(</span><span style="color: #000000;">-</span><span style="color: #000000;">4</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;34</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glEnd();<br />
</span><span style="color: #008080;">&nbsp;35</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;36</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glBegin(GL_POLYGON);<br />
</span><span style="color: #008080;">&nbsp;37</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glVertex3i(</span><span style="color: #000000;">-</span><span style="color: #000000;">20</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;38</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glVertex3i(</span><span style="color: #000000;">20</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;39</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glVertex3i(</span><span style="color: #000000;">20</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">3</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;40</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glVertex3i(</span><span style="color: #000000;">-</span><span style="color: #000000;">20</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">3</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;41</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glEnd();<br />
</span><span style="color: #008080;">&nbsp;42</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;43</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glBegin(GL_POLYGON);<br />
</span><span style="color: #008080;">&nbsp;44</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glVertex3i(</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;45</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glVertex3i(</span><span style="color: #000000;">18</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">16</span><span style="color: #000000;">,</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;46</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glVertex3i(</span><span style="color: #000000;">13</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">21</span><span style="color: #000000;">,</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;47</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glVertex3i(</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">8</span><span style="color: #000000;">,</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;48</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glEnd();<br />
</span><span style="color: #008080;">&nbsp;49</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;50</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glBegin(GL_POLYGON);<br />
</span><span style="color: #008080;">&nbsp;51</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glVertex3i(</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;52</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glVertex3i(</span><span style="color: #000000;">-</span><span style="color: #000000;">18</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">16</span><span style="color: #000000;">,</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;53</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glVertex3i(</span><span style="color: #000000;">-</span><span style="color: #000000;">13</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">21</span><span style="color: #000000;">,</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;54</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glVertex3i(</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">8</span><span style="color: #000000;">,</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;55</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glEnd();<br />
</span><span style="color: #008080;">&nbsp;56</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;57</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glPopMatrix();<br />
</span><span style="color: #008080;">&nbsp;58</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;59</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glutSwapBuffers();<br />
</span><span style="color: #008080;">&nbsp;60</span>&nbsp;<span style="color: #000000;">}<br />
</span><span style="color: #008080;">&nbsp;61</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;62</span>&nbsp;<span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;spinDisplay(</span><span style="color: #0000ff;">void</span><span style="color: #000000;">)<br />
</span><span style="color: #008080;">&nbsp;63</span>&nbsp;<span style="color: #000000;">{<br />
</span><span style="color: #008080;">&nbsp;64</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;change&nbsp;the&nbsp;params&nbsp;for&nbsp;displaying&nbsp;the&nbsp;squre</span><span style="color: #008000;"><br />
</span><span style="color: #008080;">&nbsp;65</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;fSpin&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0.05</span><span style="color: #000000;">;<br />
</span><span style="color: #008080;">&nbsp;66</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(fSpin&nbsp;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">360.0</span><span style="color: #000000;">)&nbsp;{<br />
</span><span style="color: #008080;">&nbsp;67</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fSpin&nbsp;</span><span style="color: #000000;">-=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">360.0</span><span style="color: #000000;">;<br />
</span><span style="color: #008080;">&nbsp;68</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080;">&nbsp;69</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glutPostRedisplay();&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;70</span>&nbsp;<span style="color: #000000;">}<br />
</span><span style="color: #008080;">&nbsp;71</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;72</span>&nbsp;<span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;reshape(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;w,&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;h)<br />
</span><span style="color: #008080;">&nbsp;73</span>&nbsp;<span style="color: #000000;">{<br />
</span><span style="color: #008080;">&nbsp;74</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glViewport(</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;(GLsizei)&nbsp;w,&nbsp;(GLsizei)&nbsp;h);<br />
</span><span style="color: #008080;">&nbsp;75</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glMatrixMode(GL_PROJECTION);<br />
</span><span style="color: #008080;">&nbsp;76</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glLoadIdentity();<br />
</span><span style="color: #008080;">&nbsp;77</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glOrtho(</span><span style="color: #000000;">-</span><span style="color: #000000;">50.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">50.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">50.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">50.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">1.0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;78</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glMatrixMode(GL_MODELVIEW);<br />
</span><span style="color: #008080;">&nbsp;79</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glLoadIdentity();<br />
</span><span style="color: #008080;">&nbsp;80</span>&nbsp;<span style="color: #000000;">}<br />
</span><span style="color: #008080;">&nbsp;81</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;82</span>&nbsp;<span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;mouse(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;button,&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;state,&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;x,&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;y)<br />
</span><span style="color: #008080;">&nbsp;83</span>&nbsp;<span style="color: #000000;">{<br />
</span><span style="color: #008080;">&nbsp;84</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">switch</span><span style="color: #000000;">(button)&nbsp;{<br />
</span><span style="color: #008080;">&nbsp;85</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">case</span><span style="color: #000000;">&nbsp;GLUT_LEFT_BUTTON:<br />
</span><span style="color: #008080;">&nbsp;86</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;start&nbsp;or&nbsp;stop&nbsp;the&nbsp;rotating&nbsp;square</span><span style="color: #008000;"><br />
</span><span style="color: #008080;">&nbsp;87</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(state&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;GLUT_DOWN&nbsp;</span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">!</span><span style="color: #000000;">bRotating)&nbsp;{<br />
</span><span style="color: #008080;">&nbsp;88</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bRotating&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br />
</span><span style="color: #008080;">&nbsp;89</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;glutIdleFunc(</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">spinDisplay);<br />
</span><span style="color: #008080;">&nbsp;90</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080;">&nbsp;91</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(state&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;GLUT_DOWN&nbsp;</span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;">&nbsp;bRotating)&nbsp;{<br />
</span><span style="color: #008080;">&nbsp;92</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bRotating&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">false</span><span style="color: #000000;">;<br />
</span><span style="color: #008080;">&nbsp;93</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;glutIdleFunc(NULL);<br />
</span><span style="color: #008080;">&nbsp;94</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;((GLint)(fSpin</span><span style="color: #000000;">+</span><span style="color: #000000;">0.5</span><span style="color: #000000;">)</span><span style="color: #000000;">%</span><span style="color: #000000;">90</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">)&nbsp;{<br />
</span><span style="color: #008080;">&nbsp;95</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fClearBlue&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1.0</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">&nbsp;fClearBlue;<br />
</span><span style="color: #008080;">&nbsp;96</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;glClearColor(</span><span style="color: #000000;">0.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0.0</span><span style="color: #000000;">,&nbsp;fClearBlue,&nbsp;</span><span style="color: #000000;">0.0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;97</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080;">&nbsp;98</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080;">&nbsp;99</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">break</span><span style="color: #000000;">;<br />
</span><span style="color: #008080;">100</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">case</span><span style="color: #000000;">&nbsp;GLUT_RIGHT_BUTTON:<br />
</span><span style="color: #008080;">101</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">break</span><span style="color: #000000;">;<br />
</span><span style="color: #008080;">102</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">default</span><span style="color: #000000;">:<br />
</span><span style="color: #008080;">103</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">break</span><span style="color: #000000;">;<br />
</span><span style="color: #008080;">104</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080;">105</span>&nbsp;<span style="color: #000000;">}<br />
</span><span style="color: #008080;">106</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">107</span>&nbsp;<span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;init(</span><span style="color: #0000ff;">void</span><span style="color: #000000;">)<br />
</span><span style="color: #008080;">108</span>&nbsp;<span style="color: #000000;">{<br />
</span><span style="color: #008080;">109</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;select&nbsp;the&nbsp;clearing&nbsp;color</span><span style="color: #008000;"><br />
</span><span style="color: #008080;">110</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glClearColor(</span><span style="color: #000000;">0.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0.0</span><span style="color: #000000;">,&nbsp;fClearBlue,&nbsp;</span><span style="color: #000000;">0.0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">111</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">112</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glShadeModel(GL_FLAT);<br />
</span><span style="color: #008080;">113</span>&nbsp;<span style="color: #000000;">}<br />
</span><span style="color: #008080;">114</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">115</span>&nbsp;<span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;idle(</span><span style="color: #0000ff;">void</span><span style="color: #000000;">)<br />
</span><span style="color: #008080;">116</span>&nbsp;<span style="color: #000000;">{<br />
</span><span style="color: #008080;">117</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(glutGetWindow()&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">)&nbsp;{<br />
</span><span style="color: #008080;">118</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">119</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080;">120</span>&nbsp;<span style="color: #000000;">}<br />
</span><span style="color: #008080;">121</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">122</span>&nbsp;<span style="color: #008000;">/*</span><span style="color: #008000;"><br />
</span><span style="color: #008080;">123</span>&nbsp;<span style="color: #008000;">&nbsp;*&nbsp;Declare&nbsp;display&nbsp;mode,&nbsp;window&nbsp;size,&nbsp;position,&nbsp;<br />
</span><span style="color: #008080;">124</span>&nbsp;<span style="color: #008000;">&nbsp;*&nbsp;open&nbsp;a&nbsp;window&nbsp;titled,<br />
</span><span style="color: #008080;">125</span>&nbsp;<span style="color: #008000;">&nbsp;*&nbsp;call&nbsp;init&nbsp;routines,<br />
</span><span style="color: #008080;">126</span>&nbsp;<span style="color: #008000;">&nbsp;*&nbsp;register&nbsp;display,&nbsp;reshape,&nbsp;mouse&nbsp;callback&nbsp;function<br />
</span><span style="color: #008080;">127</span>&nbsp;<span style="color: #008000;">&nbsp;*&nbsp;enter&nbsp;main&nbsp;loop<br />
</span><span style="color: #008080;">128</span>&nbsp;<span style="color: #008000;">&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">129</span>&nbsp;<span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;main(&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;argc,&nbsp;</span><span style="color: #0000ff;">char</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;argv[]&nbsp;)<br />
</span><span style="color: #008080;">130</span>&nbsp;<span style="color: #000000;">{<br />
</span><span style="color: #008080;">131</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glutInit(</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">argc,&nbsp;argv);<br />
</span><span style="color: #008080;">132</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">133</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;GLUT_DOUBLE&nbsp;-&nbsp;double&nbsp;buffer</span><span style="color: #008000;"><br />
</span><span style="color: #008080;">134</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glutInitDisplayMode(GLUT_RGB&nbsp;</span><span style="color: #000000;">|</span><span style="color: #000000;">&nbsp;GLUT_DOUBLE);<br />
</span><span style="color: #008080;">135</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glutInitWindowPosition(</span><span style="color: #000000;">100</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">100</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">136</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glutInitWindowSize(</span><span style="color: #000000;">400</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">400</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">137</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glutCreateWindow(</span><span style="color: #000000;">"</span><span style="color: #000000;">DoNeY's&nbsp;first&nbsp;OpenGL&nbsp;app</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">138</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">139</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;init();<br />
</span><span style="color: #008080;">140</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">141</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glutDisplayFunc(</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">display);<br />
</span><span style="color: #008080;">142</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glutReshapeFunc(</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">reshape);<br />
</span><span style="color: #008080;">143</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glutMouseFunc(</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">mouse);<br />
</span><span style="color: #008080;">144</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glutIdleFunc(</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">idle);<br />
</span><span style="color: #008080;">145</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">146</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glutMainLoop();<br />
</span><span style="color: #008080;">147</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;<br />
</span><span style="color: #008080;">148</span>&nbsp;<span style="color: #000000;">}<br />
</span><span style="color: #008080;">149</span>&nbsp;</span></span></span></span></span></span></span></div>
<br />
<br />
<br />
<img src ="http://www.blogjava.net/doneykoo/aggbug/311384.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/doneykoo/" target="_blank">DoNeY</a> 2010-01-31 14:22 <a href="http://www.blogjava.net/doneykoo/archive/2010/01/31/311384.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>sample OpenGL project in VS2008</title><link>http://www.blogjava.net/doneykoo/archive/2010/01/27/310937.html</link><dc:creator>DoNeY</dc:creator><author>DoNeY</author><pubDate>Wed, 27 Jan 2010 06:25:00 GMT</pubDate><guid>http://www.blogjava.net/doneykoo/archive/2010/01/27/310937.html</guid><wfw:comment>http://www.blogjava.net/doneykoo/comments/310937.html</wfw:comment><comments>http://www.blogjava.net/doneykoo/archive/2010/01/27/310937.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/doneykoo/comments/commentRss/310937.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/doneykoo/services/trackbacks/310937.html</trackback:ping><description><![CDATA[<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080;">&nbsp;1</span>&nbsp;<span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;<br />
</span><span style="color: #008080;">&nbsp;2</span>&nbsp;<span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;#include&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">GL\glut.h</span><span style="color: #000000;">"</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;3</span>&nbsp;<span style="color: #000000;">&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;<br />
</span><span style="color: #008080;">&nbsp;4</span>&nbsp;<span style="color: #000000;">&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;Render()<br />
</span><span style="color: #008080;">&nbsp;5</span>&nbsp;<span style="color: #000000;">&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;">&nbsp;{<br />
</span><span style="color: #008080;">&nbsp;6</span>&nbsp;<span style="color: #000000;">&nbsp;</span><span style="color: #000000;">6</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;glClearColor(</span><span style="color: #000000;">0.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0.3</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0.0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;7</span>&nbsp;<span style="color: #000000;">&nbsp;</span><span style="color: #000000;">7</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;glClear(GL_COLOR_BUFFER_BIT);<br />
</span><span style="color: #008080;">&nbsp;8</span>&nbsp;<span style="color: #000000;">&nbsp;</span><span style="color: #000000;">8</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;glColor3f(</span><span style="color: #000000;">1.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0.5</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0.5</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;9</span>&nbsp;<span style="color: #000000;">&nbsp;</span><span style="color: #000000;">9</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;glOrtho(</span><span style="color: #000000;">0.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">1.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">1.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">1.0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">10</span>&nbsp;<span style="color: #000000;">10</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;glBegin(GL_POLYGON);<br />
</span><span style="color: #008080;">11</span>&nbsp;<span style="color: #000000;">11</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
</span><span style="color: #008080;">12</span>&nbsp;<span style="color: #000000;">12</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;glVertex3f(</span><span style="color: #000000;">0.5</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0.75</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0.0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">13</span>&nbsp;<span style="color: #000000;">13</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;glVertex3f(</span><span style="color: #000000;">0.8</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0.25</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0.0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">14</span>&nbsp;<span style="color: #000000;">14</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;glVertex3f(</span><span style="color: #000000;">0.2</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0.25</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0.0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">15</span>&nbsp;<span style="color: #000000;">15</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080;">16</span>&nbsp;<span style="color: #000000;">16</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;glEnd();<br />
</span><span style="color: #008080;">17</span>&nbsp;<span style="color: #000000;">17</span><span style="color: #000000;">&nbsp;<br />
</span><span style="color: #008080;">18</span>&nbsp;<span style="color: #000000;">18</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">glRectf(-0.5f,-0.5f,0.5f,0.5f);</span><span style="color: #008000;"><br />
</span><span style="color: #008080;">19</span>&nbsp;<span style="color: #000000;">19</span><span style="color: #000000;">&nbsp;<br />
</span><span style="color: #008080;">20</span>&nbsp;<span style="color: #000000;">20</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;glFlush();<br />
</span><span style="color: #008080;">21</span>&nbsp;<span style="color: #000000;">21</span><span style="color: #000000;">&nbsp;}<br />
</span><span style="color: #008080;">22</span>&nbsp;<span style="color: #000000;">22</span><span style="color: #000000;">&nbsp;<br />
</span><span style="color: #008080;">23</span>&nbsp;<span style="color: #000000;">23</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;main(&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;argc,&nbsp;</span><span style="color: #0000ff;">char</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;argv[]&nbsp;)<br />
</span><span style="color: #008080;">24</span>&nbsp;<span style="color: #000000;">24</span><span style="color: #000000;">&nbsp;{<br />
</span><span style="color: #008080;">25</span>&nbsp;<span style="color: #000000;">25</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;glutInit(</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">argc,&nbsp;argv);<br />
</span><span style="color: #008080;">26</span>&nbsp;<span style="color: #000000;">26</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;glutInitDisplayMode(GLUT_RGB&nbsp;</span><span style="color: #000000;">|</span><span style="color: #000000;">&nbsp;GLUT_SINGLE);<br />
</span><span style="color: #008080;">27</span>&nbsp;<span style="color: #000000;">27</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;glutInitWindowPosition(</span><span style="color: #000000;">100</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">100</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">28</span>&nbsp;<span style="color: #000000;">28</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;glutInitWindowSize(</span><span style="color: #000000;">400</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">400</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">29</span>&nbsp;<span style="color: #000000;">29</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;glutCreateWindow(</span><span style="color: #000000;">"</span><span style="color: #000000;">DoNeY's&nbsp;first&nbsp;OpenGL&nbsp;app</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">30</span>&nbsp;<span style="color: #000000;">30</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;glutDisplayFunc(</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">Render);<br />
</span><span style="color: #008080;">31</span>&nbsp;<span style="color: #000000;">31</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;glutMainLoop();<br />
</span><span style="color: #008080;">32</span>&nbsp;<span style="color: #000000;">32</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;<br />
</span><span style="color: #008080;">33</span>&nbsp;<span style="color: #000000;">33</span><span style="color: #000000;">&nbsp;}<br />
</span><span style="color: #008080;">34</span>&nbsp;<span style="color: #000000;">34</span><span style="color: #000000;">&nbsp;<br />
</span><span style="color: #008080;">35</span>&nbsp;</div>
<br />
<img src ="http://www.blogjava.net/doneykoo/aggbug/310937.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/doneykoo/" target="_blank">DoNeY</a> 2010-01-27 14:25 <a href="http://www.blogjava.net/doneykoo/archive/2010/01/27/310937.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>WowDLLChecker_20091208_1.0.2.4</title><link>http://www.blogjava.net/doneykoo/archive/2009/10/19/298838.html</link><dc:creator>DoNeY</dc:creator><author>DoNeY</author><pubDate>Mon, 19 Oct 2009 05:56:00 GMT</pubDate><guid>http://www.blogjava.net/doneykoo/archive/2009/10/19/298838.html</guid><wfw:comment>http://www.blogjava.net/doneykoo/comments/298838.html</wfw:comment><comments>http://www.blogjava.net/doneykoo/archive/2009/10/19/298838.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/doneykoo/comments/commentRss/298838.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/doneykoo/services/trackbacks/298838.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: WowDLLChecker  (c) Ouditian  [rev.20091208] ver 1.0.2.4 for CWOW 3.1.3<br>Put this checker into your World of Warcraft directoy and execute it to check dangerous DLLs.<br><br><br>WowDLLChecker.exe&nbsp;&nbsp;<a href='http://www.blogjava.net/doneykoo/archive/2009/10/19/298838.html'>阅读全文</a><img src ="http://www.blogjava.net/doneykoo/aggbug/298838.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/doneykoo/" target="_blank">DoNeY</a> 2009-10-19 13:56 <a href="http://www.blogjava.net/doneykoo/archive/2009/10/19/298838.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ruby操作excel文件</title><link>http://www.blogjava.net/doneykoo/archive/2009/02/26/256755.html</link><dc:creator>DoNeY</dc:creator><author>DoNeY</author><pubDate>Thu, 26 Feb 2009 02:25:00 GMT</pubDate><guid>http://www.blogjava.net/doneykoo/archive/2009/02/26/256755.html</guid><wfw:comment>http://www.blogjava.net/doneykoo/comments/256755.html</wfw:comment><comments>http://www.blogjava.net/doneykoo/archive/2009/02/26/256755.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/doneykoo/comments/commentRss/256755.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/doneykoo/services/trackbacks/256755.html</trackback:ping><description><![CDATA[<div id="blog_text" class="cnt">
<p>使用ruby来操作excel文件首先需要在脚本里包含以下语句<br />
require 'win32ole'</p>
<p>把win32ole包含进来后,就可以通过和windows下的excel api进行交互来对excel文件进行读写了.</p>
<p><br />
<strong>打开excel文件,对其中的sheet进行访问:</strong><br />
excel = WIN32OLE::new('excel.Application')<br />
workbook = excel.Workbooks.Open('c:\examples\spreadsheet.xls')<br />
worksheet = workbook.Worksheets(1) #定位到第一个sheet<br />
worksheet.Select</p>
<p><strong>读取数据:</strong><br />
worksheet.Range('a12')['Value']  #读取a12中的数据<br />
data = worksheet.Range('a1:c12')['Value'] #将数据读入到一个二维表</p>
<p><br />
<strong>找到第一处a列的值为空值</strong><br />
line = 1<br />
while worksheet.Range("a#{line}")['Value']<br />
&nbsp;&nbsp;  line=line+1<br />
end #line的值为第一处空白行的行数</p>
<p><br />
<strong>将第一列的值读入到一个数组中</strong><br />
line = '1'<br />
data = []<br />
while worksheet.Range("a#{line}")['Value']<br />
&nbsp;&nbsp;  data &lt;&lt; worksheet.Range("a#{line}:d#{line}")['Value']<br />
&nbsp;&nbsp;  line.succ!<br />
end</p>
<p><br />
<strong>将数据写入到excel表格中</strong><br />
worksheet.Range('e2')['Value'] = Time.now.strftime '%d/%m/%Y' #单个值<br />
worksheet.Range('a5:c5')['Value'] = ['Test', '25', 'result']  #将一个数组写入</p>
<p><br />
<strong>调用宏定义<br />
</strong>excel.Run('SortByNumber')</p>
<p><strong>设置背景色</strong><br />
worksheet.Range('a3:f5').Interior['ColorIndex'] = 36 #pale yellow<br />
# 将背景色恢复成无色<br />
worksheet.Range('a3:f5').Interior['ColorIndex'] = -4142 # XlColorIndexNone constant<br />
# 使用Excel constant 将背景色恢复成无色<br />
worksheet.Range('a3:f5').Interior['ColorIndex'] = ExcelConst::XlColorIndexNone</p>
<p><br />
<strong>保存</strong><br />
workbook.Close(1)<br />
# 或<br />
workbook.<span class="__mozilla-findbar-search" style="padding: 0pt; background-color: yellow; color: black; display: inline; font-size: inherit;">SaveAs</span> 'myfile.xls'<br />
# 默认路径是系统定义的"我的文档"</p>
<p><br />
<strong>结束会话</strong><br />
excel.Quit</p>
<p>一些相对完整的代码片段</p>
<p><strong>创建一个excel文件并保存</strong><br />
require 'win32ole'<br />
excel = WIN32OLE.new("excel.application")<br />
excel.visible = true&nbsp;&nbsp;&nbsp;&nbsp;  # in case you want to see what happens <br />
workbook = excel.workbooks.add<br />
workbook.<span class="__mozilla-findbar-search" style="padding: 0pt; background-color: yellow; color: black; display: inline; font-size: inherit;">saveas</span>('c:\examples\spreadsheet1.xls')<br />
workbook.close</p>
<p><strong>操作excel文件的几个重要元素<br />
</strong>Excel =&gt; workbook =&gt; worksheet =&gt; range(cell)<br />
我理解的是excel为类名,workbook为一个具体的(excel文件)实例,创建好实例后,worksheet是实例(workbook,工作簿)中的一个工作表,然后可</p>
<p>以对工作表中的每个单元格(range(cell))进行具体的读写------------------按照这样操作肯定没有错,不过下面的这些语句又让我有些疑惑</p>
<p><br />
excel.workbooks("Mappe1").worksheets("Tabelle1").range("a1").value #读取名为Mappe1的excel文件中工作表名为Tabelle1的a1单元格中的值<br />
excel.worksheets("Tabelle1").range("a1").value #作用同第一条语句<br />
excel.activeworkbook.activesheet.range("a1").value #作用同第一条语句<br />
excel.activesheet.range("a1").value #作用同第一条语句<br />
excel.range("a1").value #作用同第一条语句</p>
<p>excel可以直接操作所有的属性,默认为当前活跃的工作簿/工作表</p>
<p><br />
<strong>对单元格的操作:</strong></p>
<p>某个单元格: sheet.range("a1")</p>
<p>a1到c3的值:&nbsp;&nbsp;  sheet.range("a1", "c3")  或 sheet.range("a1:c3")</p>
<p>第一列:&nbsp;&nbsp;&nbsp;  sheet.range("a:a")</p>
<p>第三行:&nbsp;&nbsp;&nbsp;  sheet.range("3:3")</p>
<p><strong>获得单元格的值:</strong><br />
range.text  #读取值,返回为字符串格式,如果单元格内为数字,有可能会被截断小数点后的位数<br />
sheet.range("a1").text&nbsp;&nbsp;</p>
<p>range.value  #读取值,数字不会截断<br />
sheet.range("a1").value&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
<p><strong>对单元格设置值</strong><br />
sheet.range("a1").value = 1.2345<br />
或<br />
sheet.range("a1").value = '1.2345'</p>
<p><strong>迭代访问</strong>:</p>
<p>sheet.range("a1:a10").each{|cell|puts cell.value}</p>
<p>如果范围是一个矩形,则会按行循环迭代访问<br />
sheet.range("a1:b5").each{|cell|puts cell.value}</p>
<p>block迭代,并打印出每行的第一个值<br />
sheet.range("b3:c7").rows.each{|r|puts r.cells(1,1).value}</p>
</div>
<img src ="http://www.blogjava.net/doneykoo/aggbug/256755.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/doneykoo/" target="_blank">DoNeY</a> 2009-02-26 10:25 <a href="http://www.blogjava.net/doneykoo/archive/2009/02/26/256755.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>