<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_现在做java了，到时候发些java的文章</title><subtitle type="text">现在做java了，到时候发些java的文章</subtitle><id>http://feed.cnblogs.com/blog/u/19097/rss</id><updated>2011-10-16T12:44:46Z</updated><author><name>panzhilei</name><uri>http://www.cnblogs.com/panzhilei/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/panzhilei/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/19097/rss"/><entry><id>http://www.cnblogs.com/panzhilei/archive/2011/03/29/1998971.html</id><title type="text">如何生成1-1000的数字，并且顺序打乱</title><summary type="text">int count = 1000; int[] arrNum = new int[count]; for (int i = 0; i &amp;lt; count; i++) { arrNum[i] = i + 1; } //打乱 Random rm = new Random(); for (int i = 0; i &amp;lt; count; i++) { int rmNum = rm.Next(i, count); int temp = arrNum[i]; arrNum[i] = arrNum[rmNum]; arrNum[rmNum] = temp; }----------------------</summary><published>2011-03-29T08:52:00Z</published><updated>2011-03-29T08:52:00Z</updated><author><name>panzhilei</name><uri>http://www.cnblogs.com/panzhilei/</uri></author><link rel="alternate" href="http://www.cnblogs.com/panzhilei/archive/2011/03/29/1998971.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/panzhilei/archive/2011/03/29/1998971.html"/><content type="html">&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;pre&gt;&lt;div&gt;&lt;span style="color: #0000ff;"&gt;　　　　　　  int&lt;/span&gt;&lt;span style="color: #000000;"&gt; count &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800080;"&gt;1000&lt;/span&gt;&lt;span style="color: #000000;"&gt;;      &lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;[] arrNum &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;[count];&lt;br /&gt;&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;for&lt;/span&gt;&lt;span style="color: #000000;"&gt; (&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt; i &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;; i &lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; count; i&lt;/span&gt;&lt;span style="color: #000000;"&gt;++&lt;/span&gt;&lt;span style="color: #000000;"&gt;)&lt;br /&gt;            {&lt;br /&gt;                arrNum[i] &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; i &lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;打乱&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;            Random rm &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt; Random();&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;for&lt;/span&gt;&lt;span style="color: #000000;"&gt; (&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt; i &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;; i &lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; count; i&lt;/span&gt;&lt;span style="color: #000000;"&gt;++&lt;/span&gt;&lt;span style="color: #000000;"&gt;)&lt;br /&gt;            {&lt;br /&gt;                &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt; rmNum &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; rm.Next(i, count);&lt;br /&gt;                &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt; temp &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; arrNum[i];&lt;br /&gt;                arrNum[i] &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; arrNum[rmNum];&lt;br /&gt;                arrNum[rmNum] &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; temp;&lt;br /&gt;            }&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #000000;"&gt;--------------------------&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New';" face="'Courier New'"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #000000;"&gt;--显示表io操作&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #000000;"&gt;SET &amp;nbsp; STATISTICS &amp;nbsp; IO &amp;nbsp; ON&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #000000;"&gt;--sql语句&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #000000;"&gt;SET &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New';"&gt;STATISTICS &amp;nbsp; IO &amp;nbsp; OFF&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #000000;"&gt;表 'P2'。扫描计数 7，逻辑读 7 次，物理读 0 次，预读 0 次。&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&#xD;
&lt;/div&gt;&lt;img src="http://www.cnblogs.com/panzhilei/aggbug/1998971.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/panzhilei/archive/2011/03/29/1998971.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/panzhilei/archive/2011/02/26/1965864.html</id><title type="text">如何快速创建大文件</title><summary type="text">可用命令，开始-运行-输入cmd，打开命令提示符，输入：fsutil file createnew a.txt 100000000可以看到a.txt文件会消耗100000000字节硬盘空间，但内容为空</summary><published>2011-02-26T09:57:00Z</published><updated>2011-02-26T09:57:00Z</updated><author><name>panzhilei</name><uri>http://www.cnblogs.com/panzhilei/</uri></author><link rel="alternate" href="http://www.cnblogs.com/panzhilei/archive/2011/02/26/1965864.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/panzhilei/archive/2011/02/26/1965864.html"/><content type="html">&lt;pre &gt;可用命令，开始-运行-输入cmd，打开命令提示符，输入：&#xD;
fsutil file createnew a.txt  100000000&#xD;
&#xD;
可以看到a.txt文件会消耗100000000字节硬盘空间，但内容为空 &lt;/pre&gt;&lt;img src="http://www.cnblogs.com/panzhilei/aggbug/1965864.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/panzhilei/archive/2011/02/26/1965864.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/panzhilei/archive/2011/02/22/1961208.html</id><title type="text">高晓松：不买房，买梦想</title><summary type="text">&amp;ldquo;我妈说生活不是眼前的苟且，生活有诗和远方。我和我妹妹深受这教育。谁要觉得你眼前这点儿苟且就是你的人生，那你这一生就完了。生活就是适合远方，能走多远走多远；走不远，一分钱没有，那么就读诗，诗就是你坐在这，它就是远方。&amp;rdquo;作者：高晓松关于房子，我跟大多数人概念不一样。我从小住在清华校园里，家是那种二层的小楼，外表看起来很普通，面积也不是特大，但是特别安静。这地儿都没动过，也没装修之说，从我生下来就是这样红色的，很老很旧。但我在那儿真觉得挺好，有一个家，不仅仅是睡觉的地方。我自己也不知道这房子多少年了，我们也在感慨：后边的院子多好啊，出门就是操场、游泳馆，还有漂亮的女生，白发</summary><published>2011-02-22T05:51:00Z</published><updated>2011-02-22T05:51:00Z</updated><author><name>panzhilei</name><uri>http://www.cnblogs.com/panzhilei/</uri></author><link rel="alternate" href="http://www.cnblogs.com/panzhilei/archive/2011/02/22/1961208.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/panzhilei/archive/2011/02/22/1961208.html"/><content type="html">&lt;div&gt;&lt;span style="word-spacing: 0px; font: 14px arial, sans-serif; text-transform: none; color: #000000; text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate; orphans: 2; widows: 2;" &gt;&lt;span style="font-size: 13px; border-collapse: collapse;" &gt;&#xD;
&lt;p&gt;&amp;ldquo;我妈说生活不是眼前的苟且，生活有诗和远方。我和我妹妹深受这教育。谁要觉得你眼前这点儿苟且就是你的人生，那你这一生就完了。生活就是适合远方，能走多远走多远；走不远，一分钱没有，那么就读诗，诗就是你坐在这，它就是远方。&amp;rdquo;&lt;/p&gt;&#xD;
&lt;p&gt;作者：高晓松&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;关于房子，我跟大多数人概念不一样。我从小住在清华校园里，家是那种二层的小楼，外表看起来很普通，面积也不是特大，但是特别安静。&lt;/p&gt;&#xD;
&lt;p&gt;这地儿都没动过，也没装修之说，从我生下来就是这样红色的，很老很旧。但我在那儿真觉得挺好，有一个家，不仅仅是睡觉的地方。我自己也不知道这房子多少年了，我们也在感慨：后边的院子多好啊，出门就是操场、游泳馆，还有漂亮的女生，白发的先生；四周的邻居，随便踹开一家的门，里面住的都是中国顶级的大知识分子，进去聊会儿天怎么都长知识，梁思成林徽因就住我前面的院子。小时候有什么问题家里老人就写一张字条，说这问题你问谁谁谁。我找到人家家里，打开字条一看，哦，你是那谁家的孩子，那你讲吧，都是中国头把交椅啊。这才是住处真正的意义吧，它让你透气，而不是豪华的景观、户型和装修什么的。&lt;/p&gt;&#xD;
&lt;p&gt;2007年，我们搬了出来，因为家人都在国外，我又不在清华教书，学校就把房子收回去了，后来我去了洛杉矶。&lt;/p&gt;&#xD;
&lt;p&gt;去了美国，我一样是无房户，坚定的无房主义者。刚去美国的时候，我做编剧和开发，只卖出了两首电影歌曲。美国流行音乐是草根文化，美国卖吉他的黑人当我师傅都有富余，不是说他弹得比我好，是同样一个琴我们弹的都不是一个级别，出的声音都不一样。国外很多伟大的乐队，都是一个班的同学，在中国整个高校也选拔不出一个牛的乐队。为啥？国内很多年轻人的热情都分散了，赚钱的热情大过音乐本身，比如买房。&lt;/p&gt;&#xD;
&lt;p&gt;郑钧有一天跟我说，有些艺术家被抓进精神病院，成了精神病；有些精神病人从精神病院逃出来，成为艺术家，你就是那后者，你的生活就像行为艺术。不过，我肯定不属于时尚人士，因为从来不关注别人的流行趋势，也算不上中产阶级，如果我的钱只够旅行或是买房子，那我就去旅行。&lt;/p&gt;&#xD;
&lt;p&gt;平时除了听听歌，看看电影，我最大的爱好就是满世界跑着玩。大概去过三十多个国家了，到一个地方就买一辆车，然后玩一段时间就把车卖了，再去下一个地方。&lt;/p&gt;&#xD;
&lt;p&gt;经常在旅途中碰上一堆人，然后很快成为朋友，然后喝酒，然后下了火车各自离去。之前还在欧洲碰见一个东欧乐队，我帮人弹琴，后来还跟人卖艺去了，跟着人到处跑到处弹唱，到荷兰，到西班牙，到丹麦&amp;hellip;&amp;hellip;我妈也是，一个人背包走遍世界，我妈现在还在流浪，在考察美国天主教遗址。&lt;/p&gt;&#xD;
&lt;p&gt;我妹也是，也没有买房，她挣的钱比我多得多。之前她骑摩托横穿非洲，摩托车在沙漠小村里坏了，她索性就在那里生活两个月等着零件寄到。然后在撒哈拉沙漠一小村子里给我写一个明信片，叫做&amp;ldquo;彩虹之上&amp;rdquo;，她在明信片里告诉我说，哥，我骑了一个宝马摩托，好开心。我看到沙漠深处的血色残阳，与酋长族人喝酒，他们的笑容晃眼睛&amp;hellip;&amp;hellip;因为我跟我妹都不买房，你知道你只要不买房，你想开什么车开什么车。你想，你一个厕所的面积就恨不得能买一奔驰。然后她就开一宝马摩托，坏了，说整个非洲都没这零件，她说你知道我现在在做什么吗？我在撒哈拉一个小村子里给人当导游。&lt;/p&gt;&#xD;
&lt;p&gt;我妈从小就教育我们，不要被一些所谓的财产困住。所以我跟我妹走遍世界，然后我俩都不买房，就觉得很幸福。我妈说生活不是眼前的苟且，生活有诗和远方。我和我妹妹深受这教育。谁要觉得你眼前这点儿苟且就是你的人生，那你这一生就完了。生活就是适合远方，能走多远走多远；走不远，一分钱没有，那么就读诗，诗就是你坐在这，它就是远方。越是年长，越能体会我妈的话。&lt;/p&gt;&#xD;
&lt;p&gt;美国人平均31岁才第一次购房，德国人42岁，比利时人37岁，欧洲拥有独立住房的人口占50%，剩下都是租房。为什么现在中国的年轻人一毕业就结婚？一结婚就买房？怎样才能买到房？一套房子会限制你所有的行为和决定。因为你知道，要一提裸婚，没有人愿意嫁给你。即使老婆愿意，他们家人呢？别人会怎么看？孩子以后怎么办？以今天的房价，普通人买房只有两种情况，一种是双方父母出钱资助，这种人基本上前途和发展被父母控股。第二种人是牺牲了太多的发展机会，典当梦想来成就一套房子。他们购买的，其实是自己内心深处的&amp;ldquo;安全感&amp;rdquo;。他们觉得，有一套房子，会让自己内心安全一点儿。但是安全感真的可以来自于一套房子吗？归根结底，还是价值观的问题。世界再怎么变，还是要有坚持，即使它是落后。我不入流，这不要紧。我每一天开心，这才是重要的。&lt;/p&gt;&#xD;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/panzhilei/aggbug/1961208.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/panzhilei/archive/2011/02/22/1961208.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/panzhilei/archive/2011/01/10/1932161.html</id><title type="text">(转)XMLHTTP 乱码的解决方法（UTF8,GB2312 编码 解码）（附带解决DHTMLX不能用在GB2312页面编码下的中文问题）</title><summary type="text">在数据发送一方，利用 javascript 的 escape 函数事先将所有中文转换成英文编码并保存（也可以用 ASP 等其它语言的函数实时转换输出）。在数据接收一方，利用 javascript 的 unescape 函数将所有英文编码还原。由于 Ajax 不论任何编码都能正常传送英文，所以用这种方法可以轻松解决。用XMLHTTP Post Form时的表单乱码有两方面的原因——Post表单数据时中文乱码；服务器Response被XMLHTTP不正确编码引起的乱码。换句话说，本文主要解决两个问题——怎样正确Post中文内容&amp;怎样正确显示得到的中文内容。Part I Post中文内容先看看E文的</summary><published>2011-01-10T09:01:00Z</published><updated>2011-01-10T09:01:00Z</updated><author><name>panzhilei</name><uri>http://www.cnblogs.com/panzhilei/</uri></author><link rel="alternate" href="http://www.cnblogs.com/panzhilei/archive/2011/01/10/1932161.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/panzhilei/archive/2011/01/10/1932161.html"/><content type="html">&lt;p&gt;&lt;/p&gt;&#xD;
&lt;div&gt;&lt;span style="word-spacing: 0px; font: 14px/24px 'Times New Roman'; text-transform: none; color: #000000; text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate; orphans: 2; widows: 2;"&gt;&lt;span style="line-height: 28px; text-align: left;"&gt;&#xD;
&lt;ul style="padding-right: 0px; padding-left: 20px; font-size: 14px; padding-bottom: 0px; margin: 14px auto 14px 28px; line-height: 24px; padding-top: 0px;"&gt;&#xD;
&lt;li style="list-style-position: outside; font-size: 14px; list-style-image: url(http://www.cftea.com/images/ul/triangle.gif); margin: 0px; width: auto; line-height: 24px; padding: 0px;"&gt;在数据发送一方，利用 javascript 的 escape 函数事先将所有中文转换成英文编码并保存（也可以用 ASP 等其它语言的函数实时转换输出）。&lt;/li&gt;&#xD;
&lt;li style="list-style-position: outside; font-size: 14px; list-style-image: url(http://www.cftea.com/images/ul/triangle.gif); margin: 0px; width: auto; line-height: 24px; padding: 0px;"&gt;在数据接收一方，利用 javascript 的 unescape 函数将所有英文编码还原。&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p&gt;由于 Ajax 不论任何编码都能正常传送英文，所以用这种方法可以轻松解决。&lt;/p&gt;&#xD;
&lt;hr style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" align="center" width="100%" color="#000000" noshade="noshade" size="1" /&gt;&#xD;
&lt;p&gt;用XMLHTTP Post Form时的表单乱码有两方面的原因&amp;mdash;&amp;mdash;Post表单数据时中文乱码；服务器Response被XMLHTTP不正确编码引起的乱码。换句话说，本文主要解决两个问题&amp;mdash;&amp;mdash;怎样正确Post中文内容&amp;amp;怎样正确显示得到的中文内容。&lt;/p&gt;&#xD;
&lt;p&gt;Part I Post中文内容&lt;/p&gt;&#xD;
&lt;p&gt;先看看E文的表单是怎么提交的：&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;lt;SCRIPT language="JavaScript"&amp;gt;&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;strA = "submit1=Submit&amp;amp;text1=scsdfsd";&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;var oReq = new ActiveXObject("MSXML2.XMLHTTP");&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;oReq.open("POST","http://ServerName/VDir/TstResult.asp",false);&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;oReq.setRequestHeader("Content-Length",strA.length);&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;oReq.setRequestHeader("CONTENT-TYPE","application/x-www-form-urlencoded");&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;oReq.send(strA);&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;lt;/ScRIPT&amp;gt;&lt;/p&gt;&#xD;
&lt;p&gt;如果把strA = "submit1=Submit&amp;amp;text1=scsdfsd";换成：&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;strA = "submit1=Submit&amp;amp;text1=中文";&lt;/p&gt;&#xD;
&lt;p&gt;你会发现提交上去的东东根本不对，ASP中Request.Form("Text1"）根本取不到值。俺用Request.BinaryRead把一个HTML Form中的Post内容写出来看了看，才发现问题&amp;mdash;&amp;mdash;Form提交时也要编码的，编码后的中文是类似于%??%??的转义字符，比如&amp;ldquo;中文&amp;rdquo;就被编码为：%D6%D0%CE%C4。呵呵，也怪俺笨，人家CONTENT-TYPE里明明写的清清楚楚&amp;mdash;&amp;mdash;application/x-www-form-urlencoded，urlencoded嘛当然就是这个样子了。既然这样,那我们也知道该怎么办了&amp;mdash;&amp;mdash;自己做转换，代码见下：&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;lt;SCRIPT language="VBScript"&amp;gt;&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;Function URLEncoding(vstrIn)&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; strReturn = ""&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; For i = 1 To Len(vstrIn)&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ThisChr = Mid(vStrIn,i,1)&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Abs(Asc(ThisChr)) &amp;lt; &amp;amp;HFF Then&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strReturn = strReturn &amp;amp; ThisChr&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; innerCode = Asc(ThisChr)&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If innerCode &amp;lt; 0 Then&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; innerCode = innerCode + &amp;amp;H10000&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Hight8 = (innerCode&amp;nbsp; And &amp;amp;HFF00)\ &amp;amp;HFF&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Low8 = innerCode And &amp;amp;HFF&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strReturn = strReturn &amp;amp; "%" &amp;amp; Hex(Hight8) &amp;amp;&amp;nbsp; "%" &amp;amp; Hex(Low8)&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; URLEncoding = strReturn&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;End Function&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;strA = URLEncoding("submit1=Submit&amp;amp;text1=中文")&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;oReq = CreateObject("MSXML2.XMLHTTP")&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;oReq.open "POST","http://ServerName/VDir/TstResult.asp",false&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;oReq.setRequestHeader "Content-Length",Len(strA)&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;oReq.setRequestHeader "CONTENT-TYPE","application/x-www-form-urlencoded"&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;oReq.send strA&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;lt;/SCRIPT&amp;gt;&lt;/p&gt;&#xD;
&lt;p&gt;（在这里俺把前面的JavaScript的代码改成了VBScript，不是吃饱了撑的没事干，原因见后）&lt;/p&gt;&#xD;
&lt;p&gt;Part II.正确显示得到的中文内容&lt;/p&gt;&#xD;
&lt;p&gt;OK，如果你在Server端把Form的内容写到数据库/文件的话，你在那里看到的中文毫无问题，但是，假如你想看看Server的Response&amp;mdash;&amp;mdash;问题来了：如果Response的结果不是XML，XMLHTTP.responseXML里当然是不会有东东的，那就用responseText好了，在代码的最后加一句：&lt;/p&gt;&#xD;
&lt;p&gt;alert(oReq.responseText)&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;看看俺们辛勤劳动的结果&amp;nbsp; :P&lt;/p&gt;&#xD;
&lt;p&gt;但是但是.....怎么所有的中文全变成了方格? （我打不出来，有兴趣自己去试，也不用Post，Get一个含有中文的网页就可以发现了。）&lt;/p&gt;&#xD;
&lt;p&gt;原因很简单：XMLHTTP得到Response时假定Response是UTF8编码的，如果Response是XML，那还可以通过encoding来指定编码，但HTML就不行了。（见鬼的GB2312，再次打倒！）所以它把含GB2312编码的HTML当成UTF8格式，不出错才有鬼！&lt;/p&gt;&#xD;
&lt;p&gt;不过好在还有补救的办法：XMLHTTP的responseBody 属性里包含的可是未解码的Resonse&amp;mdash;&amp;mdash;"a raw undecoded bytes as received directly from the server" ：），唯一的问题是，responseBody返回的是一个unsigned bytes数组，我们怎么去访问它，怎么把它转换成BSTR？&lt;/p&gt;&#xD;
&lt;p&gt;这就是为什么我在上面把代码改成VBScript的原因&amp;mdash;&amp;mdash;VBScript Can do it,but JavaScript Cannot!&lt;/p&gt;&#xD;
&lt;p&gt;代码见下：&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;lt;SCRIPT language="VBScript"&amp;gt;&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;Function URLEncoding(vstrIn)&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; strReturn = ""&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; For i = 1 To Len(vstrIn)&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ThisChr = Mid(vStrIn,i,1)&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Abs(Asc(ThisChr)) &amp;lt; &amp;amp;HFF Then&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strReturn = strReturn &amp;amp; ThisChr&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; innerCode = Asc(ThisChr)&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If innerCode &amp;lt; 0 Then&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; innerCode = innerCode + &amp;amp;H10000&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Hight8 = (innerCode&amp;nbsp; And &amp;amp;HFF00)\ &amp;amp;HFF&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Low8 = innerCode And &amp;amp;HFF&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strReturn = strReturn &amp;amp; "%" &amp;amp; Hex(Hight8) &amp;amp;&amp;nbsp; "%" &amp;amp; Hex(Low8)&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; URLEncoding = strReturn&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;End Function&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;Function bytes2BSTR(vIn)&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; strReturn = ""&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; For i = 1 To LenB(vIn)&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ThisCharCode = AscB(MidB(vIn,i,1))&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If ThisCharCode &amp;lt; &amp;amp;H80 Then&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strReturn = strReturn &amp;amp; Chr(ThisCharCode)&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NextCharCode = AscB(MidB(vIn,i+1,1))&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strReturn = strReturn &amp;amp; Chr(CLng(ThisCharCode) * &amp;amp;H100 + CInt(NextCharCode))&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i = i + 1&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bytes2BSTR = strReturn&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;End Function&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;strA = URLEncoding("submit1=Submit&amp;amp;text1=中文")&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;oReq = CreateObject("MSXML2.XMLHTTP")&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;oReq.open "POST","http://ServerName/VDir/TstResult.asp",false&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;oReq.setRequestHeader "Content-Length",Len(strA)&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;oReq.setRequestHeader "CONTENT-TYPE","application/x-www-form-urlencoded"&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;oReq.send strA&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;alert bytes2BSTR(oReq.responseBody)&lt;br style="font-size: 14px; margin: 0px; line-height: 24px; padding: 0px;" /&gt;&amp;lt;/SCRIPT&amp;gt;&lt;/p&gt;&#xD;
&lt;p&gt;----------------------------------------以上为转载-----------------------------&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://www.dhtmlx.com"&gt;http://www.dhtmlx.com&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="word-spacing: 0px; font: 14px/24px 'Times New Roman'; text-transform: none; color: #000000; text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate; orphans: 2; widows: 2;"&gt;&lt;span style="line-height: 28px; text-align: left;"&gt;&#xD;
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;h1 &gt;Start Building Professional Ajax&lt;br /&gt;Web Applications Today&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p &gt;最近用了 DHTMLX的tree,中文的xml居然用不了，报错，整个系统是GB2312的，而DHTMLX只支持UTF8，英文是正常的，中文就出错。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p &gt;用法也很简单，是DHTMLX 演示里用的代码。&lt;/p&gt;&#xD;
&lt;p &gt;&lt;strong&gt;&amp;nbsp;var obj=document.getElementById(oid);&amp;nbsp;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&amp;nbsp;obj.style.display="block";&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&amp;nbsp;obj.focus();&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&amp;nbsp;if(obj.innerHTML!="")return;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&amp;nbsp;tree=new dhtmlXTreeObject(oid,"100%","100%",0);&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&amp;nbsp;tree.setImagePath("js/imgs/csh_vista/");&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&amp;nbsp;tree.setOnClickHandler(click1);&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&amp;nbsp;tree.setXMLAutoLoading("tree.asp");&amp;nbsp;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&amp;nbsp;//load first level of tree&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&amp;nbsp; tree.loadXML("tree.asp?id=0"); &lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p &gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p &gt;tree.asp编码为gb2312,和整个系统一致，用response.write返回一个xml &lt;/p&gt;&#xD;
&lt;p &gt;整个系统编码改不了，只有在DHTMLX上想办法了。&lt;/p&gt;&#xD;
&lt;p &gt;查了些资料,最终解决了。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p &gt;&lt;/p&gt;&#xD;
&lt;p &gt;再深入一层发现是，Microsoft.XMLHTTP的原因，就查到了上面的文件。&lt;/p&gt;&#xD;
&lt;p &gt;如是就简单了，修改如下：&lt;/p&gt;&#xD;
&lt;p &gt;1. 增加一个VBScript的中文转换的函数&lt;/p&gt;&#xD;
&lt;p &gt;&amp;lt;script language="VBScript"&amp;gt;&amp;nbsp; &lt;br /&gt;'处理中文&lt;br /&gt;function bin2str(bin) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; dim tmp,ustr,i&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; tmp=""&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for i=1 to LenB(bin)-1&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ustr=AscB(MidB(bin,i,1))&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ustr&amp;gt;127 then&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; i=i+1&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; tmp=tmp&amp;amp;chr(ustr*256+AscB(MidB(bin,i,1))) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; tmp=tmp&amp;amp;chr(ustr) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end if&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; next&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bin2str=tmp&amp;nbsp; &lt;br /&gt;end function&amp;nbsp; &lt;br /&gt;&amp;lt;/script&amp;gt; &lt;/p&gt;&#xD;
&lt;p &gt;2.dhtmlxcommon.js的 getXMLTopNode处&lt;/p&gt;&#xD;
&lt;p &gt;var xmlString = this.xmlDoc.responseText;&lt;/p&gt;&#xD;
&lt;p &gt;改为&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p &gt;var xmlString = bin2str(this.xmlDoc.responseBody);//可以在js里直接调用VBScript脚本&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p &gt;&lt;/p&gt;&#xD;
&lt;p &gt;3.同时 在输出xml的asp 文件开头加入&lt;/p&gt;&#xD;
&lt;p &gt;&amp;lt;%response.ContentType="application/xml"%&amp;gt;&lt;br /&gt;&amp;lt;?xml version='1.0' encoding='GB2312'?&amp;gt;&lt;/p&gt;&#xD;
&lt;p &gt;当然文件也是保存为gb2312格式的。&lt;/p&gt;&#xD;
&lt;p &gt;&lt;/p&gt;&#xD;
&lt;p &gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/panzhilei/aggbug/1932161.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/panzhilei/archive/2011/01/10/1932161.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/panzhilei/archive/2010/11/10/1874039.html</id><title type="text">(转贴)关于多线程执行显示进度条的实例!</title><summary type="text">关于多线程执行显示进度条的实例!之前回答了一篇关于怎么在线程中操作进度条的帖子,估计有人看的不是很明白今天没事,写了一个小小的实例,很简单,就2个文件权当抛砖引玉,希望有更好解决方案的人发表一下意见界面上2个控件,一个按钮和一个进度条using System;using System.Threading;using System.Windows.Forms;namespace WindowsFormsApplication2{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } //线程开始</summary><published>2010-11-10T09:09:00Z</published><updated>2010-11-10T09:09:00Z</updated><author><name>panzhilei</name><uri>http://www.cnblogs.com/panzhilei/</uri></author><link rel="alternate" href="http://www.cnblogs.com/panzhilei/archive/2010/11/10/1874039.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/panzhilei/archive/2010/11/10/1874039.html"/><content type="html">&lt;p&gt;关于多线程执行显示进度条的实例!&lt;br /&gt;之前回答了一篇关于怎么在线程中操作进度条的帖子,估计有人看的不是很明白&lt;br /&gt;今天没事,写了一个小小的实例,很简单,就2个文件&lt;br /&gt;权当抛砖引玉,希望有更好解决方案的人发表一下意见&lt;/p&gt;&#xD;
&lt;p&gt;界面上2个控件,一个按钮和一个进度条&lt;br /&gt;using System;&lt;br /&gt;using System.Threading;&lt;br /&gt;using System.Windows.Forms;&lt;/p&gt;&#xD;
&lt;p&gt;namespace WindowsFormsApplication2&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public partial class Form1 : Form&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Form1()&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InitializeComponent();&lt;br /&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; //线程开始的时候调用的委托&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private delegate void maxValueDelegate(int maxValue);&lt;br /&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; private delegate void nowValueDelegate(int nowValue);&lt;/p&gt;&#xD;
&lt;p&gt;private void button1_Click(object sender, EventArgs e)&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ThreadMethod method = new ThreadMethod();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; method.threadStartEvent += new EventHandler(method_threadStartEvent);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; method.threadEvent += new EventHandler(method_threadEvent);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; method.threadEndEvent += new EventHandler(method_threadEndEvent);&lt;/p&gt;&#xD;
&lt;p&gt;Thread thread = new Thread(new ThreadStart(method.runMethod));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; thread.Start();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&#xD;
&lt;p&gt;/// &amp;lt;summary&amp;gt;&lt;br /&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; /// &amp;lt;/summary&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;param name="sender"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;param name="e"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; void method_threadEndEvent(object sender, EventArgs e)&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox.Show("我完成啦!");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&#xD;
&lt;p&gt;/// &amp;lt;summary&amp;gt;&lt;br /&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; /// 但是我不能直接操作进度条,需要一个委托来替我完成&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;param name="sender"&amp;gt;ThreadMethod函数中传过来的当前值&amp;lt;/param&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;param name="e"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; void method_threadEvent(object sender, EventArgs e)&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int nowValue = Convert.ToInt32(sender);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nowValueDelegate now = new nowValueDelegate(setNow);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.Invoke(now, nowValue);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&#xD;
&lt;p&gt;/// &amp;lt;summary&amp;gt;&lt;br /&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; /// 但是我不能直接操作进度条,需要一个委托来替我完成&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;param name="sender"&amp;gt;ThreadMethod函数中传过来的最大值&amp;lt;/param&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;param name="e"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; void method_threadStartEvent(object sender, EventArgs e)&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int maxValue = Convert.ToInt32(sender);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; maxValueDelegate max = new maxValueDelegate(setMax);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.Invoke(max, maxValue);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&#xD;
&lt;p&gt;/// &amp;lt;summary&amp;gt;&lt;br /&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; /// &amp;lt;/summary&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;param name="maxValue"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private void setMax(int maxValue)&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.progressBar1.Maximum = maxValue;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&#xD;
&lt;p&gt;/// &amp;lt;summary&amp;gt;&lt;br /&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; /// &amp;lt;/summary&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;param name="nowValue"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private void setNow(int nowValue)&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.progressBar1.Value = nowValue;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;/p&gt;&#xD;
&lt;p&gt;另外一个文件&lt;/p&gt;&#xD;
&lt;p&gt;using System;&lt;br /&gt;using System.Threading;&lt;/p&gt;&#xD;
&lt;p&gt;namespace WindowsFormsApplication2&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// 线程处理方法&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public class ThreadMethod&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt;&lt;br /&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; /// &amp;lt;/summary&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public event EventHandler threadStartEvent;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt;&lt;br /&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; /// &amp;lt;/summary&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public event EventHandler threadEvent;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt;&lt;br /&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; /// &amp;lt;/summary&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public event EventHandler threadEndEvent;&lt;/p&gt;&#xD;
&lt;p&gt;public void runMethod()&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int count = 100;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; threadStartEvent.Invoke(count, new EventArgs());//通知主界面,我开始了,count用来设置进度条的最大值&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int i = 0; i &amp;lt; count; i++)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Thread.Sleep(100);//休息100毫秒,模拟执行大数据量操作&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; threadEvent.Invoke(i, new EventArgs());//通知主界面我正在执行,i表示进度条当前进度&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; threadEndEvent.Invoke(new object(), new EventArgs());//通知主界面我已经完成了&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;例子代码&lt;/p&gt;&#xD;
&lt;p&gt;http://files.cnblogs.com/panzhilei/WindowsFormsApplication6.rar&lt;/p&gt;&lt;img src="http://www.cnblogs.com/panzhilei/aggbug/1874039.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/panzhilei/archive/2010/11/10/1874039.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/panzhilei/archive/2010/10/09/1846806.html</id><title type="text">利用Adobe Acrobat 7.0 Professional 自带的导出图片的功能（转）</title><summary type="text">最近在研究pdf to img 看了网上一些资料没找到个实用的，用第三方程序怕有问题，于是就想利用Adobe Acrobat 7.0 Professional 自带的导出图片的功能，资料忒少啊。找了半天，下面这个比较有用。不过说句实在话，我只是用别人的东西，没自己原创的东西。原文：http://fidodido2010.spaces.live.com/blog/cns!42DBF9483C9668...</summary><published>2010-10-09T09:56:00Z</published><updated>2010-10-09T09:56:00Z</updated><author><name>panzhilei</name><uri>http://www.cnblogs.com/panzhilei/</uri></author><link rel="alternate" href="http://www.cnblogs.com/panzhilei/archive/2010/10/09/1846806.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/panzhilei/archive/2010/10/09/1846806.html"/><content type="html">&lt;h4 id="subjcns!42DBF9483C966838!129" &gt;最近在研究pdf to img 看了网上一些资料没找到个实用的，用第三方程序怕有问题，于是就想利用Adobe Acrobat 7.0 Professional 自带的导出图片的功能，资料忒少啊。找了半天，下面这个比较有用。不过说句实在话，我只是用别人的东西，没自己原创的东西。&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p &gt;原文：&lt;a href="http://fidodido2010.spaces.live.com/blog/cns!42DBF9483C966838!129.entry"&gt;http://fidodido2010.spaces.live.com/blog/cns!42DBF9483C966838!129.entry&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;h4 &gt;---------------------------------------------------------------------------------------------------------------------------&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;PDF转换成其他格式的COM解决方案&lt;br /&gt;需求起源: &lt;/p&gt;&#xD;
&lt;p&gt;最近图片格式之间相互转换做得比较多,以往的转换LEADTOOLS R13肯定能搞定,却发现有一部分PDF用LEADTOOLS打不开,只好又把Acrobat捡起来了. &lt;/p&gt;&#xD;
&lt;p&gt;研究了半天,总算找到个办法,却被AcroExch.PDDoc的一个接口GetJSObject()难住了.照理说,这个接口返回的是一个JavaScript对象,可是C++下却没有相应的类型说明,只能用IDispatch,调用机制及IType完全搞不清楚,所有的能G到的相关内容几乎全是VB的，只有一个可怜的老外问过"Using GetJSObject() in C++"的问题，而且答案还是"since it involves low level COM API's to get directly to the IDispatch for the object.". &lt;/p&gt;&#xD;
&lt;p&gt;正想以头抢地,或者考虑整个工程迁移到VB下去,忽然想起,何不用VB做个专门调用这个接口的COM,在C++下面调用？ &lt;/p&gt;&#xD;
&lt;p&gt;说干就干 &lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;用VB6编写Acrobat COM: &lt;/p&gt;&#xD;
&lt;p&gt;建立一个VB6的ActiveX Dll工程,工程名称改为MPDF2SIMG(Multi-page PDF to Single-page Image),模块名改为Converter,添加引用"Adobe Acrobat 7.0 Type Library".模块的全部代码如下：&lt;/p&gt;&#xD;
&lt;p&gt;Option Explicit On&lt;/p&gt;&#xD;
&lt;p&gt;Dim oApp As Acrobat.CAcroApp&lt;br /&gt;Dim oMultiPageDoc As Acrobat.CAcroPDDoc&lt;br /&gt;Dim oSinglePageDoc As Acrobat.CAcroPDDoc&lt;br /&gt;Dim JSO As Object&lt;/p&gt;&#xD;
&lt;p&gt;&lt;br /&gt;Private Sub Class_Initialize()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; oApp = CreateObject("AcroExch.App")&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; oMultiPageDoc = CreateObject("AcroExch.PDDoc")&lt;br /&gt;End Sub&lt;/p&gt;&#xD;
&lt;p&gt;Public Function ConvertPDF(ByVal SourcePDF As String, _&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ByVal TargetFolder As String, _&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ByVal TargetFormat As String, _&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ByVal StartImgNumber As Integer) As Integer&lt;/p&gt;&#xD;
&lt;p&gt;Dim iNumbers As Integer&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim i As Integer&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim OutPath As String&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim OutFile As String&lt;/p&gt;&#xD;
&lt;p&gt;OutPath = TargetFolder&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Right(OutPath, 1) &amp;lt;&amp;gt; "\" Then OutPath = OutPath &amp;amp; "\"&lt;/p&gt;&#xD;
&lt;p&gt;On Error GoTo err1&lt;/p&gt;&#xD;
&lt;p&gt;oMultiPageDoc.Open(SourcePDF)&lt;/p&gt;&#xD;
&lt;p&gt;iNumbers = oMultiPageDoc.GetNumPages&lt;/p&gt;&#xD;
&lt;p&gt;For i = 0 To iNumbers - 1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oSinglePageDoc = CreateObject("AcroExch.PDDoc")&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oSinglePageDoc.Create()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oSinglePageDoc.InsertPages(-1, oMultiPageDoc, i, 1, 0)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; JSO = oSinglePageDoc.GetJSObject&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OutFile = OutPath &amp;amp; Format(i + StartImgNumber, "00000000") &amp;amp; _&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ".tif"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; JSO.SaveAs(OutFile, "com.adobe.acrobat." &amp;amp; TargetFormat)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; JSO = Nothing&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oSinglePageDoc = Nothing&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;/p&gt;&#xD;
&lt;p&gt;oMultiPageDoc.Close()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; oApp.CloseAllDocs()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ConvertPDF = iNumbers&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit Function&lt;br /&gt;err1:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ConvertPDF = -1&lt;br /&gt;End Function&lt;/p&gt;&#xD;
&lt;p&gt;Private Sub Class_Terminate()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; oMultiPageDoc = Nothing&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; oSinglePageDoc = Nothing&lt;br /&gt;End Sub然后编译成DLL.&amp;nbsp; 使用这个DLL的方法:1.在计算机上运行regsvr32 mpdf2simg.dll注册这个DLL.2.使用这个DLL的C++程序里导入该COM的类型库，代码如下：#import "E:\project\Converter\mpdf2simg.dll"&lt;br /&gt;using namespace MPDF2SIMG;3.定义COM型变量并建立实例，代码如下：&lt;/p&gt;&#xD;
&lt;p&gt;_ConverterPtr&amp;nbsp;&amp;nbsp;&amp;nbsp; pConverter;&lt;br /&gt;HRESULT hr = pConverter.CreateInstance(_T("MPDF2SIMG.Converter"));&lt;br /&gt;if(!FAILED(hr))&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //do something if failed.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;br /&gt;}4.调用该COM的接口&lt;/p&gt;&#xD;
&lt;p&gt;int nConv = pConverter-&amp;gt;ConvertPDF(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CString(_T("xxxxxx\\source.pdf")).AllocSysString(),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CString(_T("d:\\TargetPath")).AllocSysString(),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CString(_T("tiff")).AllocSysString(),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; nStart);该调用会将指定的SoucePDF转至TargetPath下连续的单页TIFF文件,文件名为8位数字编号形式,编号起始由nStart指定. &lt;/p&gt;&#xD;
&lt;p&gt;调用成功返回转换的页数，失败返回-1 &lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;其他支持的格式: &lt;/p&gt;&#xD;
&lt;p&gt;值&amp;nbsp; 可用扩展名&amp;nbsp; &lt;br /&gt;"com.adobe.acrobat.eps"&amp;nbsp; eps&amp;nbsp; &lt;br /&gt;"com.adobe.acrobat.html-3-20"&amp;nbsp; html, htm&amp;nbsp; &lt;br /&gt;"com.adobe.acrobat.html-4-01-css-1-00"&amp;nbsp; html, htm&amp;nbsp; &lt;br /&gt;"com.adobe.acrobat.jpeg"&amp;nbsp; jpeg, jpg, jpe&amp;nbsp; &lt;br /&gt;"com.adobe.acrobat.jp2k"&amp;nbsp; jpf, jpx, jp2, j2k, j2c,jpc&amp;nbsp; &lt;br /&gt;"com.adobe.acrobat.doc"&amp;nbsp; doc&amp;nbsp; &lt;br /&gt;"com.adobe.acrobat.png"&amp;nbsp; png&amp;nbsp; &lt;br /&gt;"com.adobe.acrobat.ps"&amp;nbsp; ps&amp;nbsp; &lt;br /&gt;"com.adobe.acrobat.rtf"&amp;nbsp; rtf&amp;nbsp; &lt;br /&gt;"com.adobe.acrobat.accesstext"&amp;nbsp; txt&amp;nbsp; &lt;br /&gt;"com.adobe.acrobat.plain-text"&amp;nbsp; txt&amp;nbsp; &lt;br /&gt;"com.adobe.acrobat.tiff"&amp;nbsp; tiff, tif&amp;nbsp; &lt;br /&gt;"com.adobe.acrobat.xml-1-00"&amp;nbsp; xml &lt;/p&gt;&#xD;
&lt;p&gt;&lt;br /&gt;&amp;nbsp; &lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;已知问题和BUG: &lt;/p&gt;&#xD;
&lt;p&gt;如果C++程序使用多字节字符集编译, TargetPath中含有中文字符会导致无法正常转换,ConvertPDF调用会导致弹出"无法保存文件"的Acrobat对话框, 点确定ConvertPDF会返回-1.Unicode字符集未做测试. &lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;补充说明: &lt;/p&gt;&#xD;
&lt;p&gt;使用Acrobat COM, 应在计算机上部署Adobe Acrobat (Not Reader).&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;-----------------------------------我自己的就简单了用-Adobe professinal-------------------------------&lt;/p&gt;&#xD;
&lt;p&gt;Dim gApp As Acrobat.CAcroApp&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim oMultiPageDoc As Acrobat.CAcroPDDoc&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim oSinglePageDoc As Acrobat.CAcroPDDoc&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim iNumbers As Integer&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim StartImgNumber As Integer&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim OutFile As String&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim i As Integer&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim jso As Object&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gApp = CreateObject("AcroExch.App")&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oMultiPageDoc = CreateObject("AcroExch.PDDoc")&lt;/p&gt;&#xD;
&lt;p&gt;'pdf和生成的文件要在同一个文件夹下&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If oMultiPageDoc.Open("F:\test.pdf") Then&lt;/p&gt;&#xD;
&lt;p&gt;iNumbers = oMultiPageDoc.GetNumPages&lt;/p&gt;&#xD;
&lt;p&gt;For i = 0 To iNumbers - 1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oSinglePageDoc = CreateObject("AcroExch.PDDoc")&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oSinglePageDoc.Create()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oSinglePageDoc.InsertPages(-1, oMultiPageDoc, i, 1, 0)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; jso = oSinglePageDoc.GetJSObject&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OutFile = Format(i + StartImgNumber, "00000000") &amp;amp; ".png"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; jso.SaveAs("F:\" &amp;amp; OutFile, "com.adobe.acrobat.png")&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; jso = Nothing&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oSinglePageDoc = Nothing&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;/p&gt;&#xD;
&lt;p&gt;End If&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;-----附送一个用GhostScriptView的----------------&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;C:\Program Files\gs\gs8.61\bin\gswin32c.exe&amp;nbsp;-dSAFER -dBATCH -dNOPAUSE -r300 -sDEVICE=png16m -dGraphicsAlphaBits=4 &lt;/p&gt;&#xD;
&lt;p&gt;-sOutputFile="F:\test.pdf"&amp;nbsp; "F:\test\"&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/panzhilei/aggbug/1846806.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/panzhilei/archive/2010/10/09/1846806.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/panzhilei/archive/2010/02/26/1674334.html</id><title type="text">利用CURE算法来进行文本聚类</title><summary type="text">看了下&amp;ldquo;蛙蛙推荐：蛙蛙教你文本聚类&amp;rdquo;，链接地址为http://www.cnblogs.com/onlytiancai/archive/2008/05/10/1191557.html对于文本顺序发生了变化的情况，k-means算法无法解决，后来网上找个到CURE算法的介绍，&amp;ldquo;层次聚类方法的CURE算法研究&amp;rdquo;是个pdf文档，如是按照文章所说结合wawa的...</summary><published>2010-02-26T08:13:00Z</published><updated>2010-02-26T08:13:00Z</updated><author><name>panzhilei</name><uri>http://www.cnblogs.com/panzhilei/</uri></author><link rel="alternate" href="http://www.cnblogs.com/panzhilei/archive/2010/02/26/1674334.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/panzhilei/archive/2010/02/26/1674334.html"/><content type="html">&lt;p&gt;看了下&amp;ldquo;蛙蛙推荐：蛙蛙教你文本聚类&amp;rdquo;，链接地址为&lt;a href="http://www.cnblogs.com/onlytiancai/archive/2008/05/10/1191557.html"&gt;http://www.cnblogs.com/onlytiancai/archive/2008/05/10/1191557.html&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;对于文本顺序发生了变化的情况，k-means算法无法解决，后来网上找个到CURE算法的介绍，&amp;ldquo;层次聚类方法的CURE算法研究&amp;rdquo;是个pdf文档，&lt;/p&gt;&#xD;
&lt;p&gt;如是按照文章所说结合wawa的东西，实现了下CURE算法，代码写得一般，结果还行，大家有空就看看吧。&lt;/p&gt;&#xD;
&lt;p&gt;数据也用的是wawa的&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Verdana; background-color: #c7edcc;"&gt;测试：首先我们准备以下数据&lt;br /&gt;===================&lt;br /&gt;&lt;span style="background-color: #c0c0c0;"&gt;奥运 拳击 入场券 基本 分罄 邹市明 夺冠 对手 浮出 水面&lt;br /&gt;股民 要 清楚 自己 的 目的&lt;br /&gt;印花税 之 股民 四季&lt;br /&gt;杭州 股民 放 鞭炮 庆祝 印花税 下调 &lt;br /&gt;残疾 女 青年 入围 奥运 游泳 比赛 创 奥运 历史 两 项 第一&lt;br /&gt;介绍 一 个 ASP.net MVC 系列 教程&lt;br /&gt;在 asp.net 中 实现 观察者 模式 ，或 有 更 好 的 方法 （续）&lt;br /&gt;输 大钱 的 股民 给 我们 启迪&lt;br /&gt;Asp.Net 页面 执行 流程 分析&lt;br /&gt;运动员 行李 将 &amp;ldquo;后 上 先 下&amp;rdquo; 奥运 相关 人员 行李 实名制&lt;br /&gt;asp.net 控件 开发 显示 控件 内容&lt;br /&gt;奥运 票务 网上 成功 订票 后 应 及时 到 银行 代售 网点 付款&lt;br /&gt;某 心理 健康 站 开张 后 首 个 咨询 者 是 位 新 股民&lt;br /&gt;ASP.NET 自定义 控件 复杂 属性 声明 持久性 浅析&lt;br /&gt;&lt;/span&gt;==================&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Verdana; background-color: #c7edcc;"&gt;放在bin下的input.txt中&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Verdana; background-color: #c7edcc;"&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;顺序可以你可以随意打乱&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Verdana; background-color: #c7edcc;"&gt;&amp;nbsp; 关键代码说明，其他的可以去参考wawa的&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Verdana; background-color: #c7edcc;"&gt;&#xD;
&lt;pre &gt;//2、计算类间距离&#xD;
                double max = double.MaxValue;&#xD;
                int i_min = -1;&#xD;
                int j_min = -1;&#xD;
                for (int i = 0; i &amp;lt; _clusters.Count; i++)&#xD;
                {&#xD;
&#xD;
                    for (int j = i + 1; j &amp;lt; _clusters.Count; j++)&#xD;
                    {&#xD;
                        double dist = getDistance(_clusters[i], _clusters[j]);&#xD;
                        _distanceCache[i, j] = dist;&#xD;
                        if (_distanceCache[i, j] &amp;lt; max)&#xD;
                        {&#xD;
                            max = _distanceCache[i, j];&#xD;
                            i_min = i;&#xD;
                            j_min = j;&#xD;
                        }&#xD;
                    }&#xD;
                }&#xD;
&#xD;
                //&#xD;
                //3、合并距离最小的两个类&#xD;
                Merge(i_min, j_min);&#xD;
&#xD;
&#xD;
                if (_k == _clusters.Count)&#xD;
                    break;&#xD;
&lt;/pre&gt;&#xD;
&lt;p&gt;具体理解算法要看pdf文档&lt;/p&gt;&#xD;
&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;地址 &lt;a href="http://files.cnblogs.com/panzhilei/"&gt;http://files.cnblogs.com/panzhilei/&lt;/a&gt;层次聚类方法的CURE算法研究.pdf &lt;/p&gt;&#xD;
&lt;p&gt;用到IFIDF，对概念不熟可以搜索&amp;ldquo;数学之美&amp;rdquo;，&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;a name="115137628966847870"&gt;数学之美 系列九 -- 如何确定网页和查询的相关性&lt;/a&gt;&amp;nbsp;地址为 &lt;a href="http://googlechinablog.com/2006/06/blog-post_27.html"&gt;http://googlechinablog.com/2006/06/blog-post_27.html&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;建议从系列一开始看起。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;p&gt;代码用Vs2008开发&lt;/p&gt;&#xD;
&lt;/p&gt;&#xD;
&lt;p&gt;地址 &lt;a href="http://files.cnblogs.com/panzhilei/CureDemo.rar"&gt;http://files.cnblogs.com/panzhilei/CureDemo.rar&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;p&gt;&lt;/p&gt;&#xD;
&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/panzhilei/aggbug/1674334.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/panzhilei/archive/2010/02/26/1674334.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/panzhilei/archive/2010/01/29/1659110.html</id><title type="text">集体智慧编程 英文版</title><summary type="text">http://files.cnblogs.com/panzhilei/Collective_Intelligence.pdf</summary><published>2010-01-29T03:55:00Z</published><updated>2010-01-29T03:55:00Z</updated><author><name>panzhilei</name><uri>http://www.cnblogs.com/panzhilei/</uri></author><link rel="alternate" href="http://www.cnblogs.com/panzhilei/archive/2010/01/29/1659110.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/panzhilei/archive/2010/01/29/1659110.html"/></entry><entry><id>http://www.cnblogs.com/panzhilei/archive/2009/09/05/1560935.html</id><title type="text">(转)ie与firefox对节点childNode的不同解释。</title><summary type="text">原文：http://blog.csdn.net/lifeng_beijing/archive/2008/12/22/3581040.aspx&amp;lt;script language="javascript"&amp;gt;function msg(){alert(document.getElementById("id_5").childNodes.length)}&amp;lt;/script&amp;gt;&amp;lt;tab...</summary><published>2009-09-05T09:14:00Z</published><updated>2009-09-05T09:14:00Z</updated><author><name>panzhilei</name><uri>http://www.cnblogs.com/panzhilei/</uri></author><link rel="alternate" href="http://www.cnblogs.com/panzhilei/archive/2009/09/05/1560935.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/panzhilei/archive/2009/09/05/1560935.html"/></entry><entry><id>http://www.cnblogs.com/panzhilei/archive/2009/07/03/1516486.html</id><title type="text">(转)正则表达式学习参考</title><summary type="text">正则表达式学习参考原帖在http://blog.csdn.net/lxcnn/archive/2009/06/14/4268033.aspx我参考原帖写了一个例子讲解在 小小过滤&amp;lt;span&amp;gt;xxxxxxxx&amp;gt;&amp;lt;/span&amp;gt; 1 概述正则表达式(Regular Expression)是一种匹配模式，描述的是一串文本的特征。正如自然语言中&amp;ldquo;高大&amp;rdquo;、...</summary><published>2009-07-03T09:07:00Z</published><updated>2009-07-03T09:07:00Z</updated><author><name>panzhilei</name><uri>http://www.cnblogs.com/panzhilei/</uri></author><link rel="alternate" href="http://www.cnblogs.com/panzhilei/archive/2009/07/03/1516486.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/panzhilei/archive/2009/07/03/1516486.html"/></entry></feed>
