<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="http://feeds.qzone.qq.com/rss.xsl" version="1.0"?>
<rss version="2.0" xmlns:qz="http://qzone.qq.com">
<channel>
<title><![CDATA[╰ァ頽廢ゾㄒ]]></title>
<description><![CDATA[『黒慕極客工作室』--- 腾讯博客]]></description>
<link>http://79589149.qzone.qq.com</link>
<lastBuildDate>Wed, 25 Nov 2009 08:01:25 GMT</lastBuildDate>
<generator>Qzone</generator>
<language>zh-cn</language>
<copyright>Copyright (C), 2005-2008, Tencent Tech. Co., Ltd.</copyright>
<pubDate>Sat, 21 Nov 2009 11:26:22 GMT</pubDate>

<item>
<title><![CDATA[给易语言爱好者的建议]]></title>
<link>http://79589149.qzone.qq.com/blog/1258802782</link>
<description><![CDATA[如果你真相学E语言。请认真看完...   <br>==========================================================================<br>                如果你是一个刚接触易语言或者是一个连编程都没有接触过的顶级菜鸟、超级新手的话，那么你千万不要错过以下的内容哦！！ <br>以下内容是“易语言菜鸟之家”结合了众多新手朋友们的困惑和疑问而整理出的经典问题集，如果你刚接触易语言，还不知道自己如何入门，不清楚自己如何去学习这们编程语言，或者你对编程一窍不通的话，看了以下的内容，应该可以让你找到自己的入门路口！ <br>1、什么是易语言？它和VB、C语言、C++等有什么区别和相同点？ 答：易语言是中国人自己开发的一种编程语言，是一款全中文程序代码的编程语言，和VB、C语言、C++、C#等都属于同一性质，都是用来开发程序和编写软件用的。易语言的内核由C++编写而成，与前面说的几种语言一样，都属于运行于操作系统平台上的高级编程语言。易语言与其他几种语言的不同点在于：易语言采用的是全中文的程序代码，不需要英语基础即可学习使用，和其他几种编程语言相比，易语言更简单易学，入门更快，编写软件变的更加简单化。 <br>2、什么是软件编程，应用程序与操作系统之间有什么关系？ <br>答：对于一个从来没有接触过编程的新手来说，这个问题显得很抽象，无法用准确的语言来表达，简单的可以理解为用相关的编程语言通过一系列的组合，设计出能够运行在操作系统上的相关应用程序，这个过程就是我们平时所听到的“程序设计”，或者说叫“编程”。易语言就属于为了实现“程序设计”而提供的一计算机编程语言。应用程序基于操作系统平台开发，与操作系统紧密结合，程序在开发过程中，用到了很多由操作系统直接提供的资源和功能。应用程序不需要关心硬件（CPU、内存等）如何工作，因为有操作系统在中间作为信息传递的平台，通常情况下，应用程序一但脱离了操作系统将无法与计算机硬件进行直接沟通，也就无法正常运行，作为应用程序与计算机硬件之间为沟通平台的操作系统，在其中扮演着重要的角色，它为应用程序的运行提供了平台支持，我们平时所使用的类似与QQ，迅雷这类应用程序，也必须依赖操作系统才能工作，一但脱离了widows系统，他们都将无法运行。 <br>▲注明：除了驱动级的程序以外（如硬件设备的驱动程序），通常的应用程序都是无法直接与计算机硬件进行沟通的，都必须将要做的工作先告诉给操作系统，然后再由操作系统告诉计算机硬件（CPU、内存等），才能完成一系列的操作。 <br>3、什么是“高级语言”？什么是“低级语言”？两者有什么区别？ <br>答：很多新手们对“高级语言”和“低级语言”这两个名词感到很陌生：到底什么样的编程语言才算是“高级”，而什么样的语言又算是“低级”呢？ <br>简单的可以这样理解： <br>能够直接运行在操作系统之上，不用关心硬件如何工作，将主要精力集中在程序的开发设计上的语言都称为高级语言。 <br>反过来，需要考虑到硬件如何工作，需要与计算机硬件进行直接沟通的语言则称为低级语言。如：汇编语言就是典型的与对硬件进行操作的低级语言。 <br>例如：VB、C#、C++、易语言、Delphi这些都属于高级语言。汇编则属于低级语言。 <br>4、什么是“面向过程”和“面向对象”，他们有什么区别？ <br>答：这两个概念性的词想必很多新人都不能很彻底的理解吧。举两个简单的例子来说明一下吧：比如你饿了，想吃面包，你可以自己找来面，找来鸡蛋，找来糖等等，然后自己一点点动手，做出来，放在烤箱里考熟，然后拿出来吃。这个可以理解为“面向过程”；但是你还有另外一种方法：就是你饿了，想吃面包，直接到商店里买来吃。这个就可以理解为“面向对象”。两者的最大区别就在于，“面向过程”需要了解程序运行时是如何操作，如何与系统沟通，通过什么步骤，什么方式来实现最终的目的，而“面向对象”则是不必关心程序在后台究竟是如何运行操作的，不用知道它在运行时才用了什么方式，调用了哪些资源，只为实现最终目的。由于“面向过程”的烦琐性，导致它开发效率十分缓慢，所以现在主流的编程方式都是“面向对象”，好处就在于可以让程序员快速的开发出需要的程序，但面向过程的好处也是有的，就是他可以开发一些比较底层的东西，这些东西有的是面向对象的开发所做不到的。 <br>易语言属于面向对象编程，程序员不需要关心程序的功能是如何实现的，也不关系程序是如何工作的，只要把精力放在如何“编写”程序的功能上就行了。 字串9 <br>C++、C#、VB、Delphi、易语言这些是面向对象，C语言是面向过程。 <br>5、我从来没有学过编程，该如何学习易语言，从如何入门？ <br>答：相信很多新手都为此感到十分困惑吧，确实，编程是一门对逻辑思维能力和判断能力要求都很高的计算机专业，在所有计算机专业中，应该算是最难的，如果你曾经对编程知识一点都没有了解的话，初次学习编程在思路上确实容易找不到方向，很多人都会很迷茫，不知道该从哪学起，不知道该如何入门，这也许是捆饶初学者的一个最大的问题。 <br>★注意★：如果你是我们这里所说的那种对编程没有任何基础的新人，请不要指望在学习易语言几天内能够开发出什么程序来，更不要指望自己能够在短期内达到什么样的水平，编程是一门越学内容越多的技术，你要摆正自己的学习心态，不要有错误的出发点。不要相信那些：不需要学习理论，直接写程序……这类的屁话，你如果连“变量”两个字都不知道是什么意思的话，你会发现直接写程序是不可能的，那样只会打击你初学时的自信心，让你产生畏惧感，最终放弃学习。越是没有基础，越要掌握基础的东西，这个道理在学习编程上更是如此。一些刚刚接触易语言的新人希望自己能够在短期内写出一个牛比的外挂，对这一点，可以肯定的告诉那些新手是不可能的，写外挂涉及到：封包破解、钩子截获、API调用、HOOK技术、内存读取等知识，而这些都属于比较高级的应用，想在短期内精通是不可能的。所以为了让你能够在初学时不至于对自己失去自信，请务必要从最基本最简单的东西学起，当你学会了简单的基础，逐渐向深入学习时，你就会发现：你曾经硬着头皮看的那些枯燥的理论是多么重要！ <br>再此，我本人结合自己与朋友之间的学习经验归纳出了以下几点建议，供那些还没有入门的新手们参考一下，结合自己的实际情况来一步步学习，直到找到正确的学习思路与入门路径。 <br>&lt;1&gt;先搞懂最前面讲的3个问题，搞清楚这些程序设计中最基本的概念性的知识，先对编程有一个清晰的认识，就好比你想做一道菜最起码要知道这些菜的名字是一样的。 <br>&lt;2&gt;把“可视化”、“数据库”、“面向对象”、“事件驱动”、“IDE集成开发环境”、“GUI图形用户界面”、“API”、“COM对象”、“编译器”、“跨平台”、“OCX组件”、“窗口与组件”等等这些我们在程序设计中经常听到的理论性名词的意思大概弄懂它，这也是帮助你看教程自学编程最起码的一点，这些专业性的名词和术语如果你不明白是什么意思的话，你在看一些网络上收集的教程时会摸不清头脑，感觉就像在听天书。相信这个现象不少新手朋友应该都接触过，我以前做网站学PHP的时候也遇到过这样的困惑。 <br>最好的学习方式，就是当你看到一些自己不懂的名词时，直接去百度搜索“什么是XXXX”，通常会有很多详细的答案可以供你学习参考。不一定要理解的十分透彻，但最起码你要知道这是个什么东西。 <br>&lt;3&gt;把程序中常见的一些概念性的东西搞懂后，你就可以尝试着在计算机上安装易语言的主程序(截止2007年10月19日，易语言最新版本为4.05 SP1版)来跟着初级教程尝试动手了。这里推荐新手朋友最开始看《十天学会易语言图解教程》或《易语言编程系统》(此教程是官方出售的65元的教程)这两份教程，因为这两份教程的开始部分都是最基础的，都是面向初学者的。新人可以跟着教程的第一章内容一点点学习，注意说下学习的方法，很多人看教程不喜欢看文字，只喜欢看实例，这是个很不好的习惯，文字部分的理论知识同样重要，请务必读遍教程中每一个内容，不要漏掉，这些最基本的基础内容如果漏掉不学的话，会直接影响到你后面学习深入的知识。 <br>★说明★：在学习写一些小的易程序前，要务必对“变量、常量、数据类型、赋值”这些基本概念搞清楚，以免遇到不懂的地方又摸不着头脑。 <br>&lt;4&gt;在看教程学习的过程中，不要错过教程里每一个实例，争取把教程中所讲到实例都自己再写一遍，不要因为有源代码就不去自己写，更不要认为简单就错过不练，再大的程序也是由这些简单的小语句组成的。 <br>&lt;5&gt;学会查看易语言所附带的即时帮助。在跟随教程学习的时候如果遇到了不懂的语法或者命令，可以按F1帮助键，并在易语言的状态栏中的“提示”面板中找到该知识点的相关帮助说明，还可以打开易语言的知识库文件(需要安装完整版的易语言，不建议使用精简版)，在里面查找相关的知识点，然后查看里面的说明帮助内容，并运行一下知识库所提供的实例文件，学习其中的知识点。 <br>5、易语言的功能是否强大？听说比C语言，C++这些语言相差很多？ <br>答：很多论坛和社区上都是拿易语言与其他语言做对比的评论，讨论易语言如何如何……不可否认的一点，易语言作为国人开发的一款中文编程语言，论功能的话，确实是没法跟C语言、C++、以及C#这些语言相比，基于支持库运行开发的机制导致易语言不可能会强过C语言这些产品。但是大家需要明白这样一点，单纯的讨论哪种语言功能强大，哪种语言能厉害、更牛B是没有意义的，为什么这样说，这是因为学习哪一种技术，哪一门语言要结合个人的实际应用，举个最简单的例子来说：如果你只是平时上班上街外出，普通的家用小轿车就可以满足你的需要，那么有必要给你一辆F1方程式赛车吗？一个打鱼的普通渔夫，需要用的着航空母舰吗？呵呵，学习编程也一样，如果你只是想编写普通的基于windows系统运行的应用程序，并且不想追究系统底层的工作运行方式，只为实现程序所需要的基本功能，那么可以肯定的告诉你易语言已经足够了，你完全没有必要去选择那些对新人犹如天书般的C语言或C++，当然，如果你是想做一些比较底层比较高级的开发，如：驱动级开发，编写硬件驱动程序等等，那么易语言确实做不到这一点，你就必须去选择功能更强大的C语言等等了。(◆学习易语言也可以作为学习其他语言的一种思维过度。◆) <br>易语言虽然胜任不了企业级的开发，但是编写普通的应用程序是完全没有问题的，强大可扩展的易语言支持库让易语言的功能 <br> <!--v:3.2--> ]]></description>
<category><![CDATA[个人日记]]></category>
<author><![CDATA[79589149@qq.com(╰ァ頽廢ゾㄒ)]]></author>
<comments>http://79589149.qzone.qq.com/blog/1258802782#comment</comments>
<qz:effect>134218242</qz:effect>
<pubDate>Sat, 21 Nov 2009 11:26:22 GMT</pubDate>
<guid>http://79589149.qzone.qq.com/blog/1258802782</guid>
</item>

<item>
<title><![CDATA[适合新手的易语言教程]]></title>
<link>http://79589149.qzone.qq.com/blog/1258802720</link>
<description><![CDATA[                               基本没有，中文的内核造成的最大的问题就是速度慢，效率低下，而现在任何程序都要讲求速度和稳定<br> <br>                性，易语言没有任何优势，但是作为中文编程语言的先河，以语言具有很大的研究和学习价值 <br>                                ========================================= <br>                                                 如果只是数据库的方面的话 <br>                                        大约1个月,(一点底子都没有的人) <br>                                             有底子的只要3天 <br><br>                                   舍弃浮躁, 28条重要的易语言学习建议 <br>                         其实，学什么语言都好，只要你学得好，学得精！这才是最重要的！ <br>                                给那些在编程里迷失方向的人，指一条明路！ <br>              1.不要放过任何一个看上去很简单的小编程问题——他们往往并不那么简单，或者可以引伸出很多知识点； <br>          2.如果不是天才的话，想学编程就不要想玩游戏——你以为你做到了，其实你的 易语言 水平并没有和你通关的能力一起变高——其实可以时刻记住： <br>                      3.浮躁的人容易说：XX语言不行了，应该学YY；——是你自己不行了吧！？ <br>                           4.浮躁的人容易问：我到底该学什么；——别问，学就对了； <br>                                 5.浮躁的人容易问：XX有钱途吗；——建议你去抢银行； <br>                        6.浮躁的人容易问：XX和YY哪个好；——告诉你吧，都好——只要你学就行； <br>                           7.浮躁的人分两种：a)只观望而不学的人；b)只学而不坚持的人； <br>                              8.把时髦的技术挂在嘴边，还不如把过时的技术记在心里； <br>                                    9.学习编程最好的方法之一就是阅读源代码； <br>                                 10.在任何时刻都不要认为自己手中的书已经足够了； <br>                              11.看得懂的书，请仔细看；看不懂的书，请硬着头皮看； <br>                           12.别指望看第一遍书就能记住和掌握什么——请看第二遍、第三遍； <br>                  13.和别人一起讨论有意义的 易语言 知识点，而不是争吵XX行不行或者YY与ZZ哪个好； <br>               14.请不要认为学过XX语言再改学 易语言 会有什么问题——你只不过又在学一门全新的语言而已； <br>                                 15.学习编程的秘诀是：编程，编程，再编程； <br>                       16.请把书上的程序例子亲手输入到电脑上实践，即使配套光盘中有源代码； <br>                                 17.把在书中看到的有意义的例子扩充； <br>                    18.经常回顾自己以前写过的程序，并尝试重写，把自己学到的新知识运用进去；<br>                           19.不要漏掉书中任何一个练习题——请全部做完并记录下解题思路； <br>         20.既然决定了学 易语言 ,就请坚持学下去，因为学习程序设计语言的目的是掌握程序设计技术，而程序设计技术是跨语言的； <br>   21.当你写 易语言 程序写到一半却发现自己用的方法很拙劣时，请不要马上停手；请尽快将余下的部分粗略的完成以保证这个设计的完整性，然后分析自己的错误并重新设计和编写； <br>                   22.决不要因为程序“很小”就不遵循某些你不熟练的规则——好习惯是培养出来的，而不是一次记住的； <br>              23.每学到一个 易语言 难点的时候，尝试着对别人讲解这个知识点并让他理解——你能讲清楚才说明你真的理解了； <br>                               24.记录下在和别人交流时发现的自己忽视或不理解的知识点； <br>                    25.请不断的对自己写的程序提出更高的要求,哪怕你的程序版本号会变成Version 100.XX； <br>                                  26.保存好你写过的所有的程序——那是你最好的积累之一； <br>                                        27.把 易语言 当成一门新的语言学习； <br>                                               28.请不要做浮躁的人； <br>            其实学习易语言并不难，只有你有决心，耐心、信心、恒心，我相信,你一定能学好的,请大家铭记在心！<br><br> <!--v:3.2--> ]]></description>
<category><![CDATA[个人日记]]></category>
<author><![CDATA[79589149@qq.com(╰ァ頽廢ゾㄒ)]]></author>
<comments>http://79589149.qzone.qq.com/blog/1258802720#comment</comments>
<qz:effect>134218242</qz:effect>
<pubDate>Sat, 21 Nov 2009 11:25:20 GMT</pubDate>
<guid>http://79589149.qzone.qq.com/blog/1258802720</guid>
</item>

