﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-ivy-jie</title><link>http://www.cppblog.com/ivy-jie/</link><description>progress ...</description><language>zh-cn</language><lastBuildDate>Sun, 05 Apr 2026 19:54:04 GMT</lastBuildDate><pubDate>Sun, 05 Apr 2026 19:54:04 GMT</pubDate><ttl>60</ttl><item><title>[转]改变自己：从优秀员工做起</title><link>http://www.cppblog.com/ivy-jie/archive/2009/08/22/94070.html</link><dc:creator>ivy-jie</dc:creator><author>ivy-jie</author><pubDate>Sat, 22 Aug 2009 02:06:00 GMT</pubDate><guid>http://www.cppblog.com/ivy-jie/archive/2009/08/22/94070.html</guid><wfw:comment>http://www.cppblog.com/ivy-jie/comments/94070.html</wfw:comment><comments>http://www.cppblog.com/ivy-jie/archive/2009/08/22/94070.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/ivy-jie/comments/commentRss/94070.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/ivy-jie/services/trackbacks/94070.html</trackback:ping><description><![CDATA[<p><font size=3><strong><span>人能改变的只有自己</span></strong></font></p>
<p><font size=3><span>　　有个自以为是人才的年轻人，求职屡次碰壁，一直找不到理想的工作。他觉得自己怀才不遇，没有伯乐赏识他这匹&#8220;千里马&#8221;，对社会充满愤怒却又无可奈何，感到非常失望。于是他来到海边，打算结束自己的生命。正好一位老人从附近走过，看到他并救了他。老人问他为什么要走绝路，他说自己得不到别人和社会的承认，没有人欣赏和重用他。老人从沙滩上拾起一粒沙子，让年轻人看了看，然后就随便扔在地上，对年轻人说，&#8220;请你把我刚才那粒沙子拾起来。&#8221;年轻人说：&#8220;这是不可能的！&#8221;老人没有说话，从自己口袋里掏出一颗晶莹剔透的珍珠，也随便地扔在地上，对年轻人说：&#8220;你能不能把这颗珍珠拾起来呢？&#8221;&#8220;当然可以！&#8221;年轻人说道。老人意味深长地说：&#8220;你应该明白，现在你自己还不是一颗珍珠，所以你不能苛求别人立即承认你。如果你要别人承认，那你就要想办法使自己成为一颗珍珠才行&#8221;。年轻人听后顿悟，不再有自杀的念头，从此改变了自己的心态。不久他在一家计算机公司找到了做销售员的工作，他开始努力钻研业务知识，虚心学习销售技巧，业绩不断提升，两年后他成为那家公司的市场部经理。</span></font></p>
<p><font size=3><span>　　每天都有很多人想跳槽、换工作，他们觉得自己是一座金矿，一直没有人来开采。其实，不是每个人都认识金矿，而所有人都认识金子，要想让别人发现自己，首先改变自己，把自己变成金子。</span></font></p>
<p><font size=3><span>　　有一个人，</span><span><font face="Times New Roman">10</font></span><span>岁的时候，意气风发，认为这个世界太不公平，想改变世界；</span><span><font face="Times New Roman">20</font></span><span>岁的时候，认为中国贫穷落后，想改变中国；</span><span><font face="Times New Roman">30</font></span><span>岁的时侯，认为自己的单位体制不行，想改变单位；</span><span><font face="Times New Roman">40</font></span><span>岁时对自己的家庭不满意，想改变自己的家庭；最终他什么也没有改变，</span><span><font face="Times New Roman">50</font></span><span>岁，他深有感悟地说，人能改变的只有自己。</span></font></p>
<p><font size=3><span>　　人能改变的只有自己。如果你认为你周围的人错了，其实是自己错了。环境和人是不容易改变的，要改变环境，只有改变自己。美国著名的政治家、成功人士富兰克林年轻时是一个锋芒毕露的人，喜欢与人争辩，后来他发现朋友越来越疏远他，自己越来越不受欢迎，他想到了改变自己。从此以后，他把自己的缺点全部罗列出来，记在一个本子上，每天晚上睡觉前，想想自己一天做的事情，每改正一条就划去一条，直至没有缺点。后来，富兰克林不仅成为美国驻法大使、发明家，还成为美国政治家中最具人格魅力的人。他的《富兰克林传》影响了一代又一代人，催人奋进，催人反思和改正自己的缺点。富兰克林改变了自己做人的方式、与人沟通的方式，改变了自己，他的人生也向着幸福的方向发生了改变。</span></font></p>
<p><font size=3><span>　　其实，我们每个人都可以像富兰克林那样改变自己。让我们减少报怨吧，让我们学会改变自己，从今天开始，我要做一名优秀的员工，做一个积极的人，做一个别人喜欢的人，我要迎接快乐、富有的人生。</span></font></p>
<p><font size=3><strong><span>改变人生首先要改变思想</span></strong></font></p>
<p>　　人重要的是思想，思想决定行为。换个想法，就能换个活法。只要我们改变了思想，就能改变我们的行为。学会了改变和改善，我们的命运也将随之改变和改善，我们会不断升职、加薪，成为一个成功的人，一个积极的人，受老板欢迎的人，我们的人生随之而精彩和辉煌。你就是你想成为的那个人。我们想成为优秀员工，我们就能成为优秀员工。优秀的人总能比平庸的人更有效地思考，他们对待生活、人际关系、目标、困难的方式与众不同，他们能过上更美好的生活。美国哲学家威廉詹姆斯说，心理学上有这样一个规律，如果你的头脑中能清楚地呈现出你想成为什么样的人，你就会很快成为你想象中的人。在一段消极的日子里，我的人际关系一度非常糟糕，有人说我高傲不好接触，有人说我自私不关心别人，而我也看周围的人不顺眼，感觉工作环境不好，周围的人不好。后来，我读了《羊皮卷》、《富兰克林传》，感觉自己需要改变，<span style="COLOR: red">我决心像富兰克林一样改变自己。我试着按励志书上说的去做，主动与人打招呼，帮助别人不求回报，说话和气，主动与优秀人士接触，发现每个人的优点，多赞美、倾听。为提高自己的语言表达能力，我利用业余时间去许多企业演讲，我的演讲一次次鼓舞了听众，也鼓舞激励了我自己，我的人生随之而改变，我变得更快乐、更积极，拥有了更好的人际关系。许多同事、同学看到我的变化，他们高兴地说，你变了，变的更积极、更快乐了。我之所以感觉到人生的幸福，是因为我换了一个想法，我的想法是要做一名优秀的员工，要做一个受欢迎的人，要做一个积极进取的人，我的生活随之而变化。同样的工作单位，同样的生活圈子，我的思想转变了，感觉环境也变了。我感觉每个人都那么友善、那么可亲、可爱、可敬，我真的非常爱他们，爱我的同事、朋友，爱我周围的每一个人，我发现他们身上有许多闪光点。换了一个想法，也就换了一个活法。如何改变思想呢，具体讲有四条：一是读励志书，二是读名人传记，三是听讲座，四是与优秀的人在一起。</span></p>
<p><font size=3><strong><span>成功的人生要有良好的习惯</span></strong></font></p>
<p><font size=3><span>　　人</span><span><font face="Times New Roman">95%</font></span><span>的行为是在习惯的力量下完成的。古希腊哲学家亚里士多德说，优秀是一种习惯。要成为优秀的员工，成为优秀的人，重要的是培养优秀的习惯。优秀的员工总比别人做的多一点，他们工作的时间比别人长，做的比别人多。著名投资专家约翰坦普尔通过大量的观察研究，得出了一条重要的规律：&#8220;多<st1:chmetcnv UnitName="盎司" SourceValue="1" HasSpace="False" Negative="False" NumberType="3" TCSC="1" w:st="on">一盎司</st1:chmetcnv>定律&#8221;。他指出，取得突出成就的人与取得中等成就的人几乎做了同样多的工作，他们所做出的努力差别很小，只是&#8220;多一盎司&#8221;。多做了一点点，但会让我们的工作大不一样。美国成功学家博恩崔西说，你只要在工作中表现的比别人好</span><span><font face="Times New Roman">3%</font></span><span>，你就跨过了&#8220;成功的边缘线&#8221;，结果可能比别人强好多倍。如果我们培养了比别人优秀</span><span><font face="Times New Roman">3%</font></span><span>的习惯，我们就跨过了成功的临界点，收入可能比别人高许多。优秀员工的习惯包括：每天早来一点，晚走一点；任何时间比别人多做一点；对工作一分钟也不拖延；心中常存责任感；从小事做起；热爱学习；待人诚恳、与人为善；不报怨；等等。</span></font></p>
<p><font size=3><span>　　好习惯培养起来不容易，但坏习惯的养成却非常容易，人本质上是比较懒惰的。&#8220;越吃越馋、越睡越困、越闲越懒&#8221;，其实说的就是习惯的力量。我有一个朋友，特别喜欢发牢骚，见人就讲世道不公，单位领导不合格，等等，养成了这种坏习惯，让他显得非常消极，工作了近</span><span><font face="Times New Roman">20</font></span><span>年，没少干具体工作，可职务上还是原地不动。他培养了爱发牢骚的坏习惯，哪个领导愿意用这样的人呢？我们不能生活在报怨和牢骚中，我们要珍惜我们的每一分钟，让每一分钟都过的更有意义、更有乐趣。有人玩游戏非常痴迷，一夜一夜地玩，沉浸其中不能自拔；有人打麻将上瘾，乐此不疲；有人试着抽烟，慢慢形成习惯，变成烟不离口；有人对工作提不起兴趣，迟到早退，不能投入工作，等等。这些坏习惯的养成非常容易，可改变起来却有些困难。要拥有幸福的人生，我们就要培养优秀的习惯，改变存在的坏习惯。管理学大师彼得杜拉克告诫希望超越自我的优秀员工：&#8220;坏习惯必须改掉，因为它会妨碍你取得绩效。&#8221;</span></font></p>
<p><font size=3><span>　　人应该改变，从现在起，不要去关心我们原来是什么样子，而要知道我们将要做什么样的人。对大多数成年人来讲，我们都是某个企业的员工，做老板的毕竟是少数，让我们从现在开始，从做一名优秀员工开始，改变自己，用先进的思想武装自己，用积极的心态改变自己，培养优秀的习惯，改掉不良习惯，使我们改变成为一个快乐的人，一个积极的人，一个成功的人，一个富有的人，一个优秀的人。</span></font></p>
<img src ="http://www.cppblog.com/ivy-jie/aggbug/94070.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/ivy-jie/" target="_blank">ivy-jie</a> 2009-08-22 10:06 <a href="http://www.cppblog.com/ivy-jie/archive/2009/08/22/94070.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转] 俞敏洪：度过有意义的生命（下）</title><link>http://www.cppblog.com/ivy-jie/archive/2009/07/25/91167.html</link><dc:creator>ivy-jie</dc:creator><author>ivy-jie</author><pubDate>Sat, 25 Jul 2009 13:01:00 GMT</pubDate><guid>http://www.cppblog.com/ivy-jie/archive/2009/07/25/91167.html</guid><wfw:comment>http://www.cppblog.com/ivy-jie/comments/91167.html</wfw:comment><comments>http://www.cppblog.com/ivy-jie/archive/2009/07/25/91167.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/ivy-jie/comments/commentRss/91167.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/ivy-jie/services/trackbacks/91167.html</trackback:ping><description><![CDATA[而你现在的状况并不决定于你的未来，我在北大的时候受到的打击比较多，首先是身份上的悬殊，确实我是穿着大补丁走进校园的，我们体育老师上课从来不叫我的名字的，都是叫那个大补丁来做个动作。因为我在农村锻炼过，跳跃性动作做得蛮好看，所以我常常被叫出来做演示。 <br><br>　　开学第一天晚上，全班开班会，我起来讲了一句话。现在新东方的王强老师是我们班级的班长，站起来跟我说你能不能不讲日语。因为我一直在农村上学，所以我们的语文老师从来没用普通话给我们上过课，我当时根本不知道普通话该怎么说。北大当时按照英语成绩分班，我当时因为高考英语考得蛮好所以被分到了A班，其实我的听说水平并不好，所以到了A班一个月以后就被贬到了C班，而C班主要是针对那些语音语调及听力障碍的同学。等后来，我发现我和同学的智商真的有差距，我的那些同学平时看他们学习也并不怎么认真怎么一到期末考试就能考出好成绩，我每天学习时间都要比他们多两三个小时，但每次期末考试都在全班倒数几名。这让我的心情非常郁闷。 <br><br>　　当时，我们班50个同学，25个男生25个女生。一开始我听完这个数字就特别兴奋，但是没想到我们班的女生没一个正眼瞧我一眼的。到了2001年的时候我们全班同学聚会，大家从世界各地赶回来。蓦然回首，大家突然发现班上那个挺没出息的，普通话也讲不好的，默默无闻的那个人怎么就成了全班最出色的了。这个时候女同学们都热情的走上来握住我的手，后悔当初没下手。 <br><br>　　所以后来大学女生问我，俞老师我们现在找男朋友要什么标准，我说很简单，参考我的长相。当然如果长得像我，那是绝对不能放过的。凡是长得比我难看的也不要放过，因为这个世界上的规律就是，越难看的人内涵越丰富。 <br><br>　　大三的时候我最喜欢读的是《红楼梦》，而且刚好读到林黛玉咳嗽而死的那一章。结果发现自己也在吐血。到医院，医生一查说得了肺结核立刻关起来，一关就是一年。我跟医生说像我这样的小伙子怎么会得肺结核呢？医生让我讲讲现状。我说，您看我学习特别刻苦，可成绩就是上不去，班里没有一个女孩子喜欢我。他说，这种情况不得肺结核是完全不可能的。 <br><br>　　但这个病也给我带来了心态上的调整，因为我在大学一二年级，想要追赶我的同学就是我的精神支柱。但是到了三年级，病了一年后我完全改变了，我觉得活着就挺好。然后我就给自己订了一个最低标准，至少保证大学毕业拿到毕业证书，最后国家给我分配一份工作就挺好。虽然我并没有放弃努力，结果反而获得一个更加开阔的心胸。所以，到现在为止我学会了永远不要去比，因为总有比你更加优秀的，也总有比你更加落后的。 <br><br>　　这个世界<span style="COLOR: #ff0000">上最正确的是跟自己比，想一想今天是不是比昨天进步了一点，想一想明年是不是比今年更加好一点。想一想，10年以后的你是不是比今年的你要更加出色。这样的心态一直保持到我大学毕业。 <br><br></span>　　大学毕业的时候，每个人都要上去讲一段话，比如后半辈子怎么过，我就上去讲了这么一段话：我说，同学们大家都很厉害，我追了大家5年没追上，但是请大家记住了，以后扮演一个骆驼的同学肯定不会放弃自己，你们5年干成的事情我干10年，你们10年干成的事情我干20年，你们20年干成的事情我干40年，实在不行我会保持心情愉快身体健康，到了80岁后把你们一个个送走了我再走。这是我个人保持到现在的人生态度，而我认为这种人生态度对我来说非常有效。 <br><br>　　有人问我，如果新东方没了怎么办？其实新东方早晚会没的，因为它已经是一个商业化运作的教育机构。大家想一想，前些天我们看到的一个消息，通用公司是美国的标志，不照样濒临破产了吗？新东方可能以后也会这样，变成历史的痕迹。但是我想，即使新东方没有了我依然很成功，因为我的心态很成功。我追求生命的那种向往和穿越地平线的渴望不会改变。我认为，新东方给我的是一种精神，一种力量，而不是新东方本身给我带来多少钱，当然如果新东方给我更多的钱，我也愿意要，不要钱才是傻瓜呢。但更重要的是，有了钱能否做出一些更加有意义的事情来。比如说我现在一直都想做一个小小的私立大学，可能我无法做到像同济大学那么大，但做到它的十分之一总是可以的吧？我在北京已经买了一块地，正在建大学校区，造完后它就跟新东方的上市公司脱钩了，变成一个非营利性的大学校园，那它可能就变成了你做的另外一件事情。 <br><br>　　<span style="COLOR: #ff0000">如何把自己的生命变的更充实是最重要的事情，</span>所以说，哪天新东方不存在了是非常正常的。如果新东方没了，我照样会过来跟大家做讲座，而且心情会更加的开朗。因为没有繁琐的事情了。我只要换个题目就行了今天叫&#8220;度过有意义的生命&#8221;，下次我改成&#8220;我是如何把新东方做没了的&#8221;。 <br><br>　　而在大学中，我们要做的几件事情就是：第一，把自己的知识结构打造完整；第二，就是要在大学里尽可能的多交朋友，因为你终身的朋友、合作者一定来自于你的大学；第三，如果有可能的话，在大学里谈一场比较专一的恋爱，因为回顾我北大的生活一片灰色。我想为什么会是灰色呢？其实，不是因为成绩不好，而是因为在大学5年我从来没有过花前月下的时光。所以一直成了我大学时代的遗憾。去年北京大学让我给所有北大新生做开学典礼的时候，我给他们强调一句，什么都不重要，重要的是谈恋爱，而且谈恋爱也不用害怕失败，因为自杀也自杀不了，未名湖就那么浅，跳下去还能爬起来；第四，就是为未来的工作做好打算。未来的工作跟你有多少朋友、跟你的专业知识学的多少是相关的。好好掌握你的专业，再差的专业也一定有人用，只要你学的好。 <br><br>　　我有一个朋友学的是越南语，越南语的确很少用，但所有的中央领导去越南都要找他，因为他是一流的越南语同声翻译专家。我还有一个大学同学研究蒋介石，研究了10年，穷困潦倒。但后来他去美国做了一个报告，美国方面帮他召开了一个中国现代史人物研讨会，他在报告上讲了自己的研究经过，结果下面一个老教授热泪盈眶。下来后一问，这个老教授也在美国研究了30年蒋介石，孤苦伶仃，就是找不到另一个研究蒋介石的，没想到有个&#8220;傻瓜&#8221;也在研究蒋介石。于是5万美元一年，让我同学跟着他在美国读研究生，然后读了四年的博士生。读完以后老头退休，他就变成了那个学校的教授。我去看他的时候，他已经在纽约买了套小房子，买了辆车娶了个老婆养了条狗。当时他跟我说，俞敏洪你看现在这一切都是蒋介石&#8220;给&#8221;我的。 <br>我想用这个例子来说明什么呢？就是研究什么不重要，重要的是只要你真的喜欢就去做，然后就会有人用你。反过来，如果你觉得这个专业你不太喜欢，但很适合我找工作，这要不要学？当然要学。我就是这样一个状态，我从来没喜欢过英语，当初考英语只是因为数学不行。不喜欢英语是因为我的模仿能力不强。像我的班长王强，能够把任何话都模仿的惟妙惟肖。我普通话练了一年，才练成大家能听懂的样子。我老婆是天津人，跟我一吵架就用天津话骂我，但是我到现在为止只会说一句天津话。就是当她拿起棍子打我的时候，我向她大吼一声，&#8220;干嘛&#8221;（天津话）。 <br><br>　　但是后来我发现英语成了我生命中的工具，因为英语，我在北大当了老师。其实当初留北大并不是成绩好，而是当时正好四六级考试，北大各个系的同学都要学两年英语，结果北大急缺老师。而一些优秀的毕业生都去了外交部、经贸部，工资又高。后来我们系主任急了说，最后5名给我留下来。留下来的5个人现在都变成博士生导师了，可见现在北大教育质量如何。当然这是句玩笑话，他们后来也经过自己的努力，经历了很多次考试成了很优秀的教师。 <br><br>　　在登山的时候，你会在乎登山杖你喜欢不喜欢吗？不会，你只会在乎能否帮你登上山顶。那么英语就是我的登山杖，尽管我不是特别的喜欢，但我知道我要想攀上更高的人生的山峰就必须需要这个登山杖。我本来想把自己变成中国英语专家前100位的，后来发现一点戏都没有，因为中国留学生归来的越来越多了，有的在国外待了10年、20年，回来了怎么看英语水平都比我高。那我只能缩小范围，想变成英语语法专家。后来发现背单词不用动脑筋，所以就开始拼命地背单词，结果变成了中国还算不错的词汇专家。 <br><br>　　<span style="COLOR: #ff0000">除了学专业外，同学们要在大学里多读书。</span>新东方人读书都非常多。读书多，就意味着眼界更加的开阔，更加会思考问题，更具有创新精神。新东方流传一句话叫做&#8220;底蕴的厚度决定事业的高度&#8221;。底蕴的厚度主要来自于两方面，第一多读书，读了大量的书你的知识结构自然就会完整，就会产生智慧；第二就是多人生经历。把人生经历的智慧和读书的智慧结合起来就会变成真正的大智慧，就会变成你未来创造事业的无穷无尽的源泉和工具。 <br><br>　　比如，新东方招聘重要岗位的人才都是我面试。我只有几个问题，第一你大学读了多少本书，如果你说只读了几十本书，那肯定我不会要你。我心中的最低标准是200本书，而我在大学里读了800本书。新东方还有更红火的王强老师，在大学里读了1200本书，平均每天一本。有的人会问我，读过了忘了跟没读过有什么区别呢？其实完全不一样。就像你谈恋爱，一个谈过恋爱后又变成光棍汉的人和一个光棍汉相比是有自信的。因为当他看到别人在谈恋爱的时候，他会在旁边&#8220;嘿嘿，想当初老子也是谈过恋爱的嘛&#8221;。实在不行来不及读，你可以到书店看着那些书，记着那些名字用手摸一下，这样也能增加一点人文气质。 <br><br>　　我有一个理念，人活着要过一种诗意的生活，我们有多少时候是停下来看看月亮的，在假期去内蒙看一下漫天的繁星的，有多少同学看着朝霞和晚霞时心中感受过生命的涌动的。当然也要身体力行。大学时候，有一个非常著名的诗人叫海子，写了著名的诗句&#8220;面朝大海，春暖花开&#8221;，但非常可惜的是他没能抵抗现实社会的压力，卧轨自杀了。所以我们说一个人不能只在语言上表达诗意，还要在现实中去表达诗意。所以你必须克服现实中的障碍和挫折。有首诗叫&#8220;大漠孤烟直，长河落日圆&#8221;。我对&#8220;长河落日圆&#8221;有非常深刻的感觉，但对&#8220;大漠孤烟直&#8221;却没有什么概念。所以，进入北大校门之后第一件事情就是走向沙漠，走向戈壁滩，走向大草原。而到今天为止，这些地方成了我的精神家园。如果生命中一有过不去的事情，我就去蒙古草原上跟牧民一起骑马。牧民曾经说过，在汉人当中从来没看到像你那样不要命的。 <br><br>　　回过来讲诗意的生活，在大学里打游戏上MSN不叫诗意的生活，而在一张床上拿着书一边看书然后慢慢地睡着那就是一种诗意。要关注时事政治，要把握一些世界大事。这种能力将在你日后创业的过程中起到很大的作用。另外就是要尽可能地多交朋友，交朋友首先你要做个好人，你要做一个让人放心的人。在中国企业界就是这样的状态，如果你是个好心的人，在困难的时候一定会有人帮助。比如，蒙牛的牛根生大家都听说过，他为人处世很实在。所以蒙牛出事后，他需要资金，只需要打个电话我们就会把钱汇过去。而为什么连合同都不签我们就给他，道理很简单，信任。 <br><br>　　我也碰到过这样的情况，03年的时候遇到SARS，我们马上给学生退学费，新东方的流动资金一下子退光了。而当时我算下来，账上还缺2000万。于是我分别给两个朋友打了电话，一人一千万当天晚上就搞定了。所以，你变成一个让别人相信的人，比做一个让别人防着你的人，得到的好处要多得多。而建立这种信任，要做到以下几个要素：要以别人为中心不要以自己为中心；要有服务精神。 <br><br>　　当时我那些大学同学觉得我没出息，但为什么会回来跟我创业呢？这跟我大学里的行为有关。我大学里是个学习不好但挺喜欢帮别人的人。我们宿舍当时从来不排值日生，因为地全是我扫的。还有就是宿舍的水也基本都是我打，而他们之所以后来放弃国外优秀的条件来和我一起创业还是跟我当时宿舍打水有关系。若干年后，我去找那些大学同学回来，他们说连你那么没出息的人在中国都赚钱了那我们回来还了得？第二个理由是，我们知道你是个特别好的人，你有饭吃不会给我们喝粥，你有粥喝不会让我们饿死，所以就回来了。所以在大学毕业连一个朋友都没有的人，这辈子想成功几乎是不可能的。 <br><br>　　还有在大学里要交几个真正能帮助你的人，比如：心胸比你开阔，眼光比你敏锐。我在大学里交的就是这样的朋友，<span style="COLOR: #ff0000">做人就要跟着牛人跑。</span>比如，王强老师有天才的一面，而这些是我学不到。他喜欢读书，他一进大学就会把生活费一分为二，一份用来买书，一份用来买饭票，饭票吃完了决不用买书的钱，他宁可偷别人的饭票，我觉得这个习惯很好，我也一分为二，饭票吃完了我就偷他的。每到周末我们就去买书，我不知道买什么书，所以他买什么我跟着买什么，他被我弄烦了说你能不能不跟着我，我说你是我的班长有责任帮助落后同学。其实我知道他想把我赶走，因为当时他是我们班女生追求的对象，如果我不跟着他他就会带女生出去买书，我当时就看穿了他这个阴谋。到现在为止我的读书老师就是王强，他的藏书接近6万本，他每当看到有好的便宜的书就会帮我买，贵的会发个消息让我自己买。 <br><br>　　到现在为止我都要不断的读书。因为每当聚会，他们谈起好书的时候，一旦我没读过就会被他们说&#8220;你大学时候不用功，怎么现在还是这样。&#8221;所以，我们的读书氛围之所以非常的浓厚，最重要的原因就是王强，而你非常需要这样的朋友。还有就是徐小平老师。大学里我觉得这个老师很好，很想认识。一个礼拜后我买了支小钢笔送给他，敲开他家的门，他问我，你是谁。我说，我是你的学生，听了你的课后很感动，所以想跟你交个朋友，这是我带给你的小礼物。徐小平一看我手中拿着礼物就让我进去了，进了他家的门发现有一大群年轻老师在那。原来他有个习惯，一到周五晚上都会招一批老师来他家聊天。我当然很想听，问我能不能留下来听，他说不行啊，我们聊的都是些男男女女的问题，像你这样的纯情少年会被污染的。幸亏我反应快说，徐老师我在这方面刚好需要启蒙教育。机会总是自己发现的。我发现没有人给他们烧水，于是，我就帮他们烧水煮方便面。连续去了4个礼拜，到了第5个礼拜我不去了。为什么不去，不是因为我烦了，而是我觉得一个人在该显示重要性的时候一定要显示出来。果然徐小平一个电话过来说，你这个兔崽子怎么还不过来。我知道，不是我离不开他们而是他们离不开我了。从此，在一年的时间里，我不停听他们聊天，等到我办新东方的时候，我去的第一家就是徐小平家。我跟他说新东方不缺英语老师，但缺有思想的人物，所以希望你回去管理新东方的思想。所以在大学里要做的另外一件事情就是一定要交朋友，让自己变成一个别人信赖的人。 <br><br>　　而如果能谈一场恋爱还是很不错的。但谈恋爱有一个非常重要的前提条件就是要一心一意地爱。所谓一心一意的爱不是说，大学里只能谈一次恋爱，而是说一次只能谈一个。要爱到一个什么程度呢？要有这样的一个感觉，&#8220;为什么我的眼睛充满泪水？是因为我爱你爱的深沉&#8221;。 <br><br>　　第二个要素就是当你真的爱上一个人后，要以恰当的方式告诉他你爱他而不能只放在心里。我在大学就吃亏在爱上不少女孩子，但只放在心里，怕被别人拒绝。但其实人的追求最好还是表现出来，就算被一个女孩子拒绝了，她回家一定会在日记上写上，&#8220;今天又有一个男孩追我咯&#8221;。有一年去美国，跟一个以前班里很喜欢的女孩一起吃饭，她和她老公跟我一起吃饭。吃饭的时候我跟她说，其实我在大学对你特别有好感。她当时一拍大腿说当时你为什么不告诉我呢？ <br><br>　　第三条就是谈的要大度，所谓的大度就是说当另一个人爱上其他人的时候一定要大度的对他说，你的幸福就是我的幸福，你的快乐就是我的快乐。我始终觉得人在世界上总是有缘分的，如果大学没有人爱你，在你以后的人生中总是会有人爱你，等你一起牵手走向今后的旅程。 <br><br>　　我是一个特别热爱生命的人我走路连蚂蚁都不敢踩，我想踩死那只公蚂蚁那只母蚂蚁怎么办。我吃鱼都不敢吃，我想吃了那条母鱼那公鱼该多痛苦啊，所以我一般不吃鱼要吃吃两条。当然，大学的恋爱是一个过程，不管研究生还是本科生，毕业以后真结婚的比恋爱要少的多。比如我们班十几对谈恋爱，大学毕业后结婚了三对，两年后离婚了两对。现在还剩下一对，这一对就是王强老师和他的夫人，我大学的同班同学。他们两人现在还过着幸福的生活。 <br><br>　　那么如果对大学的爱情有不满的也没有关系，看看我就行了。很多人都以为我不正常了，但是我还是照样地结婚了，照样找到心爱的人，照样生孩子，也有了比较美好的家庭。总而言之，生活就是这样美好的往前走。有平凡，有激动，有慢慢长夜，也有美丽的日子，这就是我们的生活。 <br><br>　　还有就是工作问题。工作问题是一个比较简单的问题。我相信同济大学的同学在找工作的时候都不会有太大的困难，但是有同学问我要不要创业。人生一辈子不创一次业一定是一件非常糟糕的事情。人一辈子总是要为自己干件事情，创业就是为自己干的事情。一份工作大家一起干，但是你并不一定大学毕业就要创业。为什么呢？因为创业需要经验和许多前提条件。 <br><br>　　第一，你的专业知识能在你创业中的运用；第二，你有能和同学朋友相处并且有分配利益关系的能力；第三，你要有对付中国社会如此复杂局面的能力；第四，你要有基本的商业操作原则或者商业运作知识；第五，自己要是个具有领导力的人；第六，你要有自己领域的运作知识和专业知识。 <br><br>　　比如，你想搞个培训学校，那你的运作知识从什么地方来呢？这个运作知识需要你通过观察别人怎么做得来的。如果当初我直接从北大出来就做新东方，那我是永远做不成的。我做新东方有两个前提条件。第一个，我在北大做了六年老师，所以做老师做的不错。还有第二个前提条件，我做新东方以前，我在另外一家培训机构干了近三年，我就在观察它是怎么做的。我碰到许多大学创业失败的人。我说你们怎么不创业了？他们说，同学之间只要一碰到利益关系，互相全是&#8220;狗屁&#8221;。是不是这样？是的，但是你会处理了就不是&#8220;狗屁&#8221;了。我和新东方这帮朋友也有利益关系，但是我不就处理好了吗？所以说现在关键是考虑有没有这样的本领。要创业但是我鼓励同学们先去某一个行业至少观察一到两年，最好是三到四年，慢慢积累自己的才能，自己也慢慢变得成熟，个性也慢慢变得稳定，最后再创业这样失败的机会也少了很多。 <br><br>　　创业有两种状态，第一种就是从零做起，我自己就是从零做起，马云也是从零做起。第二种创业就像杨元庆，也算创业，杨元庆是接柳传志的班最后变成了联想老总。美国著名的管理学家、企业家杰特威尔逊，他也是从一个普通工人做起，做了20年变成公司的老总；在公司老总的位置上干了20年把公司变成了全世界最大的公司。这也是创业，不一定是自己干。 <br><br>　　有学生问，俞老师，我怎么把一个培训机构和你干得一样大？很简单先到新东方来打扫卫生，如果你把卫生打扫的非常干净，那么我把你提升为卫生部长，如果你卫生部长干得好你就变成新东方后勤主任，等到你变成新东方后勤主任的时候，我就把你送到哈佛大学去学习了，学习完了回来我就把后勤行政全部交给你，你就变成后勤行政总裁。第几位？第二位。我&#8220;一翘辫子&#8221;你就是总裁了对不对？所以我们的成熟是慢慢来的，就像一棵树长大也是慢慢长大，哪有一下子就能变成自己创业成功的人？虽然这种人还是有的，但也是少数。我是32岁创业的，32岁才有了新东方。所以不要着急，人一辈子做多大的事都无所谓。 <br><br>　　还是我的老话：把生命活得精彩一点。我的比喻就是大树与小草的比喻，还有另外一个比喻：人的生活就像溪流一样，总有一个梦想——流进大海。有的人这一辈子没有流向大海，这条河就是不完整的。长江流向大海，黄河流向大海，但长江、黄河以自己不同的方式流向大海。长江开山劈石穿过大山流向大海，黄河没有开山劈石，结果绕过九曲十八弯。但是不管怎么样，生命再弯最后目标不变。我们惟一要记住的就是要像黄河、长江一样不断地向前流，但是不能变成黄河、长江里面的泥沙，最后自己沉淀下去，把生命给沉淀没了。总而言之，生命的精彩只靠自己不靠别人。从来没有什么救世主，想要活得精彩、幸福，只能靠我们身边的每一个朋友的共同努力！ <!--v:3.2-->
<img src ="http://www.cppblog.com/ivy-jie/aggbug/91167.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/ivy-jie/" target="_blank">ivy-jie</a> 2009-07-25 21:01 <a href="http://www.cppblog.com/ivy-jie/archive/2009/07/25/91167.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]俞敏洪：度过有意义的生命（上）</title><link>http://www.cppblog.com/ivy-jie/archive/2009/07/25/91165.html</link><dc:creator>ivy-jie</dc:creator><author>ivy-jie</author><pubDate>Sat, 25 Jul 2009 12:59:00 GMT</pubDate><guid>http://www.cppblog.com/ivy-jie/archive/2009/07/25/91165.html</guid><wfw:comment>http://www.cppblog.com/ivy-jie/comments/91165.html</wfw:comment><comments>http://www.cppblog.com/ivy-jie/archive/2009/07/25/91165.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/ivy-jie/comments/commentRss/91165.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/ivy-jie/services/trackbacks/91165.html</trackback:ping><description><![CDATA[<font face=楷体_GB2312>　6月2日，新东方教育科技集团董事长兼首席执行官俞敏洪，莅临同济大学，为同济学子做主题为&#8220;度过有意义的生命&#8221;演讲。<wbr></font> <br><br>
<div style="TEXT-ALIGN: center"><wbr><a href="http://b20.photo.store.qq.com/http_imgload.cgi?/rurl4_b=5667fa6d77110334934565d53a721745cc8c153177e7fdca3ad4f34784c94d6cde6e8b51d29b81565cbe77f0a65446bec8a8342ce0e4537e84a13d1affc7cff23e4614164f7539fb5d70b29baffc239b9690a02d" target=_blank><img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" src="http://b20.photo.store.qq.com/http_imgload.cgi?/rurl4_b=5667fa6d77110334934565d53a721745cc8c153177e7fdca3ad4f34784c94d6cde6e8b51d29b81565cbe77f0a65446bec8a8342ce0e4537e84a13d1affc7cff23e4614164f7539fb5d70b29baffc239b9690a02d" orgSrc="http://b20.photo.store.qq.com/http_imgload.cgi?/rurl4_b=5667fa6d77110334934565d53a721745cc8c153177e7fdca3ad4f34784c94d6cde6e8b51d29b81565cbe77f0a65446bec8a8342ce0e4537e84a13d1affc7cff23e4614164f7539fb5d70b29baffc239b9690a02d"></a><wbr></div>
<br><br><br><wbr><br>同济大学的同学们大家晚上好！&nbsp;&nbsp; <br><br>　　其实人活着就挺好，至于生命有没有意义另当别论。活着每天都会有太阳升起来，每天都会看到太阳落下去。你就可以看到朝霞，看到晚霞，看到月亮升起和落下，看到满天的繁星，这就是活着的最美好的意义所在。 <br><br>　　没想到同济大学的同学们把我如此&#8220;高大&#8221;的形象放在大屏幕上，这就是理想与现实的差距。所以我相信同学们看到我的第一眼一定感到非常的失望。实际上，每一个人都是非常普通的，我们很多时候会发现生命中非常重要的东西跟我们未来的幸福和成功其实没有太多的联系。比如，有人认为，相貌跟未来的成功会有很多的联系；有人认为，自己的家庭背景会跟成功有必然的联；有人认为，上名牌大学的人会成功，在大学里成绩好的人比学习成绩差的人更加容易取得成功&#8230;&#8230;所有这些因素可能有部分是对的，但大部分基本无效，比如说相貌。 <br><br>　　如果说一个人的相貌和成功有关，那就不会有马云和阿里巴巴，因为如果在座的同学认为马云长得好看，那一定是审美出了问题。 <br><br>　　当然，这并不意味着相貌好看的人就做不成事情，比如说，另外一位大家比较熟悉的公司老总百度老总李彦宏。李彦宏非常英俊潇洒，他所有的照片看上去都像电影明星一样，但是他也取得了成功。所以不管相貌如何，都能取得成功，只不过李彦宏和马云坐在一起吃饭的时候，他们通常不太愿意坐在相邻的椅子上，因为两个人的对照到了惨不忍睹的地步，解决的方法就是把我放到他们两个中间，起到一个过渡的作用。像我这样，相貌没有什么特点的人也能取得成功。所以不管是男是女，最重要的是自己内心世界的丰富，自己风度和气质的培养，自己胸怀的扩展以及对理想目标坚定不移的追求。随着年龄的增加，这些会慢慢变成你的智慧，所有这一切才是构成你成功的真正的本质。 <br><br>　　那么成功和家庭背景有没有关系呢？我们常可以看到一些权贵富贾出身的人，他们一出生就含着金钥匙。比如，我们可能会看到，自己左边的一些同学穿着名牌服装，右边的拎着名牌的皮包，前面坐着市委书记的女儿，后面坐着中央领导的儿子，而你可能就一个来自普通工人家庭的大学生。 <br><br>　　有的时候你会心存不满，但这个世界本来就充满着不公平，而很多不公平常常就在你的眼前闪现。你会说，这个世界怎么会对我这样，为什么他什么都有，而我什么都没有？我在大学里也有过这种很正常的心理。比如，我的同学有部长的儿子、有大学教授的女儿，而我却是一个农民的儿子。3次高考后才走进了北京大学，穿着布衣挑着扁担走进去的。你会发现你总赶不上他们的状态，倒不如说赶不上他们的脚步。你会发现即使他们停下来一辈子什么都不做，他们所拥有的东西都比你多。 <br><br>　　比如，在大学一年级的时候，班上那个部长的孩子每周五都有开着奔驰280的司机把他接回去。你想我们那个时候连自行车都买不起，他居然坐着奔驰280，那是一种什么样的感觉。你感到这辈子基本就完蛋了。但是同学们你们要记住一个真理，生命总是往前走的，我们要走一辈子。我们既不是只走过大学四年，或研究生，我们要走一辈子。可能走到80、90岁，虽然走到80、90岁时，人生到底怎么样你是不知道的，你惟一能做的就是要坚持走下去。所以我非常骄傲地从一个农民的儿子走到北大最后又走到了今天。我的心态很平衡，但其实我走了很远。当然，有的同学会说，你进了北大就已经很成功了。确实，北大增加了我很多成功的因素。比如，因为北大读书气氛很浓厚，所以我读了很多的书，思维变得很敏锐。 <br><br>　　北大确实有人文的环境，蔡元培的铜像就树立在未名湖边上，但是每年进北大的有好几千人，出北大的也有几千人，能够成功的到底有多少呢？事实上，北大学生成功的比率并不比任何一个大学生成功比例高。 <br><br>　　所有的成功意味着你大学毕业后要进一步付出努力，如果大学就意味成功的话，那么也就没有马云了。我跟马云有很多相同的地方，他高考考了3年，我也考了3年，他考的是英语专业，我也考的是英语专业，第三年我去了北大，他去了杭州师范学院。我相信很多同学都没听说过这个学院，那我觉得我这辈子应该比他更加成功吧，但是非常不幸的是，从今天来看，阿里巴巴上市的市值就是新东方的3倍，而我除了做成一个新东方便什么都没了。不仅如此，他还有淘宝网、支付宝&#8230;&#8230; <br><br>　　所以，你未来的成功和你上什么大学没有什么联系，只不过以后出国就业更加的容易一点。一辈子能不能走出精彩，大学为你奠定了基础，但不能决定你的一生。到大学毕业人生也只过了四分之一，接下来的时间我们该怎么过呢？首先是一定要坚持走下去，因为你不活了就什么都没有了。不管你相信不相信来世，我始终相信今生今世就是我们最好的天堂。所以我最讨厌自杀或者以自杀为威胁，我觉得这是对生命不尊重。有种理念，叫做&#8220;好死不如赖活着&#8221;。因为从我40多年的人生经验来体会，你在那坐久了，说不定天上真的会掉下馅饼来，当然也可能掉下块陨石。但不管怎样，不要自我了断，生命中会有很多奇迹发生。假如杨振宁教授不活到82岁，他怎么知道还能结第二次婚呢？ <br><br>　　但是同学们，人生总是要有份期待，哪怕是没有希望的期待。同学们可以想一下我们历史上有很多人物，比如说姜太公在河边钓鱼，到了80岁那一年，周文王在他边上走过，发现这个老头用直的鱼竿钓鱼，跟他一聊便发现这个老头很有智慧，所以把他带回去，两人一起打下了周朝的天下。齐白石同志在50岁的时候还在做木工，根本不是个伟大的画家，他的所有伟大的作品都是在80岁到90岁的时候完成的。所以生命总有这样的现象，有的人在年轻的时候有作为，有的人中年时候有作为，有的人老年时候有作为。花儿总是在不同的季节开放，如果所有的鲜花都在春天开放完毕了，到了夏天、秋天、冬天没有任何的花儿开放你还会觉得这个自然界是如此的美丽动人吗？ <br><br>　　所以大家想一想，如果人生所有的精彩都在大学里过完了，后面永远都是平淡，你觉得这人生会完美吗？换句话说，你大学里过的不那么精彩，毕业后却变得越来越精彩是不是更加好呢？事实证明，我们很多同学在大学里的成绩总是名列前茅，可是大学毕业后却怎么也做不出什么事情来了。因为在社会上，并不是成绩在起作用。成绩只能证明你智商比别人高，但并不能决定你一辈子就一定有出息。 <br><br>　　成功并不仅仅是你的成绩所决定的，最重要的是与社会打交道的能力，为人处世的能力。在各种混乱的人际关系中，寻找机会的能力，以及你最后领导一帮人跟你一起创事业的能力。而所有的这一切都不是由你的成绩决定的。当然我并不是说，在大学不要好好学，拿到大学毕业证书这是必然的，因为在未来我们会发现这样一个现象，假如，连大学本科文凭都拿不到的话，你的生命将充满艰难。 <br><br>　　现在读过大学的人很多，有人说现在上大学没什么意思，因为找不到工作。确实到现在为止，今年应届毕业生找到工作的比例只有40%左右，但我相信这只是一个临时现象，因为中国的产业结构还没有调整过来。从历史来看，中国大学生远远不多，因为中国从制造业正在转向咨询、信息、物流、服务等与世界沟通交流的行业，也就意味着在座的所有大学生都具备这样的工作能力，必然能找到工作。 <br><br>　　一次有个大学生告诉我，俞老师我要创业，不上大学了。我说为什么，他说要向比尔&#183;盖茨学习。我说世界上有几个比尔&#183;盖茨，不就一个嘛，他说没关系，他可以成为第二个。我说，那你为什么不上大学呢？他说，我考试不及格，上不下去了。这还是没法跟比尔&#183;盖茨比的，人家是觉得自己的知识已经远远超过了老师，觉得上大学已经是时间的浪费，要把自己的创造力及时的发挥出来，所以钻到自己的汽车库里研究微软去了。这是两种完全不一样的概念。 <br><br>　　当然我刚刚强调的是你学习成绩好并不一定今后就做的好。有一份统计数据，将大学成绩前10名和后10名的同学做过一个调研，以20年一个阶段来说，大学最后10名的同学财富总量以及获得的社会地位，居然比前10名还要高。这就意味着，即便在大学里最落后的同学也不要放弃自己。比如，我在北大努力了5年，在毕业的时候就是以全班倒数第五名毕业的，但现在我们班的第一名到第五名全在新东方。所以，我们永远都不要放弃自己。 <br><br>　　是不是我们人生走长了就必然会有成就呢？不是的，因为人生的走法有两种：第一种在平原上走，走到90岁，十分的平坦，但是你却看不到周边美丽的景色。因为平原两岸的风景都是一样的。所以，当回顾自己一生的时候发现一片空白。 <br><br>　　我们的人生必须像连绵不绝的山脉一样，像青藏高原一样的度过。总是有无数的险峰在眼前需要我们去征服，而一旦我们登上险峰后，生命中无限的风光就会展现出来，整个世界都尽收眼底。当然，攀登并不是一件容易的事情，你必须付出很多代价，但这种代价都是值得的。你爬到一座山头，如果要去另外一个山头，必须从底下开始重新攀爬，因为没有任何两个山头是连在一起的。 <br><br>　　最精彩的人生是到老年的时候能够写出一部回忆录来，自己会因曾经经历过的生命而感动，会感动别人继续为生命的精彩而奋斗，这时候我才能说我的生命很充实。 <br><br>　　很多同学家境富裕，要买手机、电脑，父母都会满足你，你在得到的一瞬间会感到很快乐，但因为容易得到，所以容易失去。因为容易，所以不会珍惜。而生命中最美好的就是珍惜得到的东西，珍惜的前提必定是因为你得来不易。 <br><br>　　我10年前就碰到一个特别令人感动的故事：有一个大学生来找我，因为非常贫困，但想出国，想上新东方的GRE和TOEFL班，但是他没钱所以跟我说他很想上新东方的课，但没钱，能不能暑假在新东方兼职做教室管理员，并且安排他到TOEFL和GRE的班，查完学生的听课证扫完地后就在后面听课，我说当然可以。没想到这个学生又提了个要求，如果两个月的兼职真的做的很好的话，能否给他500元工资让他买个录音机，我说没有问题。结果那孩子做了两个月，所有接触过他的人都说这孩子刻苦认真，所以到了两个月后，我给他一千块钱的工资让他买录音机。他买好后，边听着录音机边流着泪。我知道他被自己的行为感动了，以后肯定有大出息，果不其然几年后他被耶鲁大学以全额奖学金录取了，现在还在美国工作，年薪13万5千美元。所以说只有被自己感动的生命才会精彩。 <br><br>　　其实我也有一些让自己感动的故事，比如说我高考落榜。当时想着一定要考进大学，但没想过进北大，所以就拼命读书。有的时候你会发现你低着头一直往前走，目标就会在你的后面。所以当我拿到北大录取通知书的时候，真的是仰天大笑然后嚎啕大哭，跟范进中举一模一样。但如果当时没有坚持的话，也许我现在仍然只是一个农民的儿子。比如，当时我们村有个人跟我一样考了两年，他总分还比我高三分，当时我跟他说一起考第三年吧，但他的母亲说别考了，找个女人结婚算了，但当时我跟我妈说你让我再考一年，结果第三年我真的考上了。所以我得出两个结论，1、人必须往前跑，不一定要跑的快，但是要跑的久；2、不能停下来，你不能三天打渔两天晒网，要持之以恒。 <br><br>　　我走到今天没有一天懒惰过，我现在每天依然要工作近16个小时，从高考那天开始每天如此。但我发现，我还是比不过有些同事。从小学到高中，我学习也挺认真的，成绩总是在前10到20名之间，而在大学我学习更加认真，但最后却以全班倒数第五名毕业。龟兔赛跑的故事我们从小学就知道了，而生活中也经常体现出来。因为跑得快的人往往会停下来，而跑得慢的不能因为慢就不跑。只要跑，早晚会达到你所向往的终点。所以我们不要去计较大学时候谁的成绩高低，只要不停的去追求就可以了。 <br><br>　　有一次，一个朋友问我马和骆驼一辈子谁走的远吗？我觉得一定是马，他说您错了，骆驼走的路要远远比马多，因为马跑一会儿就会停下来，而骆驼一旦开始走，如果不让它停，它是不会停的。所以，一个聪明的人一辈子所创造的成就不一定比一个笨的人所创造的多，因为笨的人每天都在创造，而聪明的人可能创造一段时间会停下，即便是爱迪生这种超级天才，小时候也被认为是个白痴。爱因斯坦九岁才会说话，还好他有个好妈妈一直认为他是个天才，才使他成为一个伟大的科学家。所以当我的儿子到4岁时还不会说话，我老婆着急地带他到处求医时，我说，别看，4岁不会说话很正常的。我老婆说，为什么正常，我说，不会说话是语言功能发育不完全，不代表头脑就不发达。所以永远不要用你的现状去判断你的未来，只要你坚持就一定能获得你所意想不到的东西。 <br><br>　　生命中有很多意想不到的事情，比如，我高考三年从来都没想到会考进北大，但成绩公布后我发现超出了北京大学录取分数线7分。我们当时是考后填志愿的，当时我填好后还担心不一定被录取，结果北大还是录取了我。因为很多分数比我高的人没敢填写北京大学。之后我进入北大，由于成绩不好总在班级倒数，但我始终没有放弃学习。 <br><br>　　后来我班级里很多同学都联系出国，我看了羡慕，想要追赶他们的步伐，所以也开始联系出国。整整4年，联系了无数的美国大学和专业，没有一个美国大学给我奖学金。尽管拿到了几张录取通知书，但去美国大使馆签证，每次都拒签。当然，现在我的签证除了伊拉克的没有，其他国家几乎都有了。现在美国给我的签证是10年多次往返商务签证。因为新东方是在美国上市的，他必须允许我任何一天随时随地都能进入美国。所以当我儿时的朋友到现在还在面向黄河，这辈子还没有走出过我们镇的时候，我已经走遍了世界各地。大家想，在徐霞客、苏轼那个没有任何交通工具的时代，都能游遍山水，写下许多让我们感动和动人的文字，而在我们这个科技兴盛的时代，如果没有在世界上留下一些的文字和足迹，你怎么对得起自己。 <br><br>　　有的同学说，俞老师因为你现在有钱了所以可以这么做。坦率的说，以前我没钱我也会这样做。因为小时候我最崇拜的人物就是徐霞客，因为他是我的老乡，住在我家隔壁。只不过他是400年前住在我家隔壁，要知道地方上的名人对地方上少年的影响是非常巨大的。有次，我坐在长江边上看日出日落，我就在想徐霞客怎么能走那么远呢？所以也会向往这辈子我是否能跟他走的一样远。 <br><br>　　正是因为有这样一个榜样在，我才会发现高考一次、两次我都不绝望，因为我知道走出农村边界的惟一办法就是考上大学。我想把农村户口变成城市户口，因为当时城市户口是可以到处走的。尽管我平时很平和，但心中总是有一种愿望，叫做穿越地平线走向远方的渴望，就是看到眼前的地平线我总是不满足的，我总是希望翻开地平线看看另一边到底是什么样的。 <br><br>　　大家都知道，只要你不断的超越地平线一定会有很多的风景在你眼前展示出来。这跟你有没有钱没关系。而我曾怀揣100元人民币，走到了泰山，走到了黄山，走到了九华山，走到了庐山。我一边走一边帮人家干活，走到九华山发现没钱了，就睡到一个农民家里。那个农民在江边给我弄了个床，还找我要钱，而我口袋里只有5块钱。于是，我就说帮他一起插秧来抵消住宿费。他左看右看说，大学生怎么会插秧呢？结果插了一天我插了四分之三，而他只插了四分之一，把他感动的半死不活。他说，你怎么会插的那么快呢？我说，我14岁那年就获得过我们县的插秧冠军。然后，他晚上杀了一只鸡要我一起喝酒。他越聊越觉得我不像大学生更像农民。第二天我走的时候，他居然掏了10块钱给我说，我知道你口袋里没钱了，明天还要去庐山，这点钱就给你当路费。 <br><br>　　生命是有各种活法的，但是哪怕你坐到书斋中间，一辈子也要让自己的生命变的伟大。陈景润一辈子没出过书斋，不也是世界上最伟大的数学家？所以不管在什么状态下也要像一首诗写的那样&#8220;相信未来，热爱生命&#8221;。所以只有当我们的生命有了期待以后，才会有进步。有的时候，我们选择前进，不是因为我们有多么坚强。有这么一句话让我很感动，也变成了我的座右铭：&#8220;坚持下去不是因为我很坚强，而是因为我别无选择。&#8221;新东方有一个运动，叫做徒步50公里。任何一个新东方新入职的老师和员工都必须徒步50公里，而未来的每一年也都要徒步50公里。很多人从来没走过那么远的路，一般走到10公里就走不动了，尤其是要爬山涉水地走。每次我都会带着新东方员工走，走到一半的时候会有人想退缩，我说不行，你可以不走，但是把辞职报告先递上来。当走到25公里的时候你只有3个选择，第一，继续往前走；第二，往后退；但当你走到一半的时候，你往后退也是25公里，还不如坚持往前走呢；第三，站在原地不动。而在人生旅途中停止不前还有什么希望呢？ <br><br>　　我们人生有很多迷茫和痛苦，而只要你坚持往前走，痛苦往往会解决掉。在走的过程中，我也痛苦得流过泪，也曾经痛苦得嚎啕大哭过，但我知道真的坚持下去不是因为你坚强而是因为你别无选择。走到最后你会发现总会有成果。我没想到新东方能从培训13个学生，现在变成培训175万学生、其实所有这一切你都不一定要去想，只要坚持往前走就行了。 <br><br>　　我们生命中总要去追寻一种经历，有的时候我们觉得人连条鱼都不如，因为我在加拿大的时候，我看过加拿大三文鱼回流，每次它回流产卵的时候，我总会发现生命及其壮观，鱼卵产在沙子里会被其他动物吃掉很多。第二年春天的时候剩下的鱼卵会变成小鱼，小鱼会顺流而下，流到湖里，而在湖里又会被其他鱼类吃掉一些。一年后，长大的鱼会顺着大河奔入海洋，然后绕太平洋一周，每四年一个循环。如果三文鱼就在海洋中待着不回到湖里产卵，它就不会死，但它是受到内心的召唤集中在河口开始往前游，一旦游进河的时候就再也不吃任何东西拼命地往前游，然后游到目的地开始配对产卵，产好后就双双死亡。你会看到成千上万的红色死鱼漂在河上，而老鹰和黑熊就在边上等着。 <br><br>　　我看了后特别感动，一条小小的三文鱼也知道，生的使命是不能放弃。那我们人生的使命呢，比如父母为我们献出了青春财富，把你养育成人。而我们未来变成父母后也是一样。我们孩子的成长就是你的使命，而我们其他的使命感，如何让自己活得更加幸福，如何帮助别人，让这个社会变得更加有意义。为什么宗教人士会活得相对简单，因为他们灌输了一种使命感。而连一条鱼都经历了小溪流、湖泊、大海，他尝到了淡水的清香和海水的苦涩，完成了生命的周期。如果我们这一辈子都没有苦涩，没有幸福和甜美，那生命是很遗憾的。
<img src ="http://www.cppblog.com/ivy-jie/aggbug/91165.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/ivy-jie/" target="_blank">ivy-jie</a> 2009-07-25 20:59 <a href="http://www.cppblog.com/ivy-jie/archive/2009/07/25/91165.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>重载操作符</title><link>http://www.cppblog.com/ivy-jie/archive/2009/06/27/88659.html</link><dc:creator>ivy-jie</dc:creator><author>ivy-jie</author><pubDate>Sat, 27 Jun 2009 13:20:00 GMT</pubDate><guid>http://www.cppblog.com/ivy-jie/archive/2009/06/27/88659.html</guid><wfw:comment>http://www.cppblog.com/ivy-jie/comments/88659.html</wfw:comment><comments>http://www.cppblog.com/ivy-jie/archive/2009/06/27/88659.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/ivy-jie/comments/commentRss/88659.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/ivy-jie/services/trackbacks/88659.html</trackback:ping><description><![CDATA[　什么是操作符重载？<br>　一看到重载，很容易就让人联想到成员函数重载，函数重载可以使名称相同的函数具有不同的实际功能，只要赋给这些同名函数不同的参数就可以了，操作符重载也是基于这一机制的。系统为我们提供了许多操作符，比如&#8220;＋&#8221;，&#8220;[ ]&#8221;等，这些操作符都有一些默认的功能，而操作符重载机制允许我们给这些操作符赋予不同的功能，并能够按照普通操作符的使用格式来使用自己定义功能的操作符（即重载的操作符）。<br>　　定义之后，我们就可以按照平常使用操作符的格式来使用我们自己的重载操作符了。<br>　　操作符重载一般在类内部定义，就像成员函数一样定义，这叫做类成员重载操作符。当然也可以在类外定义，即非类成员操作符重载。<br>　　为什么要使用操作符重载？<br>　　举例说明，比如类String，该类有这样一个功能，可以将两个字符串连接成一个字符串，为此，我们可以给类String定义一个成员函数实现此功能，可以给该函数取一个形象的名字，比如concatenate或append，但是相比较，这两个名字都不如操作符&#8220;+=&#8221;形象直观。在这种情况下，我们就可以定义操作符&#8220;+=&#8221;的重载，来实现此功能。<br>　　也就是说，如果要定义一个函数，而这个函数的功能与操作符的功能比较类似时，这个时候我们就可以定义重载操作符，而不使用通常的成员函数定义。这里所说的操作符重载，指的是与系统定义的操作符重载，而不是说定义两个&#8220;+=&#8221;，这两个重载，这一点需要清楚。<br>　　但是<span style="COLOR: #ff0000">这四个操作符不能用于重载：&nbsp;&nbsp; :: ，*， ?， :<br></span>　　如何声明操作符重载？<br>　　同普通函数类似，只不过它的名字包括关键字operator，以及紧随其后的一个预定义操作符。例如：<br>　　String&amp; operator+=(const String&amp;);<br>　　String&amp; operator+=(const char*);<br>　　注意：上面的括号表示形式参数，即使操作符重载不需要参数，也应该写上一个空的&#8220;( )&#8221;，而不是将其省略，这一点其实和普通函数的声明是类似的。其实，声明的唯一区别就是名字不同而已。<br>　　怎样使用操作符重载？<br>　　两种操作符重载：<span style="COLOR: #ff0000">类成员操作符重载</span>和<span style="COLOR: #ff0000">非类成员操作符重载</span>。<br>　　1、类成员操作符重载<br>　　已知类String中声明了两个&#8220;==&#8221;操作符重载，分别是：<br>　　bool operator==(const char*) const;<br>　　bool operator==(const String&amp;) const;<br>　　其中第一个重载的操作符允许我们比较一个String类对象是否等于一个C风格字符串，第二个允许我们比较两个String类对象是否相等。<br>　　示例代码<br>　　：<br>　　#include&lt;String.h&gt;<br>　　int main()<br>　　{<br>　　String flower;<br>　　If(flower==&#8221;lily&#8221;) //正确：调用bool operator==(const char*) const;<br>　　&#8230;&#8230;<br>　　else<br>　　if(&#8220;tulip&#8221;==flower) //错误<br>　　&#8230;&#8230;.<br>　　}<br>　　关键看一下，为什么第二个重载操作符的使用是错误的？<br>　　因为：只有在左操作数是该类类型的对象时，才会考虑使用作为类成员的重载操作符。<br>　　因为这里的&#8221;tulip&#8221;不是String类型对象，所以编译器试图找到一个内置操作符，它可以有一个C风格字符串的左操作数，然而事实上并不存在这样的操作符，所以编译时产生错误。<br>　　疑问：我们可以使用String类的构造函数将一个C风格字符串，转换成一个String对象，为什么编译器不能做以上转换呢？即<br>　　if(String(&#8220;tulip&#8221;)==flower);//这样就是正确的<br>　　答：为了效率和正确性<br>　　重载操作符并不要求两个操作数的类型一定相同。可能有这样一个类Text，这个类的构造函数的参数及其成员重载操作符的参数都与String类一致，如果使编译器能够自动将C风格字符串转换成某个类型的对象，那么编译器首先会检索所有的类定义，选择能够提供正确构造函数和重载操作符的类进行转换，这无疑会增加程序的编译时间，还有就是类String和类Text均合适，编译器也不知道该将C风格字符串转换成String还是Text对象了。<br>　　对于类成员重载操作符，隐式的this指针被用作隐式的第一个参数，对于成员操作符，flower==&#8221;lily&#8221;会被编译器重写为：flower.operator==(&#8220;lily&#8221;);<br>　　2、非类成员操作符重载<br>　　为了解决上面的问题，我们可以考虑使用非类成员操作符代替类成员操作符，这样做的好处是左操作数不必非要是某个类的类型对象了，对于需要两个操作数的操作符重载，我们就可以定义两个参数了。比如：<br>　　bool operator==(const String&amp;,const String&amp;);<br>　　bool operator==(const String&amp;,const char*);<br>　　可以看到，这两个全局重载操作符比成员操作符多了一个参数,这样定义之后，还是上面的代码，当调用flower==&#8221;lily&#8221;时，会调用上面的bool operator==(const String&amp;,const char*);<br>　　然而&#8220;tulip&#8221;==flower会调用哪个操作符重载呢，我们并没有定义bool operator==(const char*,const String&amp;);，我们是不是必须定义这样一个全局操作符重载呢？答案是否定的，因为当一个重载操作符是一个名字空间函数时，对于操作符的第一个和第二个参数，即等于操作符的左右两个操作数都会考虑转换，就像int vi=1; double vd=2.0; vi=vi+vd; 会先将vd转换成int型，再做加法一样这意味着，编译器将解释第二个用法如下：<br>　　bool operator==(String(&#8220;tulip&#8221;),flower)。这样会增加系统转换开销。<br>　　因此，如果需要频繁比较C风格字符串和String对象，那么最好定义上面的操作符重载，如果不频繁，我们只需定义下面一个就够了：<br>　　bool operator==(const String&amp;,const String&amp;);<br>　　什么时候定义类成员操作符重载，什么时候定义非类成员操作符重载？<br>　　答：（1）如果一个重载操作符是类成员，那么只有当跟它一起使用的左操作数是该类对象时，它才会被调用，如果该操作符的左操作数必须是其他类型，那么重载操作符必须是非类成员操作符重载。<br>　　（2）C++要求，<span style="COLOR: #ff0000">赋值（=），下标（[ ]），调用（()）和成员访问箭头（-&gt;）操作符必须被指定为类成员操作符</span>，否则错误。
<img src ="http://www.cppblog.com/ivy-jie/aggbug/88659.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/ivy-jie/" target="_blank">ivy-jie</a> 2009-06-27 21:20 <a href="http://www.cppblog.com/ivy-jie/archive/2009/06/27/88659.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>数列题</title><link>http://www.cppblog.com/ivy-jie/archive/2009/06/08/87100.html</link><dc:creator>ivy-jie</dc:creator><author>ivy-jie</author><pubDate>Mon, 08 Jun 2009 14:10:00 GMT</pubDate><guid>http://www.cppblog.com/ivy-jie/archive/2009/06/08/87100.html</guid><wfw:comment>http://www.cppblog.com/ivy-jie/comments/87100.html</wfw:comment><comments>http://www.cppblog.com/ivy-jie/archive/2009/06/08/87100.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/ivy-jie/comments/commentRss/87100.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/ivy-jie/services/trackbacks/87100.html</trackback:ping><description><![CDATA[(1) 1/2,1/2,5/12,7/20,(?)<br>　　<br>答案是&#8220;3/10&#8220;<br>&nbsp; 　 1/2<br>　　(1+2)/(2+4)=3/6=1/2<br>　　(1+2+2)/(2+4+6)=5/12<br>　　(1+2+2+2)/(2+4+6+8)=7/20<br>　　(1+2+2+2+2)/(2+4+6+8+10)=9/30=3/10<br><br>(2)2,3,6,9,17,()<br>　　答案是45<br>&nbsp;&nbsp;&nbsp;&nbsp; 2)后面的数减去前面的数，得出的结果再加上前面的数即可<br>　　<br>(3)1,1,2,2,3,4,3,5,()<br>　　答案是6<br>&nbsp;&nbsp;&nbsp;&nbsp; 3）1，1，2，2，3，4，3，5，6<br>　　1--2--3，1--3--5，2--4--6<br>　　<br>(4) 0,5,8,17,24,()<br>　　答案是37<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4）<br>　　1^2-1=0<br>　　2^2+1=5<br>　　3^2-1=8<br>　　4^2+1=17<br>　　5^2-1=24<br>　　6^2+1=37<br><br>(5) 8,10,14,18,(),34<br>　　答案是26<br>　5）14-8=6，26-14=12，12/6=2<br>　　18-10=8，34-18=16，16/8=2
<img src ="http://www.cppblog.com/ivy-jie/aggbug/87100.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/ivy-jie/" target="_blank">ivy-jie</a> 2009-06-08 22:10 <a href="http://www.cppblog.com/ivy-jie/archive/2009/06/08/87100.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>简单计数器实现</title><link>http://www.cppblog.com/ivy-jie/archive/2009/05/23/85496.html</link><dc:creator>ivy-jie</dc:creator><author>ivy-jie</author><pubDate>Sat, 23 May 2009 02:37:00 GMT</pubDate><guid>http://www.cppblog.com/ivy-jie/archive/2009/05/23/85496.html</guid><wfw:comment>http://www.cppblog.com/ivy-jie/comments/85496.html</wfw:comment><comments>http://www.cppblog.com/ivy-jie/archive/2009/05/23/85496.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/ivy-jie/comments/commentRss/85496.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/ivy-jie/services/trackbacks/85496.html</trackback:ping><description><![CDATA[<p>#include "stdafx.h"<br>#include&lt;windows.h&gt;<br>#include &lt;math.h&gt;<br>#include &lt;stdio.h&gt;<br>#include &lt;stdlib.h&gt;<br>#include&lt;string.h&gt;<br>#include"resource.h"</p>
<p><span style="COLOR: red">HWND</span> hWndhWnd,<br>&nbsp;&nbsp;&nbsp;&nbsp; hEditResult,<br>&nbsp;&nbsp;&nbsp;&nbsp; hButtonOptSum0,hButtonOptSum1,hButtonOptSum2,hButtonOptSum3,<br>&nbsp; hButtonOptSum4,hButtonOptSum5,hButtonOptSum6,hButtonOptSum7,<br>&nbsp; hButtonOptSum8,hButtonOptSum9,hButtonOptSumDec,<br>&nbsp;&nbsp;&nbsp;&nbsp; hButtonOptAdd,hButtonOptSub,hButtonOptMul,hButtonOptDiv,<br>&nbsp; hButtonOptSqrt,<br>&nbsp; hButtonOptPercent,hButtonOptEqu,<br>&nbsp; hButtonCancelEntry;<br>&nbsp; <br>HINSTANCE hInst;<br>char lpszAddItem[20]="";<br>char lpszResult[20]="";</p>
<p>char lpszResult1[20]="";<br>char lpszResult2[20]="";<br>char lpszOpt[]="N";&nbsp; //贮存操作符号<br>char *stop;<br>double nAddItem=0,nResult=0;<br>double nResult1=0,nResult2=0;<br>int nMax;<br>int nOptF=0;&nbsp; //判断是否按了操作符键<br>bool bDec=false;&nbsp;&nbsp;&nbsp; //判断是否按了点操作符;</p>
<p>LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);<br>void EquResult();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //按下操作符(+,-,*,/,sqrt,%,=)处理函数<br>void NumResult(char *NumData);&nbsp; //按下数字键(0~9和小数点)的操作处理函数</p>
<p>&nbsp;</p>
<p><br>//-------------------------主函数------------------------<br>int WINAPI WinMain(HINSTANCE hInstance,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HINSTANCE hPrevInstance,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LPSTR&nbsp;&nbsp;&nbsp;&nbsp; lpCmdLine,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nCmdShow)<br>{<br>&nbsp;&nbsp;// TODO: Place code here.<br>&nbsp;HWND hWnd;<br>&nbsp;&nbsp;&nbsp; <span style="COLOR: red">MSG Message;</span><br>&nbsp;<span style="COLOR: red">WNDCLASS WndClass;</span><br>&nbsp;char lpszClassName[]="编辑框";<br>&nbsp;char lpszTitle[]="计算器";<br>&nbsp;WndClass.cbClsExtra=0;<br>&nbsp;WndClass.cbWndExtra=0;<br>&nbsp;WndClass.hbrBackground=(HBRUSH)(GetStockObject(LTGRAY_BRUSH)); //设置窗体背景:亮灰色<br>&nbsp;&nbsp;&nbsp; WndClass.hCursor=LoadCursor(NULL,IDC_ARROW);<br>&nbsp;//WndClass.hIcon=LoadIcon(NULL,IDI_APPLICATION);<br>&nbsp;WndClass.hIcon=LoadIcon(NULL,"WinIcon");<br>&nbsp;WndClass.hInstance=hInstance;<br>&nbsp;WndClass.lpfnWndProc=WndProc;&nbsp;&nbsp;&nbsp; //消息处理<br>&nbsp;WndClass.lpszClassName=lpszClassName;<br>&nbsp;&nbsp;&nbsp; WndClass.lpszMenuName="Menu";&nbsp;&nbsp;&nbsp; //加载菜单<br>&nbsp;WndClass.style=0;<br>&nbsp;<br>&nbsp;&nbsp;&nbsp; if(!RegisterClass(&amp;WndClass))<br>&nbsp;{<br>&nbsp;&nbsp;MessageBeep(0);<br>&nbsp;&nbsp;return FALSE;<br>&nbsp;}</p>
<p>&nbsp;&nbsp; hInst=hInstance;<br>&nbsp;&nbsp; hWnd=CreateWindow(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lpszClassName,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lpszTitle,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WS_OVERLAPPED | WS_SYSMENU | WS_MINIMIZEBOX,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CW_USEDEFAULT,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CW_USEDEFAULT,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 210,230,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NULL,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NULL,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hInstance,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NULL<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; );<br>&nbsp;&nbsp;&nbsp; ShowWindow(hWnd,nCmdShow);<br>&nbsp;&nbsp; &nbsp;UpdateWindow(hWnd);<br>&nbsp;<br>&nbsp;while(GetMessage(&amp;Message,NULL,0,0))<br>&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TranslateMessage(&amp;Message);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DispatchMessage(&amp;Message);<br>&nbsp;}<br>&nbsp;return Message.wParam;<br>}</p>
<p><br><span style="COLOR: red">//------------------------消息处理--------------------------------<br>LRESULT CALLBACK WndProc(HWND hwnd,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UINT message,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WPARAM wParam,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LPARAM lParam)<br></span>{<br>&nbsp;switch(message)<br>&nbsp;{<br>&nbsp;case WM_CREATE:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hEditResult=CreateWindow("EDIT",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //建立文本框<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NULL,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WS_CHILD | WS_VISIBLE | ES_RIGHT | WS_BORDER | ES_READONLY,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;10,10,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;185,24,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hwnd,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(HMENU)IDE_RESULT,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hInst,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NULL);<br>&nbsp;&nbsp;hButtonOptSum7=CreateWindow("BUTTON",&nbsp; //建立按钮7<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "7",<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WS_CHILD | WS_VISIBLE,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;10,40,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;30,30,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hwnd,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(HMENU) IDB_NUM7,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hInst,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NULL);<br>&nbsp;&nbsp;hButtonOptSum8=CreateWindow("BUTTON",&nbsp; //建立按钮8<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "8",<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WS_CHILD | WS_VISIBLE,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;45,40,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;30,30,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hwnd,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(HMENU) IDB_NUM8,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hInst,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NULL);<br>&nbsp;&nbsp;hButtonOptSum9=CreateWindow("BUTTON",&nbsp;&nbsp; //建立按钮9<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "9",<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WS_CHILD | WS_VISIBLE,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;80,40,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;30,30,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hwnd,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(HMENU) IDB_NUM9,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hInst,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NULL);<br>&nbsp;&nbsp;hButtonOptSum4=CreateWindow("BUTTON",&nbsp;&nbsp; //建立按钮4<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "4",<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WS_CHILD | WS_VISIBLE,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;10,75,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;30,30,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hwnd,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(HMENU) IDB_NUM4,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hInst,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NULL);<br>&nbsp;&nbsp;hButtonOptSum5=CreateWindow("BUTTON",&nbsp;&nbsp; //建立按钮5<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "5",<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WS_CHILD | WS_VISIBLE,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;45,75,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;30,30,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hwnd,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(HMENU) IDB_NUM5,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hInst,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NULL);<br>&nbsp;&nbsp;hButtonOptSum6=CreateWindow("BUTTON",&nbsp;&nbsp; //建立按钮6<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "6",<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WS_CHILD | WS_VISIBLE,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;80,75,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;30,30,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hwnd,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(HMENU) IDB_NUM6,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hInst,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NULL);<br>&nbsp;&nbsp;hButtonOptSum1=CreateWindow("BUTTON",&nbsp;&nbsp;&nbsp; //建立按钮1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "1",<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WS_CHILD | WS_VISIBLE,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;10,110,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;30,30,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hwnd,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(HMENU) IDB_NUM1,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hInst,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NULL);<br>&nbsp;&nbsp;hButtonOptSum2=CreateWindow("BUTTON",&nbsp;&nbsp; //建立按钮2<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "2",<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WS_CHILD | WS_VISIBLE,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;45,110,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;30,30,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hwnd,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(HMENU) IDB_NUM2,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hInst,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NULL);<br>&nbsp;&nbsp;hButtonOptSum3=CreateWindow("BUTTON",&nbsp;&nbsp; //建立按钮3<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "3",<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WS_CHILD | WS_VISIBLE,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;80,110,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;30,30,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hwnd,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(HMENU) IDB_NUM3,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hInst,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NULL);<br>&nbsp;&nbsp;hButtonOptSum0=CreateWindow("BUTTON",&nbsp;&nbsp;&nbsp; //建立按钮0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "0",<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WS_CHILD | WS_VISIBLE,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;10,145,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;65,30,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hwnd,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(HMENU) IDB_NUM0,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hInst,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NULL);<br>&nbsp;&nbsp;hButtonOptSumDec=CreateWindow("BUTTON",&nbsp; //建立按钮.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ".",<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WS_CHILD | WS_VISIBLE,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;80,145,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;30,30,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hwnd,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(HMENU) IDB_NUMDEC,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hInst,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NULL);<br>&nbsp;&nbsp;&nbsp;&nbsp; hButtonOptSqrt=CreateWindow("BUTTON",&nbsp; //建立按钮Sqr<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "Sqr",<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WS_CHILD | WS_VISIBLE,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;130,40,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;30,30,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hwnd,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(HMENU) IDB_OPTSQRT,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hInst,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NULL);<br>&nbsp;&nbsp;hButtonCancelEntry=CreateWindow("BUTTON",&nbsp; //建立按钮CE<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "C",<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WS_CHILD | WS_VISIBLE,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;165,40,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;30,30,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hwnd,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(HMENU) IDB_CANCLEENTRY,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hInst,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NULL);<br>&nbsp;&nbsp;hButtonOptAdd=CreateWindow("BUTTON",&nbsp;&nbsp;&nbsp; //建立按钮+<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "+",<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WS_CHILD | WS_VISIBLE,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;130,75,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;30,30,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hwnd,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(HMENU)IDB_OPTADD,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hInst,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NULL);<br>&nbsp;&nbsp;hButtonOptSub=CreateWindow("BUTTON",&nbsp; //建立按钮-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "-",<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WS_CHILD | WS_VISIBLE,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;165,75,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;30,30,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hwnd,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(HMENU)IDB_OPTSUB,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hInst,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NULL);<br>&nbsp;&nbsp;hButtonOptMul=CreateWindow("BUTTON",&nbsp;&nbsp; //建立按钮*<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "*",<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WS_CHILD | WS_VISIBLE,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;130,110,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;30,30,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hwnd,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(HMENU)IDB_OPTMUL,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hInst,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NULL);<br>&nbsp;&nbsp;hButtonOptDiv=CreateWindow("BUTTON",&nbsp;&nbsp; //建立按钮/<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "/",<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WS_CHILD | WS_VISIBLE,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;165,110,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;30,30,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hwnd,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(HMENU)IDB_OPTDIV,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hInst,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NULL);<br>&nbsp;&nbsp;hButtonOptEqu=CreateWindow("BUTTON",&nbsp; //建立按钮=<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "=",<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WS_CHILD | WS_VISIBLE,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;130,145,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;30,30,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hwnd,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(HMENU)IDB_OPTEQU,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hInst,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NULL);<br>&nbsp;&nbsp;hButtonOptPercent=CreateWindow("BUTTON",&nbsp;&nbsp; //建立按钮%<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "%",<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WS_CHILD | WS_VISIBLE,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;165,145,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;30,30,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hwnd,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(HMENU)IDB_OPTPERCENT,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hInst,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NULL);<br>&nbsp;<br>&nbsp;&nbsp;SetWindowText(hEditResult,"0");<br>&nbsp;&nbsp;break;<br>&nbsp;case WM_SETFOCUS:<br>&nbsp;&nbsp;SetFocus(hEditResult);<br>&nbsp;&nbsp;break;<br>&nbsp;<br>&nbsp;case WM_COMMAND:<br>&nbsp;&nbsp;&nbsp; switch(LOWORD(wParam))<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 零至玖与点按钮<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case IDB_NUM0:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (nOptF==0)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NumResult("0");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case IDB_NUM1: <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NumResult("1");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case IDB_NUM2:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NumResult("2");&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case IDB_NUM3:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NumResult("3");&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case IDB_NUM4:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NumResult("4");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case IDB_NUM5:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NumResult("5");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case IDB_NUM6:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NumResult("6");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case IDB_NUM7:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NumResult("7");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case IDB_NUM8:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NumResult("8");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case IDB_NUM9:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NumResult("9");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case IDB_NUMDEC:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (bDec==true) <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;&nbsp; //如果已按了点号就返回<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NumResult(".");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nOptF=1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //按了操作符键<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bDec=true;&nbsp;&nbsp;&nbsp; //按了点操作符;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //MessageBox(hwnd,"没有此功能!","功能",MB_OK);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break; <br>&nbsp;&nbsp;&nbsp;// 加,减,乘,除与百分数按钮&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case IDB_OPTADD:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EquResult();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strcpy(lpszOpt,"+");&nbsp;&nbsp;&nbsp;&nbsp; //设置按了操作符号+<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case IDB_OPTSUB:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EquResult();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strcpy(lpszOpt,"-");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case IDB_OPTMUL: <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EquResult();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strcpy(lpszOpt,"*");&nbsp;&nbsp;&nbsp;&nbsp; //设置按了操作符号+<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case IDB_OPTDIV:&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //算出结果<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EquResult();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strcpy(lpszOpt,"/");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case IDB_OPTPERCENT:&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //算出结果<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EquResult();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strcpy(lpszOpt,"%");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br>&nbsp;&nbsp;&nbsp;&nbsp;// 等于按钮&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case IDB_OPTEQU:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //算出等于结果<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EquResult();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strcpy(lpszOpt,"N");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //开平方按钮&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case IDB_OPTSQRT:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EquResult();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; strcpy(lpszOpt,"S");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case IDB_CANCLEENTRY:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SetWindowText(hEditResult,"0");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nResult=0;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nAddItem=0;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nResult1=0;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nResult2=0;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; strcpy(lpszResult1,"0");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; strcpy(lpszResult2,"0");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nOptF=0;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bDec=false;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; strcpy(lpszOpt,"N");&nbsp; //贮存操作符号<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br>&nbsp;&nbsp;&nbsp;//关于菜单<br>&nbsp;&nbsp;&nbsp; case IDM_ABOUT:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MessageBox(hwnd,"欢迎使用本记算器!\n\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 作者:麦成勇","关于",MB_OK|MB_ICONINFORMATION);<br>&nbsp;&nbsp;&nbsp;&nbsp; break;<br>&nbsp;&nbsp;&nbsp; case IDM_COPY:<br>&nbsp;&nbsp;&nbsp;&nbsp; break;<br>&nbsp;&nbsp;&nbsp;case IDM_PASTE:<br>&nbsp;&nbsp;&nbsp;&nbsp; break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //退出菜单<br>&nbsp;&nbsp;&nbsp; case IDM_EXIT:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SendMessage(hwnd,WM_DESTROY,0,0L);<br>&nbsp;&nbsp;&nbsp;&nbsp; break;<br>&nbsp;&nbsp;&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; break;<br>&nbsp;&nbsp;&nbsp; case WM_DESTROY:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PostQuitMessage(0);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br>&nbsp;&nbsp;&nbsp;&nbsp; default:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return DefWindowProc(hwnd,message,wParam,lParam);<br>&nbsp;}<br>&nbsp;return 0;<br>}</p>
<p>&nbsp;</p>
<p>//-----------------------按下操作符(+,-,*,/,sqrt,%,=)处理函数-----------------------<br>void EquResult()<br>{<br>&nbsp;<br>&nbsp;//算出结果<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (strcmp(lpszOpt,"N")==0)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nResult1=strtod(lpszResult1,&amp;stop);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;switch(*lpszOpt)&nbsp;&nbsp;&nbsp; //比较上一次按的操作符后所得的结果<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case '+':<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nResult1=strtod(lpszResult1,&amp;stop);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nResult2=strtod(lpszResult2,&amp;stop);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nResult1=nResult1+nResult2;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case '-':<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nResult1=strtod(lpszResult1,&amp;stop);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nResult2=strtod(lpszResult2,&amp;stop);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nResult1=nResult1-nResult2;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case '*':<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nResult1=strtod(lpszResult1,&amp;stop);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nResult2=strtod(lpszResult2,&amp;stop);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nResult1=nResult1*nResult2;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case '/':<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nResult1=strtod(lpszResult1,&amp;stop);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nResult2=strtod(lpszResult2,&amp;stop);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (nResult2==0)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MessageBox(hWndhWnd,"除数不能为零!","功能",MB_OK);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nResult1=nResult1/nResult2;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case '%':<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nResult1=strtod(lpszResult1,&amp;stop);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nResult1=nResult1/100;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case 'S':<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nResult1=strtod(lpszResult1,&amp;stop);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (nResult1&lt;0)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MessageBox(hWndhWnd,"负数没有平方根!","没意义",MB_OK);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nResult=sqrt( nResult1 );<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nResult1=nResult;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nResult1=nResult1*1.0;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _gcvt(nResult1,15,lpszResult1);&nbsp;//双精度转化为字符串&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SetWindowText(hEditResult,lpszResult1);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nOptF=0;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bDec=false; <br>}</p>
<p>&nbsp;</p>
<p>//--------------------------按下数字键(0~9和小数点)的操作处理函数--------------------<br>void NumResult(char *NumData)<br>{<br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (nOptF==0)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SetWindowText(hEditResult,"");&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nMax=GetWindowTextLength(hEditResult)+1;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;GetWindowText(hEditResult,lpszAddItem,nMax);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;strcat(lpszAddItem,NumData);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ///字符串加该数字键的字符<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (strcmp(lpszOpt,"N")==0)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strcpy(lpszResult1,lpszAddItem);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SetWindowText(hEditResult,lpszResult1);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strcpy(lpszResult2,lpszAddItem);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SetWindowText(hEditResult,lpszResult2);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nOptF=1;&nbsp; //按下了数字键<br>}</p>
<p>2 资源文件<br>#include "windows.h"<br>#include "resource.h"</p>
<p>/////////////////////////////////////////////////////////////////////////////<br>//<br>// Menu<br>//</p>
<p>MENU MENU DISCARDABLE <br>BEGIN<br>&nbsp;&nbsp;&nbsp; POPUP "文件(&amp;F)"<br>&nbsp;&nbsp;&nbsp; BEGIN<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MENUITEM "退出(&amp;X)",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IDM_EXIT<br>&nbsp;&nbsp;&nbsp; END<br>&nbsp;&nbsp;&nbsp; POPUP "编辑(&amp;E)"<br>&nbsp;&nbsp;&nbsp; BEGIN<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MENUITEM "复制(&amp;C)\tCtrl+C",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IDM_COPY<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MENUITEM "粘贴(&amp;V)\tCtrl+V",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IDM_PASTE<br>&nbsp;&nbsp;&nbsp; END<br>&nbsp;&nbsp;&nbsp; POPUP "帮助(&amp;H)"<br>&nbsp;&nbsp;&nbsp; BEGIN<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MENUITEM "关于(&amp;A)...",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IDM_ABOUT<br>&nbsp;&nbsp;&nbsp; END<br>END</p>
<p><br>/////////////////////////////////////////////////////////////////////////////<br>//<br>// Accelerator<br>//</p>
<p>MENU ACCELERATORS MOVEABLE PURE <br>BEGIN<br>&nbsp;&nbsp;&nbsp; "^A",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IDM_ABOUT,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ASCII,&nbsp; NOINVERT<br>&nbsp;&nbsp;&nbsp; "^C",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IDM_COPY,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ASCII,&nbsp; NOINVERT<br>&nbsp;&nbsp;&nbsp; "^V",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IDM_PASTE,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ASCII,&nbsp; NOINVERT<br>END</p>
<p>WinIcon ICON calc.ico<br></p>
<img src ="http://www.cppblog.com/ivy-jie/aggbug/85496.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/ivy-jie/" target="_blank">ivy-jie</a> 2009-05-23 10:37 <a href="http://www.cppblog.com/ivy-jie/archive/2009/05/23/85496.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>InnerText 和 InnerHTML的区别</title><link>http://www.cppblog.com/ivy-jie/archive/2009/05/23/85486.html</link><dc:creator>ivy-jie</dc:creator><author>ivy-jie</author><pubDate>Fri, 22 May 2009 16:57:00 GMT</pubDate><guid>http://www.cppblog.com/ivy-jie/archive/2009/05/23/85486.html</guid><wfw:comment>http://www.cppblog.com/ivy-jie/comments/85486.html</wfw:comment><comments>http://www.cppblog.com/ivy-jie/archive/2009/05/23/85486.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/ivy-jie/comments/commentRss/85486.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/ivy-jie/services/trackbacks/85486.html</trackback:ping><description><![CDATA[<p>前几天在做网页的时候用到了如何取得和输出鼠标点击的超链接的字符串，在网上搜索用innerText可以取得，于是就找了一下innerText和innerHTML的区别，下面贴出一个在网上找到的代码来说明一下：</p>
<p>输出字符串<br>&lt;html&gt;<br>&lt;head&gt;&lt;title&gt;test&lt;/title&gt;<br>&lt;script language="javascript"&gt;<br>function show1(){<br>document.all.test.innerText="&lt;font color=blue&gt;test&lt;/font&gt;";<br>}<br>function show2(){<br>document.all.test.innerHTML="&lt;font color=blue&gt;test&lt;/font&gt;";<br>}<br>&lt;/script&gt;<br>&lt;/head&gt;<br>&lt;body&gt;<br>&lt;table&gt;&lt;tr&gt;&lt;td id=test&gt;&lt;font color=red&gt;innerText&lt;/font&gt;&lt;/td&gt;<br>&lt;/tr&gt;&lt;/table&gt;<br>&lt;a href="javascript:show1();"&gt;testinnerText&lt;/a&gt;<br>&lt;a href="javascript:show2();"&gt;testinnerHTML&lt;/a&gt;<br>&lt;/body&gt;<br>&lt;/html&gt;</p>
<p>对于<span style="COLOR: red">innerText，即把"&lt;font color=blue&gt;test&lt;/font&gt;"当成整体内容显示出来。而对于innerHTML而言，则把"&lt;font color=blue&gt;test&lt;/font&gt;"当成页面的一部分，即显示兰色的test字符！<br></span>&nbsp;</p>
<img src ="http://www.cppblog.com/ivy-jie/aggbug/85486.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/ivy-jie/" target="_blank">ivy-jie</a> 2009-05-23 00:57 <a href="http://www.cppblog.com/ivy-jie/archive/2009/05/23/85486.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HTML中 id 和 name 的区别</title><link>http://www.cppblog.com/ivy-jie/archive/2009/05/23/85485.html</link><dc:creator>ivy-jie</dc:creator><author>ivy-jie</author><pubDate>Fri, 22 May 2009 16:56:00 GMT</pubDate><guid>http://www.cppblog.com/ivy-jie/archive/2009/05/23/85485.html</guid><wfw:comment>http://www.cppblog.com/ivy-jie/comments/85485.html</wfw:comment><comments>http://www.cppblog.com/ivy-jie/archive/2009/05/23/85485.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/ivy-jie/comments/commentRss/85485.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/ivy-jie/services/trackbacks/85485.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp; 上周我也遇到了ID和Name的问题，在页面里输入了一个input type="hidden"，只写了一个ID='SliceInfo'，赋值后submit，在后台用Request.Params["SliceInfo"]却怎么也去不到值。后来恍然大悟因该用Name来标示，于是在input里加了个Name='SliceInfo'，就一切ok了。</p>
<p><span style="COLOR: red">ID是Client端HTML元素的Identity。而Name其实要复杂的多，因为Name有很多种的用途，所以它并不能完全由ID来代替，从而将其取消掉</span>。具体用途有：</p>
<p>&nbsp;&nbsp;&nbsp; 用途1:<span style="COLOR: red">NAME 作为可与服务器交互数据的HTML元素的服务器端的标示</span>，比如input、select、textarea、和button等。我们可以在服务器端根据其Name通过Request.Params取得元素提交的值。<br>&nbsp;&nbsp;&nbsp; 用途2: HTML元素Input type='radio'分组，我们知道radio button控件在同一个分组类，check操作是mutex的，同一时间只能选中一个radio，这个分组就是根据相同的Name属性来实现的。<br>&nbsp;&nbsp;&nbsp; 用途3: 建立页面中的锚点，我们知道&lt;a href="URL"&gt;link&lt;/a&gt;是获得一个页面超级链接，如果不用href属性，而改用Name，如：&lt;a name="PageBottom"&gt;&lt;/a&gt;，我们就获得了一个页面锚点。<br>&nbsp;&nbsp;&nbsp; 用途4: 作为对象的Identity，如Applet、Object、Embed等元素。比如在Applet对象实例中，我们将使用其Name来引用该对象。<br>&nbsp;&nbsp;&nbsp; 用途5: 在IMG元素和MAP元素之间关联的时候，如果要定义IMG的热点区域，需要使用其属性usemap，使usemap="#name"(被关联的MAP元素的Name)。<br>&nbsp;&nbsp;&nbsp; 用途6: 某些特定元素的属性，如attribute，meta和param。例如为Object定义参数&lt;PARAM NAME = "appletParameter" VALUE = "value"&gt;或Meta中&lt;META NAME = "Author" CONTENT = "Dave Raggett"&gt;。</p>
<p>&nbsp;&nbsp; 当然HTML元素的Name属性在页面中也可以起那么一点ID的作用，因为在DHTML对象树中，我们可以使用document.getElementsByName来获取一个包含页面中所有指定Name元素的对象数组。Name属性还有一个问题，当我们动态创建可包含Name属性的元素时，不能简单的使用赋值element.name = "..."来添加其Name，而必须在创建Element时，使用document.createElement('&lt;element name = "myName"&gt;&lt;/element&gt;')为元素添加Name属性。这是什么意思啊？看下面的例子就明白了。 <br></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">scrīpt&nbsp;language</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Javascrīpt</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;input&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;document.createElement(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">INPUT</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">);<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>input.id&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">myId</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">;<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>input.name&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">myName</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">;<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>alert(input.outerHTML);<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">scrīpt&gt;&nbsp;</span></div>
<p>&nbsp;消息框里显示的结果是：&lt;INPUT id=myId&gt;。</p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">scrīpt&nbsp;language</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Javascrīpt</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;input&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;document.createElement(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&lt;INPUT&nbsp;name="myName"&gt;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">);<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>input.id&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">myId</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">;<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>alert(input.outerHTML);<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">scrīpt&gt;</span></div>
<p>&nbsp;消息框里显示的结果是：&lt;INPUT id=myId name=myName&gt;。<br>&nbsp;<br>&nbsp;&nbsp; 初始化Name属性的这个设计不是IE的缺陷，因为MSDN里说了要这么做的，可是这样设计的原理什么呢？我暂时没有想太明白。</p>
<p>&nbsp;&nbsp;&nbsp; 这里再顺便说一下，要是页面中有n(n&gt;1)个HTML元素的ID都相同了怎么办？在DHTML对象中怎么引用他们呢？如果我们使用ASPX页面，这样的情况是不容易发生的，因为aspnet进程在处理aspx页面时根本就不允许有ID非唯一，这是页面会被抛出异常而不能被正常的render。要是不是动态页面，我们硬要让ID重复那IE怎么搞呢？这个时候我们还是可以继续使用document.getElementById获取对象，只不过我们只能获取ID重复的那些对象中在HTML Render时第一个出现的对象。而这时重复的ID会在引用时自动变成一个数组，ID重复的元素按Render的顺序依次存在于数组中。</p>
<p><strong>文章的评论：</strong> </p>
<p>其实一句话：<span style="COLOR: red"><strong><u>ID和html页面内部元素相关，不和页面元素的内容相关。name则更多地和页面元素的内容相关。I</u></strong><font color=#000000>D<span style="COLOR: red">是html标签的标识符，如果一个标签没有id而有name，那么就用name值做为标识符，另外<u><strong>表单元素的name值会被发回服务器，在服务器端获取一个表单元素的值必须通过这个name的值来获取，</strong></u>值得说的是id虽然是标识符但多个标签可以共用一个id，这样通过客户端脚本 &nbsp; document.all["id"]或者 &nbsp; document.getElementById("id")获取的元素就是一个集合而不是一个单独的html元素 </span></font><br></span></p>
<p>看了看Reference，name还有一个用途window.name，楼主是不是可以把这个也算上一个呢？最常见的就是windows.open的第二个参数，在&lt;A&gt;的target里用到。 </p>
<p>iframe： 还有 frame 和 iframe 的 name 属性。 </p>
<p>iframe 的 name 有点特殊，上次遇到一个问题，一定要用 name 才行，呵呵，忘记具体的了，大概是用 iframe 页面里的 onload()/onclick() 改变 iframe 的大小 ~~ </p>
<p>name是frame, iframe &amp; frameset的Identity，还有什么特殊的地方吗？你说的那个onload()/onclick()，是说在里面引用frame要使用frame的name吧？</p>
<p>对于 iframe 直接使用 id 获取的是其 window 对象（而通过 name 却可以获取其 element 对象），我想 boynannan 说的问题应该是这个吧！不知道猜测是否准确。</p>
<img src ="http://www.cppblog.com/ivy-jie/aggbug/85485.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/ivy-jie/" target="_blank">ivy-jie</a> 2009-05-23 00:56 <a href="http://www.cppblog.com/ivy-jie/archive/2009/05/23/85485.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>程序开机自动运行的方法</title><link>http://www.cppblog.com/ivy-jie/archive/2009/05/22/85478.html</link><dc:creator>ivy-jie</dc:creator><author>ivy-jie</author><pubDate>Fri, 22 May 2009 15:44:00 GMT</pubDate><guid>http://www.cppblog.com/ivy-jie/archive/2009/05/22/85478.html</guid><wfw:comment>http://www.cppblog.com/ivy-jie/comments/85478.html</wfw:comment><comments>http://www.cppblog.com/ivy-jie/archive/2009/05/22/85478.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/ivy-jie/comments/commentRss/85478.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/ivy-jie/services/trackbacks/85478.html</trackback:ping><description><![CDATA[Windows的自启动方式：&nbsp; <br>一.自启动目录：&nbsp; <br>&nbsp; <br><span style="COLOR: red">1.第一自启动目录：&nbsp; <br></span>默认路径位于：&nbsp; <br><span style="COLOR: red">C:\windows\start&nbsp;menu\programs\startup（English）</span>&nbsp; <br>C:\windows\start&nbsp;menu\programs\启动（Chinese）&nbsp; <br>这是最基本、最常用的Windows启动方式，主要用于启动一些应用软件的自启动项目，如Office的快捷菜单。一般用户希望启动时所要启动的文件也可以通过这里启动，只需把所需文件或其快捷方式放入文件夹中即可。&nbsp; <br>&nbsp; <br>对应的注册表位置：&nbsp; <br>[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell&nbsp;Folders]&nbsp; <br>Startup=\"%Directory%\"&nbsp; <br>[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User&nbsp;Shell&nbsp;Folders]&nbsp; <br>Startup=\"%Directory%\"&nbsp; <br>其中&#8220;%Directory%&#8221;为启动文件夹位置。&nbsp; <br>&nbsp; <br>英文默认为：&nbsp; <br>C:\windows\start&nbsp;menu\programs\startup&nbsp; <br>中文默认为：&nbsp; <br>C:\windows\start&nbsp;menu\programs\启动&nbsp; <br>&nbsp; <br>在开始菜单的&#8220;启动&#8221;文件夹是可更改的，如果用户更改了启动文件夹，则以上注册表的键值均会改变为相应的名称。&nbsp; <br>&nbsp; <br>值得注意的是：开始菜单的&#8220;启动&#8221;文件夹中的内容虽然在默认的状态下可以被用户看得一清二楚。但通过改动还是可以达到相当隐蔽地启动的目的的：&nbsp; <br>&nbsp; <br>首先，&#8220;启动&#8221;文件夹中的快捷方式或其他文件的属性可以改变为&#8220;隐藏&#8221;。这样可以达到系统不启动被隐藏的文件，等到需要启动的时候又可以通过更改回文件属性而恢复启动的作用。&nbsp; <br>其次，其实&#8220;启动&#8221;文件夹只是一个普通的文件夹，但是由于系统监视了这个文件夹，所以变得有些特殊，但文件夹有的功能该文件夹也是有的。譬如&#8220;启动&#8221;文件夹的名称是可以更改的，并且&#8220;启动&#8221;文件夹也可以设置属性。如果把属性设置为&#8220;隐藏&#8221;，则在系统中的【开始】【程序】菜单中是看不到&#8220;启动&#8221;文件夹的（即使在&#8220;文件夹选项&#8221;中已经设定了&#8220;显示所有文件&#8221;）。而系统还会启动这个被隐藏的文件夹中的非隐藏文件。&nbsp; <br>敏感的人们也许已经发现问题。举一个例子：&nbsp; <br>&nbsp; <br>如果我想启动A木马的server端服务器，我可以把原来的&#8220;启动&#8221;菜单的名称更改为&#8220;StartUp&#8221;（这里是随便改的，注册表相应的键值也会自动更改。）之后再创建一个名为&#8220;启动&#8221;的文件夹，把&#8220;StartUp&#8221;菜单中的文件全部复制（这里用复制，可以骗过用户的检查）到&#8220;启动&#8221;菜单中，然后把A木马的server程序放入&#8220;StartUp&#8221;文件夹中，最后把&#8220;StartUp&#8221;文件夹隐藏。大功告成！&nbsp; <br>&nbsp; <br>从外表看来，用户的【开始】【启动】目录还在，而且要启动的文件也在。但系统此时启动的文件不是名为&#8220;启动&#8221;的文件夹中的文件，而是名为&#8220;StartUp&#8221;的文件夹中的文件。如果木马做的好的话，完全可以在每次启动的时候把&#8220;StartUp&#8221;中的文件复制到&#8220;启动&#8221;目录中来达到实时更新启动目录的目的。由于&#8220;StartUp&#8221;文件夹被隐藏，从【开始】【程序】中是无法看到真正的启动菜单&#8220;StartUp&#8221;的，所以达到了隐蔽启动的目的！&nbsp; <br>这个启动方式虽然比较隐蔽，但通过msconfig依旧可以在&#8220;启动&#8221;页中看出来。&nbsp; <br><br><span style="COLOR: red">2.第二自启动目录：</span>&nbsp; <br>是的，其实，Windows还有另外一个自启动目录，而且很明显但却经常被人们忽略的一个。&nbsp; <br>该路径位于：&nbsp; <br><span style="COLOR: red">C:\WINDOWS\All&nbsp;Users\Start&nbsp;Menu\Programs\StartUp（English</span>）&nbsp; <br>C:\WINDOWS\All&nbsp;Users\Start&nbsp;Menu\Programs\启动（Chinese）&nbsp; <br>这个目录的使用方法和第一自启动目录是完全一样的。只要找到该目录，将所需要启动的文件拖放进去就可以达到启动的目的。&nbsp; <br>[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\explorer\User&nbsp;Shell&nbsp;Folders]&nbsp; <br>\"Common&nbsp;Startup\"=\"%Directory%\"&nbsp; <br>[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\explorer\Shell&nbsp;Folders]&nbsp; <br>\"Common&nbsp;Startup\"=\"%Directory%\"&nbsp; <br>&nbsp; <br>值得注意的是：该目录在开始菜单的&#8220;启动&#8221;目录中是完全不能被看见的。而伴随着每次启动，该目录下的非隐藏文件也会随之启动！&nbsp;另外，在Msconfig中可以看到在这个目录下要启动的文件。&nbsp; <br><br><br><span style="COLOR: red">二.系统配置文件启动：</span>&nbsp; <br>&nbsp; <br>由于系统的配置文件对于大多数的用户来说都是相当陌生的；这就造成了这些启动方法相对来说都是相当隐蔽的，所以这里提到的一些方法常常会被用于做一些破坏性的*作，请读者注意。&nbsp; <br>&nbsp; <br><span style="COLOR: red">1.WIN.INI启动：</span>&nbsp; <br>启动位置（file.exe为要启动的文件名称）：&nbsp; <br>[windows]&nbsp; <br>load=file.exe&nbsp; <br>run=file.exe&nbsp; <br>注意：load=与run=的区别在于：通过load=运行文件，文件会在后台运行（最小化）；而通过run=来运行，则文件是在默认状态下被运行的。&nbsp; <br><span style="COLOR: red">&nbsp; <br>2.SYSTEM.INI启动：</span>&nbsp; <br>启动位置（file.exe为要启动的文件名称）：&nbsp; <br>默认为：&nbsp; <br>[boot]&nbsp; <br>Shell=Explorer.exe&nbsp; <br>可启动文件后为：&nbsp; <br>[boot]&nbsp; <br>Shell=Explorer.exe&nbsp;file.exe&nbsp; <br>说明：&nbsp; <br>笔者记得在诺顿先生（就是开发出Norton系列软件的人）写的一本书里面曾经说过，1、2这两个文件的有无对系统没有什么影响，但由于时间的关系，笔者没有来得及试验，有兴趣者可以试一试。&nbsp; <br>&nbsp; <br>不过有一点是可以肯定的，这样的启动方式往往会被木马或一些恶作剧程序（如，妖之吻）利用而导致系统的不正常。由于一般用户很少会对这两个文件关心，甚至有的人不知道这些文件是做什么用的，所以隐蔽性很好。但由于其使用的越来越频繁，这种启动方式也被渐渐的察觉了。用户可以使用msconfig这个命令实现检查是否有什么程序被加载。具体的是在看是菜单中的&#8220;运行&#8221;中输入msconfig回车，之后按照文字说明即可。&nbsp; <br>&nbsp; <br>注意：&nbsp; <br>1.和WIN.INI文件不同的是，SYSTEM.INI的启动只能启动一个指定文件，不要把Shell=Explorer.exe&nbsp;file.exe换为Shell=file.exe，这样会使Windows瘫痪！&nbsp; <br>2.这种启动方式提前于注册表启动，所以，如果想限制注册表中的文件的启动，可是使用这种方法。&nbsp; <br>3.WININIT.INI启动：&nbsp; <br>Wininit.ini这个文件也许很多人不知道，一般的*作中用户也很少能直接和这个文件接触。但如果你编写过卸载程序的话，也许你会知道这个文件。&nbsp; <br>WinInit即为Windows&nbsp;Setup&nbsp;Initialization&nbsp;Utility。翻译成中文就是Windows安装初始化工具。这么说也许不明白，如果看到如下提示信息：&nbsp; <br>Please&nbsp;wait&nbsp;while&nbsp;Setup&nbsp;updates&nbsp;your&nbsp;configuration&nbsp;files.&nbsp; <br>This&nbsp;may&nbsp;take&nbsp;a&nbsp;few&nbsp;minutes...&nbsp; <br>大家也许就都知道了！这个就是 
<img src ="http://www.cppblog.com/ivy-jie/aggbug/85478.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/ivy-jie/" target="_blank">ivy-jie</a> 2009-05-22 23:44 <a href="http://www.cppblog.com/ivy-jie/archive/2009/05/22/85478.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>