<item>
<title><![CDATA[致兄弟，朋友们！]]></title>
<link>http://79589149.qzone.qq.com/blog/1258464980</link>
<description><![CDATA[ <br><span style="font-size:24px;font-family:'楷体_GB2312';line-height:1.8em;">  各位兄弟，朋友们：</span><wbr /><br><span style="font-size:24px;font-family:'楷体_GB2312';line-height:1.8em;">       由于我最近一直在做软件开发，忽略了很多的朋友，还有兄弟都有点生气！但是为了我的梦想我一直很努力！</span><wbr /><br><span style="font-size:24px;line-height:1.8em;"><span style="font-family:'楷体_GB2312';line-height:1.8em;">      我现在正在</span><wbr /><span style="font-family:'Arial';line-height:1.8em;"><span style="color:#ff0033;line-height:1.8em;"><span style="filter: glow(color=#FF0033,strength=3);color:#FFFFFF;display:inline-block;line-height:1.8em;">开发聊天室系统</span><wbr /></span><wbr /></span><wbr /><span style="font-family:'楷体_GB2312';line-height:1.8em;">，</span><wbr /><span style="filter: glow(color=#CCCC33,strength=3);color:#FFFFFF;display:inline-block;line-height:1.8em;">系统正在制作中</span><wbr /><span style="font-family:'楷体_GB2312';line-height:1.8em;">，但是不确定什么时候能完成，完成后一定将跟各位朋友推荐！唯一的缺点就是有点仿QQ官方登陆！</span><wbr /></span><wbr /><br><span style="font-size:24px;font-family:'楷体_GB2312';line-height:1.8em;">       <wbr /><a href="http://b25.photo.store.qq.com/http_imgload.cgi?/rurl4_b=571cfd05d084f83c20c7cb7d3a83c1c576fe8769dfa22a4ea30d26b33ef16d2099c2745a794dbc30bcf5c77dc513fa2d1f8c1f1b6713db537886b21fa79a9067f7ce884e36f0be7685e6fe656b93e8eaea65ecf6&amp;a=25&amp;b=25" target="_blank"><img style="width:332px;height:254px;border:0;" src="http://b25.photo.store.qq.com/http_imgload.cgi?/rurl4_b=571cfd05d084f83c20c7cb7d3a83c1c576fe8769dfa22a4ea30d26b33ef16d2099c2745a794dbc30bcf5c77dc513fa2d1f8c1f1b6713db537886b21fa79a9067f7ce884e36f0be7685e6fe656b93e8eaea65ecf6&amp;a=25&amp;b=25" /></a><wbr /><br>    说实在的话我真的很忙，根本就没有多少时间跟你们聊天！ 希望你们能了解！有什么事情到家在说吧 </span><wbr /><br> <br><span style="font-size:24px;font-family:'楷体_GB2312';line-height:1.8em;">                请支持本工作室（黒慕極客工作室）！</span><wbr /><br><span style="font-size:24px;font-family:'楷体_GB2312';line-height:1.8em;"></span><wbr /> <br><span style="font-size:24px;font-family:'楷体_GB2312';line-height:1.8em;">                硬盘 <a href="http://BMG.ys168.com/" target="_blank">http://BMG.ys168.com/</a><wbr /></span><wbr /><br><span style="font-size:24px;font-family:'楷体_GB2312';line-height:1.8em;">               </span><wbr /><br><span style="font-size:24px;font-family:'楷体_GB2312';line-height:1.8em;">                客服QQ:1055538489(有事留言！)</span><wbr /> <!--v:3.2--> ]]></description>
<category><![CDATA[个人日记]]></category>
<author><![CDATA[79589149@qq.com(╰ァ頽廢ゾㄒ)]]></author>
<comments>http://79589149.qzone.qq.com/blog/1258464980#comment</comments>
<qz:effect>142606867</qz:effect>
<pubDate>Tue, 17 Nov 2009 13:36:20 GMT</pubDate>
<guid>http://79589149.qzone.qq.com/blog/1258464980</guid>
</item>

<item>
<title><![CDATA[免费开通QQ牧场非黄钻开通QQ牧场方法！（欢迎转载）]]></title>
<link>http://79589149.qzone.qq.com/blog/1258361307</link>
<description><![CDATA[<span style="color:#FF33CC;line-height:1.8em;"><span style="font-size:32px;line-height:1.8em;">1.首先要登入要开的QQ空间</span><wbr /> </span><wbr /><br><span style="color:#FF0099;line-height:1.8em;">   然后在地址栏输入</span><wbr /><br><span style="font-size:24px;font-family:'xiaohua';line-height:1.8em;">            <a href="http://user.qzone.qq.com/" target="_blank"><span style="font-size:32px;font-family:'楷体_GB2312';line-height:1.8em;">http://user.qzone.qq.com/</span><wbr /></a><wbr /></span><wbr /><span style="color:#660066;line-height:1.8em;"><span style="font-size:32px;line-height:1.8em;">自己的QQ号/myhome/358</span><wbr />   </span><wbr /><br><span style="color:#660066;line-height:1.8em;"> <br><span style="font-size:32px;line-height:1.8em;">例如要开通 79589149 QQ牧场 那就需要输入</span><wbr />  <br> <br><a href="http://user.qzone.qq.com/79589149/myhome/358" target="_blank"><span style="font-size:24px;line-height:1.8em;">http://user.qzone.qq.com/79589149/myhome/358</span><wbr /></a><wbr /><br> <br><span style="font-size:32px;line-height:1.8em;">同时还要登陆你的校友帐号 (</span><wbr /><a href="http://xiaoyou.qq.com/" target="_blank"><span style="font-size:32px;line-height:1.8em;">http://xiaoyou.qq.com</span><wbr /></a><wbr /><span style="font-size:32px;line-height:1.8em;"> 登陆你的QQ校友)</span><wbr /><br><span style="font-size:32px;line-height:1.8em;">2.然后复制以下网站地址到地址栏里</span><wbr /><br> <br><a href="http://xiaoyou.qq.com/index.php?mod=frame&amp;width=1&amp;frame=http%3A%2F%2Fhappyfarm.xiaoyou.qq.com%2F%3Fact%3Dadd%26app%3Dmc%26key%3D8269143_c48b982499a32a4e292618a6011a1075_137557553" target="_blank">http://xiaoyou.qq.com/index.php?mod=frame&amp;width=1&amp;frame=http%3A%2F%2Fhappyfarm.xiaoyou.qq.com%2F%3Fact%3Dadd%26app%3Dmc%26key%3D8269143_c48b982499a32a4e292618a6011a1075_137557553</a><wbr /><br> <br></span><wbr /><span style="color:#000033;line-height:1.8em;"><span style="font-size:32px;line-height:1.8em;">3.然后点确认 (可能有时候会名额满,那么明天继续</span><wbr />..)</span><wbr /><br><span style="color:#000033;line-height:1.8em;"><wbr /><a href="http://b25.photo.store.qq.com/http_imgload.cgi?/rurl4_b=571cfd05d084f83c20c7cb7d3a83c1c54ac5c15acd9094ac1f4d41815cff46996defe9fffe900de74b4f4846a704fcc9bc01ca1eafdc6bb14ef71748cfe817c86665248401ec0db01094b64ceead4352e9bd40ee&amp;a=25&amp;b=25" target="_blank"><img style="width:352px;height:182px;border:0;" src="http://b25.photo.store.qq.com/http_imgload.cgi?/rurl4_b=571cfd05d084f83c20c7cb7d3a83c1c54ac5c15acd9094ac1f4d41815cff46996defe9fffe900de74b4f4846a704fcc9bc01ca1eafdc6bb14ef71748cfe817c86665248401ec0db01094b64ceead4352e9bd40ee&amp;a=25&amp;b=25" /></a><wbr /><br><wbr /><a href="http://b10.photo.store.qq.com/http_imgload.cgi?/rurl4_b=571cfd05d084f83c20c7cb7d3a83c1c5f472f9db4f8a5bf213e45aaa148b20dd42d35e8d36bddcfb0987b7b8e46578f98b27472d962289884530e2c4f8c9477a6963203e7dc6ca15929c2a7f74c238cdd387092a&amp;a=25&amp;b=10" target="_blank"><img style="width:361px;height:142px;border:0;" src="http://b10.photo.store.qq.com/http_imgload.cgi?/rurl4_b=571cfd05d084f83c20c7cb7d3a83c1c5f472f9db4f8a5bf213e45aaa148b20dd42d35e8d36bddcfb0987b7b8e46578f98b27472d962289884530e2c4f8c9477a6963203e7dc6ca15929c2a7f74c238cdd387092a&amp;a=25&amp;b=10" /></a><wbr /><br></span><wbr /><br><span style="color:#FF0099;line-height:1.8em;">更多的QQ资讯请关注本空间！</span><wbr /> <!--v:3.2--> ]]></description>
<category><![CDATA[空间技术]]></category>
<author><![CDATA[79589149@qq.com(╰ァ頽廢ゾㄒ)]]></author>
<comments>http://79589149.qzone.qq.com/blog/1258361307#comment</comments>
<qz:effect>134218259</qz:effect>
<pubDate>Mon, 16 Nov 2009 08:48:27 GMT</pubDate>
<guid>http://79589149.qzone.qq.com/blog/1258361307</guid>
</item>

<item>
<title><![CDATA[易語言簡易代碼（20）]]></title>
<link>http://79589149.qzone.qq.com/blog/1257644101</link>
<description><![CDATA[动态创建窗口单元：<br>到目前为止，我们在程序中所使用的窗口单元都是在设计时加进去的，有没有办法可以在运行时动态加入窗口单元呢？ <br>    请大家先在系统中阅读一下“其他”类中的“取事件单元”、“事件转移”、“复制窗口单元”三个命令的详细解释。<br>    我们这个程序能够根据操作者所提供的输入项的数目来自动创建相应数目的编辑框：<br>    1、新建程序后在<span style="font-weight:bold"><wbr />_启动窗口</span><wbr />中加入标签、编辑框各一个。将标签的“标题”属性设置为“输入项的数目（1 - 5）：”，编辑框的“输入方式”属性设置为“整数输入”。布局方式为：标签与编辑框位于同一行，放在窗口顶部，标签在左；<br>    2、由于我们希望当操作者在<span style="font-weight:bold"><wbr />编辑框1</span><wbr />内输入一个数值并按下回车后能够马上创建出对应数目的新标签和新编辑框，所以我们必须处理<span style="font-weight:bold"><wbr />编辑框1</span><wbr />的“字符输入”事件以截获操作者键入的回车。现在请选中<span style="font-weight:bold"><wbr />编辑框1</span><wbr />后加入该事件的处理子程序；<br>    3、在<span style="font-weight:bold"><wbr />窗口程序集1</span><wbr />中加入以下程序集容器：<br>容器名类型数组备注提示标签标签0<span style="color:#008000;line-height:1.8em;">数组属性为 0 表示将动态建立成员</span><wbr />输入编辑框编辑框0<br>    4、在我们在第 2 步所加入的<span style="font-weight:bold"><wbr />_编辑框1_字符输入</span><wbr />子程序中作以下输入：<br>    &lt;1&gt;、加入以下容器：<br>容器名类型静态数组备注当前编辑框编辑框编辑框数目整数型容器1整数型容器2整数型<br>    &lt;2&gt;、输入以下语句：<br>        如果真 (字符代码 ≠ #回车键)     <span style="color:#008000;line-height:1.8em;">检查是否键入了回车键</span><wbr /><br>            返回 (字符代码)     <span style="color:#008000;line-height:1.8em;">如果没有就直接返回</span><wbr /><br><span style="font-style:italic"><wbr />        &lt;如果真结束&gt;<br></span><wbr />        当前编辑框 ＝ 取事件单元 ()     <span style="color:#008000;line-height:1.8em;">由于所有被创建出来的编辑框的事件都会传递到此事件处理子程序，因此首先取出按下回车键时的实际编辑框。</span><wbr /><br>        如果 (当前编辑框 ＝ 编辑框1)     <span style="color:#008000;line-height:1.8em;">如果在<span style="font-weight:bold"><wbr />编辑框1</span><wbr />内按下回车键，则去进行创建编辑框处理。</span><wbr /><br>            编辑框数目 ＝ 取数组成员数 (输入编辑框)    <span style="color:#008000;line-height:1.8em;">取出先前已经创建出来的编辑框数目</span><wbr /><br>            编辑框1.被选择字符数 ＝ -1    <span style="color:#008000;line-height:1.8em;">将<span style="font-weight:bold"><wbr />编辑框1</span><wbr />内的所有内容选中，以方便下次直接输入。</span><wbr /><br>            计次循环首 (编辑框数目, 容器1)    <span style="color:#008000;line-height:1.8em;">销毁先前创建出来的所有标签和编辑框</span><wbr /><br>                提示标签 [容器1].销毁 ()<br>                输入编辑框 [容器1].销毁 ()<br>            计次循环尾 ()<br>            编辑框数目 ＝ 文本到数值 (编辑框1.内容)    <span style="color:#008000;line-height:1.8em;">取回操作者所输入的项目数目</span><wbr /><br>            如果真 (编辑框数目 ＜ 1 或 编辑框数目 ＞ 5)    <span style="color:#008000;line-height:1.8em;">判断项目数目是否有效</span><wbr /><br>                清除数组 (提示标签)    <span style="color:#008000;line-height:1.8em;">如果无效则清除以前的所有记录数据并提示操作者</span><wbr /><br>                清除数组 (输入编辑框)<br>                信息框 (“项目数目必须在 1 - 5 之间”, 0, )<br>                返回 (字符代码)<br><span style="font-style:italic"><wbr />            &lt;如果真结束&gt;<br></span><wbr />            重定义数组 (提示标签, 假, 编辑框数目)    <span style="color:#008000;line-height:1.8em;">准备对应数目的空间以存储创建出来的标签和编辑框</span><wbr /><br>            重定义数组 (输入编辑框, 假, 编辑框数目)<br>            计次循环首 (编辑框数目, 容器2)<br>                容器1 ＝ 编辑框数目 ＋ 1 － 容器2    <span style="color:#008000;line-height:1.8em;">倒序创建，以支持 TAB 键操作顺序</span><wbr />。<br>                复制窗口单元 (标签1, 提示标签 [容器1])    <span style="color:#008000;line-height:1.8em;">创建新标签</span><wbr /><br>                复制窗口单元 (编辑框1, 输入编辑框 [容器1])    <span style="color:#008000;line-height:1.8em;">创建新编辑框</span><wbr /><br>                提示标签 [容器1].标题 ＝ “请输入第 ” ＋ 到文本 (容器1) ＋ “ 项：”     <span style="color:#008000;line-height:1.8em;">设置标签的标题</span><wbr /><br>                提示标签 [容器1].顶边 ＝ 标签1.顶边 ＋ (标签1.高度 ＋ 10) × 容器1     <span style="color:#008000;line-height:1.8em;">设置标签的位置</span><wbr /><br>                提示标签 [容器1].可视 ＝ 真   <span style="color:#008000;line-height:1.8em;">将新的标签显示出来</span><wbr /><br>                输入编辑框 [容器1].输入方式 ＝ 0    <span style="color:#008000;line-height:1.8em;">将编辑框的输入方式还原为“通常方式”</span><wbr /><br>                输入编辑框 [容器1].顶边 ＝ 编辑框1.顶边 ＋ (编辑框1.高度 ＋ 10) × 容器1     <span style="color:#008000;line-height:1.8em;">设置编辑框的位置</span><wbr /><br>                输入编辑框 [容器1].标记 ＝ 到文本 (容器1)    <span style="color:#008000;line-height:1.8em;">为新建的编辑框加上标记</span><wbr /><br>                输入编辑框 [容器1].可视 ＝ 真    <span style="color:#008000;line-height:1.8em;">将新的编辑框显示出来</span><wbr /><br>            计次循环尾 ()<br><span style="font-style:italic"><wbr />        &lt;否则&gt;    </span><wbr /><span style="color:#008000;line-height:1.8em;">如果是在创建出来的编辑框内输入，则进行提示</span><wbr /><span style="font-style:italic"><wbr /><br></span><wbr />            信息框 (“在第 ” ＋ 当前编辑框.标记 ＋ “ 项上输入了内容” ＋ #左引号 ＋ 当前编辑框.内容 ＋ #右引号, 0, )<br><span style="font-style:italic"><wbr />        &lt;如果结束&gt;<br></span><wbr /><br>    运行该程序，在编辑框内分别输入 1 - 5 后回车，查看效果。在创建出来的编辑框内输入文本后回车，查看效果。<br>---------------------------------<br>    总结：<br>    1、使用“复制窗口单元”命令可以动态创建出某窗口单元的副本，该副本除了“可视”属性被自动设置为假外（以便于进行调整），其它属性与原窗口单元完全一致；<br>    2、所创建出来的窗口单元的所有事件都将发送到原窗口单元上，原窗口单元的事件处理子程序必须能够处理此情况；<br>    3、在事件处理子程序中使用“取事件单元”命令可以取回事件产生时的实际窗口单元。 <!--v:3.2--> ]]></description>
<category><![CDATA[个人日记]]></category>
<author><![CDATA[79589149@qq.com(╰ァ頽廢ゾㄒ)]]></author>
<comments>http://79589149.qzone.qq.com/blog/1257644101#comment</comments>
<qz:effect>134218256</qz:effect>
<pubDate>Sun, 08 Nov 2009 01:35:01 GMT</pubDate>
<guid>http://79589149.qzone.qq.com/blog/1257644101</guid>
</item>

<item>
<title><![CDATA[易語言簡易代碼（19）]]></title>
<link>http://79589149.qzone.qq.com/blog/1257644071</link>
<description><![CDATA[字节集：<br><span style="font-family:'宋体';line-height:1.8em;">字节集用作记录一段字节型数据。字节集与字节数组较相似，字节数组的使用方法，譬如用中括号对（“[]”）加索引数值引用字节成员，也可以被字节集所使用。两者之间最大的不同是字节集可以变长。另外，与文本数据一样，多个字节集之间也可以使用相加命令连接为一个字节集。</span><wbr /> <br>    下面我们一起来写一个程序，它能够读出并显示指定文件首部的 100 个字节。<br>    我们准备使用一个多行只读编辑框来显示字节数据，为了让操作者能够指定文件，还需要一个通用对话框和一个按钮。<br>    1、请新建一个程序，在<span style="font-weight:bold"><wbr />_启动窗口</span><wbr />中分别加入编辑框、按钮、通用对话框窗口单元各一个，将编辑框的“是否允许多行”属性设置为真，“输入方式”属性设置为“只读方式”，将按钮的“标题”属性改为“选择文件(&amp;F)”，“类型”属性改为“默认”，以便操作者按下回车键时能够选择文件。<br>    2、双击“选择文件”按钮，在<span style="font-weight:bold"><wbr />_按钮1_被单击</span><wbr />子程序中作以下输入：<br>    &lt;1&gt;、加入以下容器：<br>容器名类型静态数组备注字节数据字节集文件句柄整数型数据长度整数型容器1整数型文本容器文本型<br>    &lt;2&gt;、输入以下语句：<br>        编辑框1.内容 ＝ “”     <span style="color:#008000;line-height:1.8em;">首先将编辑框的原有内容清空。</span><wbr /><br>        如果真 (通用对话框1.打开 ())     <span style="color:#008000;line-height:1.8em;">检查操作者是否选择了有效的文件名。</span><wbr /><br>            文件句柄 ＝ 打开文件 (通用对话框1.文件名, , )    <span style="color:#008000;line-height:1.8em;">打开该文件。</span><wbr /><br>            如果真 (文件句柄 ≠ 0)    <span style="color:#008000;line-height:1.8em;">检查是否打开成功。</span><wbr /><br>                字节数据 ＝ 读入字节集 (文件句柄, 100)    <span style="color:#008000;line-height:1.8em;">读入首部的 100 字节。</span><wbr /><br>                数据长度 ＝ 取字节集长度 (字节数据)    <span style="color:#008000;line-height:1.8em;">由于有些文件可能没有 100 字节，在此处获取实际所读入的字节数。</span><wbr /><br>              计次循环首 (数据长度, 容器1)<br>                    文本容器 ＝ 文本容器 ＋ 到文本 (字节数据 [容器1]) ＋ “, ”    <span style="color:#008000;line-height:1.8em;">将每个字节转换为文本后加入到文本容器中去。</span><wbr /><br>                计次循环尾 ()<br>                编辑框1.内容 ＝ 文本容器<br>                关闭文件 (文件句柄)    <span style="color:#008000;line-height:1.8em;">注意成功打开文件之后必须将其关闭。</span><wbr /><br><span style="font-style:italic"><wbr />            &lt;如果真结束&gt;<br>        &lt;如果真结束&gt;<br></span><wbr /><br>    最后，告诉大家两个操作技巧：<br>    1、如果您不大习惯易程序编辑时所画的方框图，请使用“程序-&gt;系统配置-&gt;程序显示-&gt;自动配置为紧凑布局”菜单功能就可以了；<br>    2、如果您认为在使用容器之前要先定义该容器比较麻烦，请选中“程序-&gt;系统配置-&gt;输入-&gt;输入错误语句后询问”，此后系统将自动为您添加容器。 <!--v:3.2--> ]]></description>
<category><![CDATA[个人日记]]></category>
<author><![CDATA[79589149@qq.com(╰ァ頽廢ゾㄒ)]]></author>
<comments>http://79589149.qzone.qq.com/blog/1257644071#comment</comments>
<qz:effect>134218256</qz:effect>
<pubDate>Sun, 08 Nov 2009 01:34:31 GMT</pubDate>
<guid>http://79589149.qzone.qq.com/blog/1257644071</guid>
</item>

<item>
<title><![CDATA[易語言簡易代碼（18）]]></title>
<link>http://79589149.qzone.qq.com/blog/1257644036</link>
<description><![CDATA[窗口单元的事件<br>1、新建程序后在<span style="font-weight:bold"><wbr />_启动窗口</span><wbr />中加入列表框、标签、编辑框、按钮各一个，将标签的<span style="font-weight:bold"><wbr />标题</span><wbr />属性设置为“请输入当前中文含义所对应的英文单词：”，<span style="font-weight:bold"><wbr />边框</span><wbr />属性置为“浅凹入式”。布局方式为列表框在上，标签、编辑框、按钮在下，其中标签在编辑框的上面，按钮在标签和编辑框的右边；<br>    2、双击<span style="font-weight:bold"><wbr />_启动窗口</span><wbr />中的空白处，跳转到<span style="font-weight:bold"><wbr />窗口程序集1</span><wbr />，定义<span style="font-weight:bold"><wbr />中文含义、英文单词</span><wbr />、<span style="font-weight:bold"><wbr />已输入单词</span><wbr />三个文本型程序集容器，将它们的数组属性都置为 5 。<br>    3、双击<span style="font-weight:bold"><wbr />列表框1</span><wbr />，在<span style="font-weight:bold"><wbr />_列表框1_列表项被选择</span><wbr />子程序中输入以下语句：<br>        如果真 (列表框1.现行选中项 ≥ 0)<br>            编辑框1.内容 ＝ 已输入单词 [列表框1.现行选中项 ＋ 1]<br><span style="font-style:italic"><wbr />        &lt;如果真结束&gt;<br></span><wbr />        编辑框1.被选择字符数 ＝ -1<br><span style="color:#008000;line-height:1.8em;">            选中<span style="font-weight:bold"><wbr />编辑框1</span><wbr />中的所有字符，以便于修改。<br></span><wbr />        编辑框1.获取焦点 ()<br><span style="color:#008000;line-height:1.8em;">            将输入焦点转移到<span style="font-weight:bold"><wbr />编辑框1</span><wbr />，以便可以直接输入单词。<br></span><wbr /><br>    4、在<span style="font-weight:bold"><wbr />__启动窗口_创建完毕</span><wbr />子程序中加入一个名为<span style="font-weight:bold"><wbr />容器1</span><wbr />的整数型容器后输入以下语句：<br>        中文含义 ＝ { “书本”, “课桌”, “朋友”, “学校”, “家” }<br>        英文单词 ＝ { “book”, “desk”, “friend”, “school”, “home” }<br><span style="color:#008000;line-height:1.8em;">            初始化数组数据。<br></span><wbr />        计次循环首 (取数组成员数 (中文含义), 容器1)<br>            列表框1.加入项目 (中文含义 [容器1], )<br><span style="color:#008000;line-height:1.8em;">                将所有欲测试单词的中文含义加入到列表框中。</span><wbr /><br>        计次循环尾 ()<br>        列表框1.现行选中项 ＝ 0<br>            <span style="color:#008000;line-height:1.8em;">默认选中列表框的第一项。</span><wbr /><br>        _列表框1_列表项被选择 ()<br>    5、选中<span style="font-weight:bold"><wbr />编辑框1</span><wbr />，在其属性表下方的组合框中选择“字符输入”，在被建立的<span style="font-weight:bold"><wbr />_编辑框1_字符输入</span><wbr />子程序中进行以下输入：<br>    &lt;1&gt;、加入一个名为<span style="font-weight:bold"><wbr />文本容器</span><wbr />的文本型容器和一个名为<span style="font-weight:bold"><wbr />现行选中项</span><wbr />的整数型容器；<br>    &lt;2&gt;、输入以下语句：<br>        现行选中项 ＝ 列表框1.现行选中项<br>        如果真 (现行选中项 ≥ 0 且 字符代码 ＝ #回车键)<br>            文本容器 ＝ 到小写 (删全部空 (编辑框1.内容))<br>            已输入单词 [现行选中项 ＋ 1] ＝ 文本容器<br>            列表框1.置项目文本 (现行选中项, 中文含义 [现行选中项 ＋ 1] ＋ “ ” ＋ 文本容器)<br>            如果真 (现行选中项 ＜ 取数组成员数 (中文含义))<br>                列表框1.现行选中项 ＝ 现行选中项 ＋ 1<br>                    <span style="color:#008000;line-height:1.8em;">自动下移一项。</span><wbr /><br>                _列表框1_列表项被选择 ()<br><span style="font-style:italic"><wbr />            &lt;如果真结束&gt;<br>        &lt;如果真结束&gt;<br></span><wbr /><br>    6、最后，双击<span style="font-weight:bold"><wbr />按钮1</span><wbr />，在<span style="font-weight:bold"><wbr />_按钮1_被单击</span><wbr />子程序中进行以下输入：<br>    &lt;1&gt;、加入以下容器：<br>容器名类型静态数组备注总共题数整数型错误题数整数型信息文本型容器1整数型<br>    &lt;2&gt;、顺序输入以下语句：<br><span style="font-style:italic"><wbr />        </span><wbr />总共题数 ＝ 取数组成员数 (中文含义)<br><span style="font-style:italic"><wbr />        </span><wbr />计次循环首 (总共题数, 容器1)<br><span style="font-style:italic"><wbr />        </span><wbr />    如果真 (英文单词 [容器1] ≠ 已输入单词 [容器1])<br><span style="font-style:italic"><wbr />        </span><wbr />        错误题数 ＝ 错误题数 ＋ 1<br><span style="font-style:italic"><wbr />        </span><wbr />        信息 ＝ 信息 ＋ #左引号 ＋ 中文含义 [容器1] ＋ #右引号 ＋ “的正确英文单词为：” ＋ #左引号 ＋ 英文单词 [容器1] ＋ #右引号 ＋ #换行符<br><span style="font-style:italic"><wbr />        </span><wbr />    如果真结束<br><span style="font-style:italic"><wbr />        </span><wbr />计次循环尾 ()<br><span style="font-style:italic"><wbr />        </span><wbr />信息框 (“共答错 ” ＋ 到文本 (错误题数) ＋ “ 题，得分为： ” ＋ 到文本 ((总共题数 － 错误题数) × 100 ÷ 总共题数) ＋ #换行符 ＋ #换行符 ＋ 信息, 0, )<br><span style="font-style:italic"><wbr />        </span><wbr />销毁 ()<br>    至此为止，我们的这个程序就编写完毕了，您可以对其进行改进，以更适合您的要求。<br>-----------------------<br>    总结：<br>    1、欲为窗口单元的某一个事件加入事件处理子程序，选中它后在其属性表底部的组合框中选择对应的事件名称即可；<br>    2、每个窗口单元都有一个默认事件，譬如<span style="font-weight:bold"><wbr />窗口</span><wbr />的“创建完毕”，<span style="font-weight:bold"><wbr />按钮</span><wbr />的“被单击”等等，直接双击窗口单元将自动加入默认事件的处理子程序。<br>    3、不要对事件处理子程序的名称、返回值、参数定义作任何修改，修改后将导致系统不能将事件传递到该子程序；<br>    4、事件处理子程序参数的数据由系统在调用时自动提供；<br>    5、事件处理子程序可以象普通子程序一样被其它程序行调用。 <!--v:3.2--> ]]></description>
<category><![CDATA[个人日记]]></category>
<author><![CDATA[79589149@qq.com(╰ァ頽廢ゾㄒ)]]></author>
<comments>http://79589149.qzone.qq.com/blog/1257644036#comment</comments>
<qz:effect>134218256</qz:effect>
<pubDate>Sun, 08 Nov 2009 01:33:56 GMT</pubDate>
<guid>http://79589149.qzone.qq.com/blog/1257644036</guid>
</item>

<item>
<title><![CDATA[易語言簡易代碼（17）]]></title>
<link>http://79589149.qzone.qq.com/blog/1257643995</link>
<description><![CDATA[Dll命令<br><span style="color:#008000;line-height:1.8em;">首先声明：本章内容只适合对 Windows 系统的 API 函数有所了解的中级用户，初级用户可以跳过本章。</span><wbr /> <br>    在上一章的程序中，我们定义了两个 Dll 命令：俘获鼠标、释放鼠标，它们所对应的 Windows API 函数分别为 SetCapture 和 ReleaseCapture 。在程序中使用这两个 API 函数可以保证当鼠标移到<span style="font-weight:bold"><wbr />画板1</span><wbr />外面时，<span style="font-weight:bold"><wbr />画板1</span><wbr />仍然能够接收到鼠标事件。<br>    请新建一个程序，我们来继续了解有关 Dll 命令的其它情况。<br>    1、插入一个自定义数据类型，将其名称改为“矩形”，为其增加左边、上边、右边、下边四个整数型成员；<br>    2、插入一个 Dll 命令，将其名称改为“取窗口当前位置”，返回值设置为逻辑型，在“本Dll命令在Dll库中的对应命令名”栏中输入“GetWindowRect”，然后加入一个名为“窗口句柄”的整数型参数和一个名为“返回位置”的矩形型参数；<br>    3、插入一个 Dll 命令，将其名称改为“取系统目录”，返回值设置为整数型，在对应命令名栏中输入“GetWindowsDirectoryA”，然后加入一个名为“返回文本储存区”的文本型参数和一个名为“文本储存区尺寸”的整数型参数；<br>    4、继续插入一个 Dll 命令，将其名称改为“取键盘速度”，返回值设置为逻辑型，在对应命令名栏中输入“SystemParametersInfoA”，然后顺序加入四个名称分别为“查询动作”、“查询参数”、“返回数据”、“更新标志”的整数型参数，并将“返回数据”参数的<span style="font-weight:bold"><wbr />传址</span><wbr />属性设置为真；<br>    5、在<span style="font-weight:bold"><wbr />_启动窗口</span><wbr />中加入一个按钮，双击它，在<span style="font-weight:bold"><wbr />_按钮1_被单击</span><wbr />子程序中加入一个名为“文本容器”的文本型容器、一个名为“容器1”的整数型容器、一个名为“容器2”的整数型容器、一个名为“窗口位置”的矩形型容器；<br>    6、输入以下语句：<br>        文本容器 ＝ 取空白文本 (260)<br>        容器1 ＝ 取系统目录 (文本容器, 取文本长度 (文本容器))<br>        取键盘速度 (10, 0, 容器2, 0)<br>        取窗口当前位置 (取窗口句柄 (), 窗口位置)<br>        信息框 (“Windows系统目录为： ” ＋ 文本容器 ＋ “ ，目录文本长度为： ” ＋ 到文本 (容器1) ＋ #换行符 ＋ “键盘速度为： ” ＋ 到文本 (容器2) ＋ #换行符 ＋ “窗口左边：” ＋ 到文本 (窗口位置.左边) ＋ #换行符 ＋ “窗口顶边：” ＋ 到文本 (窗口位置.上边), 0, )<br>----------------------------<br>    在上面的程序中，我们通过 Dll 命令使用了三个外部函数：GetWindowRect、GetWindowsDirectoryA、SystemParametersInfoA ，因为它们都是 Windows API 函数，所以“Dll库文件名”栏可以省略不填，系统将自动搜寻所有基本 Windows API 库文件（Kernel32.dll、Gdi32.dll、User32.dll、Mpr.dll、Advapi32.dll），否则必须提供该 Dll 命令所在的 Dll 文件名称。在“本Dll命令在Dll库中的对应命令名”栏中必须输入该 Dll 命令在库文件中的输出名称，系统将使用它在 Dll 文件中寻找对应的调用入口。<br>    在设置 Dll 命令的参数时，必须保证参数的顺序、数据类型都与实际的 Dll 外部函数一致，如果某个参数需要地址指针，将“传址”属性置为真即可。对于文本型、字节集型、自定义数据类型参数和数组参数，系统将自动传递地址指针，这就是 GetWindowRect 中的“返回位置”和 GetWindowsDirectoryA 中的“返回文本储存区”参数没有设置“传址”属性的原因（也可以设置，不过是多余的）。<br>----------------------------<br>    附：将 Win32Api.txt 中的定义转换到易语言中的方法。<br>    由于时间有限，易语言目前还没有提供现成的 Dll 命令定义表以供用户使用 Windows 的 API 函数，您可以按照以下大致规则来转换：<br>    1、由于易语言是纯粹的 32 位编程系统，而 VB 是从 16 位版本发展过来的，所以 VB 中的 Long 对应易语言中的整数型；<br>    2、如果某参数具有 ByRef 属性，请在易语言中将“传址”属性选中；<br>    3、如果某参数的类型为复合类型，如 RECT ，需要先在自定义数据类型表中定义出该数据类型。 <!--v:3.2--> ]]></description>
<category><![CDATA[个人日记]]></category>
<author><![CDATA[79589149@qq.com(╰ァ頽廢ゾㄒ)]]></author>
<comments>http://79589149.qzone.qq.com/blog/1257643995#comment</comments>
<qz:effect>134218256</qz:effect>
<pubDate>Sun, 08 Nov 2009 01:33:15 GMT</pubDate>
<guid>http://79589149.qzone.qq.com/blog/1257643995</guid>
</item>

<item>
<title><![CDATA[易語言簡易代碼（16）]]></title>
<link>http://79589149.qzone.qq.com/blog/1257643960</link>
<description><![CDATA[自定义数据类型<br><span style="font-weight:bold"><wbr />自定义数据类型</span><wbr />分为<span style="font-weight:bold"><wbr />支持库自定义数据类型</span><wbr />（如：窗口、字体、编辑框等）和<span style="font-weight:bold"><wbr />用户自定义数据类型</span><wbr />。在程序中的任何位置，只要可以使用系统基本数据类型（如：整数型、文本型等），就可以使用自定义数据类型。 <br>    所有的支持库自定义数据类型在支持库夹的“数据类型”分枝下可以找到，用户自定义数据类型由用户自行在自定义数据类型表中加入。<br>    下面我们一起来写一个有一点意思的程序，该程序执行后将允许你在画板上涂抹各种随机颜色的方块。请新建一个程序后进行以下输入：<br>    1、在<span style="font-weight:bold"><wbr />_启动窗口</span><wbr />上加入一个尽可能大的画板，将<span style="font-weight:bold"><wbr />画板背景色</span><wbr />属性改为白色，以便能够突出我们的显示；<br>    2、使用菜单功能“插入-&gt;新数据类型”加入一个用户自定义数据类型，将数据类型名修改为“坐标”，回车加入一个新成员，将成员名修改为“水平坐标”，类型改为整数型，再加入一个名为“垂直坐标”的整数型成员；<br>    3、再按下 Ctrl + N 加入一个新数据类型，将数据类型名修改为“矩形”，回车加入一个新成员，将成员名修改为“起始坐标”，类型改为<span style="font-weight:bold"><wbr />坐标</span><wbr /><span style="color:#008000;line-height:1.8em;">（输入文本：zb）</span><wbr /><span style="color:#000000;line-height:1.8em;">，</span><wbr />再加入一个名为“结束坐标”的<span style="font-weight:bold"><wbr />坐标</span><wbr />数据类型成员；<br>    4、使用菜单功能“插入-&gt;新Dll命令”加入一个Dll命令<span style="color:#008000;line-height:1.8em;">（Dll命令将在下一章中讲述，本章中仅作了解）</span><wbr />，将其名称改为“俘获鼠标”<span style="color:#008000;line-height:1.8em;">（此名称可以随意取）</span><wbr />，在“本Dll命令在Dll库中的对应命令名”栏中输入“SetCapture”<span style="color:#008000;line-height:1.8em;">（此名称对应Windows系统的一个API函数名，不能修改）</span><wbr /><span style="color:#000000;line-height:1.8em;">，回车后加入一个参数，将参数名改为“窗口句柄”，类型改为整数型；</span><wbr /><br>    5、再按下 Ctrl + N 加入一个新Dll命令，将其名称改为“释放鼠标”，在“本Dll命令在Dll库中的对应命令名”栏中输入“ReleaseCapture”；<br>    6、跳转到<span style="font-weight:bold"><wbr />_启动窗口</span><wbr />，选中<span style="font-weight:bold"><wbr />画板1</span><wbr />，在其属性表底部的组合框中分别选择“鼠标左键被按下”、“鼠标左键被放开”、“鼠标位置被移动”加入三个事件处理子程序；<br>    7、在<span style="font-weight:bold"><wbr />窗口程序集1</span><wbr />中加入一个名为<span style="font-weight:bold"><wbr />绘画矩形</span><wbr />，数据类型为<span style="font-weight:bold"><wbr />矩形</span><wbr /><span style="color:#008000;line-height:1.8em;">（输入文本：jx）</span><wbr />的程序集容器和一个名为<span style="font-weight:bold"><wbr />绘画已开始</span><wbr />的逻辑型程序集容器；<br>    8、在<span style="font-weight:bold"><wbr />_画板1_鼠标左键被按下</span><wbr />子程序中输入：<br>        连续赋值 (横向位置, 绘画矩形.起始坐标.水平坐标, 绘画矩形.结束坐标.水平坐标)<br><span style="color:#008000;line-height:1.8em;">            输入文本：lxfz(hxwz,hhjx.qszb.spzb,hhjx.jszb.spzb)<br>            另注：事件处理子程序的参数（如本子程序中的横向位置、纵向位置）的内容由系统自动提供。<br>        </span><wbr />连续赋值 (纵向位置, 绘画矩形.起始坐标.垂直坐标, 绘画矩形.结束坐标.垂直坐标)<br>    绘画已开始 = 真<br>        俘获鼠标 (画板1.取窗口句柄 ())<br>        <span style="color:#008000;line-height:1.8em;">    输入文本：fhsb(hb1.qckjb())</span><wbr /><br>    9、在<span style="font-weight:bold"><wbr />_画板1_鼠标位置被移动</span><wbr />子程序中输入：<br>        如果真 (绘画已开始)<br>            画板1.翻转矩形区 (绘画矩形.起始坐标.水平坐标, 绘画矩形.起始坐标.垂直坐标, 绘画矩形.结束坐标.水平坐标, 绘画矩形.结束坐标.垂直坐标)<br>            绘画矩形.结束坐标.水平坐标 ＝ 横向位置<br>            绘画矩形.结束坐标.垂直坐标 ＝ 纵向位置<br>            画板1.翻转矩形区 (绘画矩形.起始坐标.水平坐标, 绘画矩形.起始坐标.垂直坐标, 绘画矩形.结束坐标.水平坐标, 绘画矩形.结束坐标.垂直坐标)<br><span style="font-style:italic"><wbr />        &lt;如果真结束&gt;</span><wbr /><br>    10、在<span style="font-weight:bold"><wbr />_画板1_鼠标左键被放开</span><wbr />子程序中输入：<br>        如果真 (绘画已开始)<br>            置随机数种子 ()<br>            画板1.刷子颜色 ＝ 取颜色值 (取随机数 (0, 255), 取随机数 (0, 255), 取随机数 (0, 255))<br>            画板1.刷子类型 ＝ 取随机数 (0, 55)<br>            画板1.填充矩形 (绘画矩形.起始坐标.水平坐标, 绘画矩形.起始坐标.垂直坐标, 绘画矩形.结束坐标.水平坐标, 绘画矩形.结束坐标.垂直坐标)<br>            释放鼠标 ()<br>        <span style="color:#008000;line-height:1.8em;">        输入文本：sfsb<br>            </span><wbr />绘画已开始 ＝ 假<br><span style="font-style:italic"><wbr />        &lt;如果真结束&gt;</span><wbr /><br>    运行程序后，在画板上使用鼠标拖动，可以绘制出随机颜色和填充类型的矩形。<br>------------------------------------------<br>    最后，我们总结如下：<br>    1、用户可以在自定义数据类型表中定义自己所需要的数据类型；<br>    2、自定义数据类型由一系列成员组成，每个成员在程序中可以被单独访问，成员的数据类型可以是系统基本数据类型或者其它的自定义数据类型；<br>    3、引用自定义数据类型容器成员的格式为：<br><span style="font-weight:bold"><wbr />容器名称</span><wbr /> + “.” + <span style="font-weight:bold"><wbr />成员名称</span><wbr /><br>    如果欲引用成员内的成员，请使用连续的句点分隔。如上面的“绘画矩形.起始坐标.水平坐标”<span style="color:#000000;line-height:1.8em;">。</span><wbr /> <!--v:3.2--> ]]></description>
<category><![CDATA[个人日记]]></category>
<author><![CDATA[79589149@qq.com(╰ァ頽廢ゾㄒ)]]></author>
<comments>http://79589149.qzone.qq.com/blog/1257643960#comment</comments>
<qz:effect>134218256</qz:effect>
<pubDate>Sun, 08 Nov 2009 01:32:40 GMT</pubDate>
<guid>http://79589149.qzone.qq.com/blog/1257643960</guid>
</item>

<item>
<title><![CDATA[易語言簡易代碼（15）]]></title>
<link>http://79589149.qzone.qq.com/blog/1257643928</link>
<description><![CDATA[常数、常量与资源<br>常数、常量、资源用作在程序中提供恒定不变的数据，程序中任何可以使用容器提供数据的地方都可以使用它们，反之亦然。 ---------------------------------------- 第一节、常数 常数为可以直接在程序中使用的数据，它具有以下几种类型： 1、数值型常数。如： 1、100、3.14 等； 2、逻辑型常数。如： 真、假 ； 3、日期时间型常数。日期时间常数的内容必须用中括号括住，并且应按以下格式之一提供，在书写时年份后的时间部分可以被省略： &lt;1&gt;、[1982年4月23日12时30分25秒] &lt;2&gt;、[1982/4/23/12/30/25] &lt;3&gt;、[1982/4/23/12:30:25] &lt;4&gt;、[1982-4-23-12-30-25] &lt;5&gt;、[1982-4-23-12:30:25] &lt;6&gt;、[19820423123025] 4、文本常数。文本常数的内容为一段文本，必须使用全角或半角双引号括住。如：&quot;祖国您好！&quot;、“祖国您好！”等等； 5、子程序指针常数。子程序指针常数为代表程序中某一子程序的指针数值，表达方式为符号“&amp;”再加上子程序名称。如：“&amp;子程序1”、“&amp;_启动子程序”等等。上一章中的“&amp;子程序1”、“&amp;子程序2”、“&amp;子程序3”就是子程序指针常数； 6、常数集。常数集用作提供各类常数或常量的数组形式。表达方式为使用花括号括住一系列相同类型且通过逗号分隔的各类常数或常量。如：“{ 1, 2, 3 }”、“{ &quot;abc&quot;, &quot;bcd&quot; }”、“{ [1982年4月23日], [2000年1月1日12时] }”、“{ &amp;子程序1, &amp;_启动子程序 }”、“{ #红色，#黑色 }”、“{ #图片1，#声音1 }”等等。常数集也可以为空，表达方式为“{ }”，此时它将被认为包含有 0 个数值型常数，可以用作重新初始化一个数值数组或者将某字节集清空，譬如：“数值数组1 = { }”、“字节集1 = { }”等等。上一章中的“{ &amp;子程序1, &amp;子程序2, &amp;子程序3 }”就是子程序指针常数集。 ---------------------------------------- 第二节、常量：　　1、常量用作存储在整个应用程序执行过程中保持不变的数据，其类型可以为数值、文本、逻辑值和日期时间。易语言中已经提供了许多常量，但用户也可以在程序中自行定义。常量的引用表达方式为符号“#”再加上常量名称。如：“#pi”常量等同于数值“3.1415926535”、“#换行符”常量等同于文本 回车 + 换行 等等； 2、可以使用以下两种方法之一加入新的空常量： &lt;1&gt;、使用“插入-&gt;新常量”菜单功能； &lt;2&gt;、跳转到常量数据表，如果尚未被打开，请在程序夹中双击“常量表...”项，然后使用回车或者 Ins 键即可加入； 3、空常量加入后，可以直接修改其常量名称、常量值、备注等各属性栏。在修改常量值时以 Alt + Enter 结束输入可以强行将当前输入的所有文本作为文本类型常量内容保存，此方法可用作输入带有双引号的文本常量内容。 ---------------------------------------- 第三节、资源：　　1、资源用作存储用户需要在程序中使用的图片、声音等数据，其数据类型为字节集型，可以被看作为字节集型常量，其引用方式等同于常量。 2、可以使用以下两种方法之一加入新的空图片资源： &lt;1&gt;、使用“插入-&gt;新资源-&gt;图片”菜单功能； &lt;2&gt;、跳转到图片资源表，如果尚未被打开，请在程序夹中双击“资源表-&gt;图片...”项，然后使用回车或者 Ins 键即可加入； 3、可以使用以下两种方法之一加入新的空声音资源： &lt;1&gt;、使用“插入-&gt;新资源-&gt;声音”菜单功能； &lt;2&gt;、跳转到声音资源表，如果尚未被打开，请在程序夹中双击“资源表-&gt;声音...”项，然后使用回车或者 Ins 键即可加入； 4、空图片或者空声音资源被加入后，可以直接修改其名称和内容。 5、可以将任何非图片或声音的数据加入到资源中，以便定义字节集型的常量数据。 ---------------------------------------- 下面用一个例程来详细说明，请新建一个程序，进行以下输入操作： 1、在_启动窗口中加入一个画板和一个按钮； 2、使用第二节中所介绍的方法加入四个空常量，将它们分别改为以下内容：常量序号名称栏常量值栏 1数值常量3.14 2文本常量&quot;飞扬&quot; 3逻辑常量真 （输入文本：zhen） 4日期常量2000年11月1日 （输入文本：[2000/11]） 3、使用第三节中所介绍的方法加入一个空图片资源，将其名称改为“测试图片”，然后单击“内容”栏或者在其上按下空格，随意导入一个图片文件后，单击“加入/修改到程序并关闭对话框”按钮返回，此时图片数据将被保存入 易程序文件中，图片文件不再被需要； 4、使用第三节中所介绍的方法加入一个空声音资源，将其名称改为“测试声音”，然后单击“内容”栏或者在其上按下空格，随意导入一个声音文件后，单击“加入/修改到程序并关闭对话框”按钮返回，此时声音数据将被保存入 易程序文件中，声音文件不再被需要； 5、双击_启动窗口中的按钮1，在_按钮1被单击子程序中进行以下输入： &lt;1&gt;、加入一个名为数组容器，数组属性为 3 的整数型数组容器和一个名为图片号的整数型容器； &lt;2&gt;、输入以下语句： 画板1.滚动写行 (“数值型常数：” ＋ 到文本 (3.14), “逻辑型常数：” ＋ 到文本 (真), “日期时间型常数：” ＋ 到文本 ([2000年11月1日]), “文本常数：” ＋ “祖国您好！”) 输入文本为：hb1.gdxh(&quot;数值型常数：&quot;+dwb(3.14),&quot;逻辑型常数：&quot;+dwb(zhen),&quot;日期时间型常数：&quot;+dwb([2000/11]),&quot;文本常数：&quot;+&quot;祖国您好！&quot;) 图片号 ＝ 载入图片 (#测试图片) 输入文本为：tph=zrtp(#cstp) 如果真 (图片号 ≠ 0) 输入文本为：rgz(tph&lt;&gt;0) 画板1.画图片 (图片号, 100, 0, , , ) 卸载图片 (图片号) &lt;如果真结束&gt; 播放音乐 (#测试声音, ) 数组容器 [3] ＝ 3 数组容器 ＝ { 1, 2 } 画板1.滚动写行 (数组容器 [1], 数组容器 [2], 数组容器 [3]) 您可能会觉得：画一个图片还要先载入后卸载，太麻烦了。不过，采用这种方法可以保证以最高的效率画出图片，而且图片号还可以被反复使用。 上面程序中的第一行演示了绝大部分常数的使用方法，子程序指针常数由于我们上一章刚刚讲述，所以在此处被略去。在后面顺序演示了图片资源、声音资源、常数集的使用方法。对于语句 数组容器 ＝ { 1, 2 } 我们需要解释一下：数组容器的成员数目我们定义为 3 ，但此处的常数集中只提供了两个数值，没有被提供数值的 数组容器 [3] 系统将自动对其重新初始化，所以最后显示出来的结果是 0 ，而不是 3 。 下一章我们将讲述自定义数据类型，这是易语言的高级特性之一。 ------------------------------- 试一试： 1、加入语句： _启动窗口.底图 ＝ #测试图片 2、将 播放音乐 (#测试声音, ) 语句改为： _启动窗口.背景音乐 ＝ #测试声音 运行后查看效果，以了解如何使用资源去改变窗口单元的属性。 <!--v:3.2--> ]]></description>
<category><![CDATA[个人日记]]></category>
<author><![CDATA[79589149@qq.com(╰ァ頽廢ゾㄒ)]]></author>
<comments>http://79589149.qzone.qq.com/blog/1257643928#comment</comments>
<qz:effect>134218256</qz:effect>
<pubDate>Sun, 08 Nov 2009 01:32:08 GMT</pubDate>
<guid>http://79589149.qzone.qq.com/blog/1257643928</guid>
</item>

</channel>
</rss>

