搜狗
alimama
ali
阿里
阿里妈妈
sogou
第一卷 第一章

?易语言时尚编程100例

(一)例程名称:计算编辑框的输入内容的长度

设立本100例教程的目的:把易语言现有的例程都学习一遍,以达到共同脱菜的目的。

★、例程来源。

㈠、例程名称:计算编辑框的输入内容的长度(暂名)

㈡、下载地址:

㈢、作者:(暂不详)

★、例程详解。

不知程序作者是谁?该程序作者或提问者为什么要做该例程?有什么作用?有知道者请跟贴。我在编辑时修改。

该例程只有一个子程序,该子程序只有一行执行代码,程序如下:

子程序:_编辑框1_内容被改变

标签1.标题  =  到文本  (取文本长度  (编辑框1.内容))

编程大概思路:

㈠、确定用什么样的子程序,包括确定用什么控件来发送指令(事件驱动承担者),什么控件用来传递指令,什么控件用来执行指令,什么控件用来反馈指令。

⑴、确定发送指令控件。比如用按钮作为事件驱动(发送指令)承担者,则程序大概是:

子程序:_按钮1_被单击

标签1.标题  =  到文本  (取文本长度  (编辑框1.内容))

当然,如果想使编辑框在输入文本时即时显示文本长度,就要用到编辑框本身的事件,如本程序的第一种子程序,即子程序:_编辑框1_内容被改变,通过在编辑框输入信息来发送指令。

⑵、确定传递、执行或反馈指令控件。如果我们用信息框来执行或反馈指令,则程序大概类似下面为好:

子程序:_按钮1_被单击

信息框  (“你输入的文本长度是:”  +  到文本  (取文本长度  (编辑框1.内容))

0

)

思考:如果想做到按“enter”时就弹出该信息框,应怎样做?

㈡、“计算编辑框的输入内容的长度”也即是确定编辑框的某个属性值,那么我们就重点查找编辑框的有关属性、方法和事件及易语言系统有关的命令,看有哪些在本例程中用得上。还是比较难找呢。

交流附件上传地址:http://www.91asp.com/

(二)例程名称:幼儿算术软件

由于还没有找到新空间存放例程,所以《菜鸟每日一课》和其他课程暂停,代之以一门新课程:《易语言时尚编程100例》,专门学习研究别人的程序。由于本人也是菜鸟,所以一般是照搬其中的代码,保持原汁原味,其中是否有错,由高手来跟贴完善评改吧。

★、例程来源。

㈠、例程名称:幼儿算术软件

㈡、下载地址:  http://eyuyan.com/non-cgi/usr/1/1_3244.e

㈢、作者:bklbklbk

★、例程详解。

该程序近日由作者上传到论坛,程序明白易懂,主要功能代码也不多,所以我们现在就以它为研究学习对象。

该程序由三个窗口组成,其中_启动窗口只是该程序的封面,窗口2只是说明文件,核心功能都在窗口1中实现,所以这里只讲解窗口1,窗口1中又只有“出题”和“计算结果”两个重要子程序,其他的子程序是辅助的。

㈠、先讲讲怎样实现随机出题。

在随机出题中作者要做两件事:⑴、用单选框设置有三个出题计算数的范围:1到10;1到20;1到100,分别代表三种不同的学习程度。⑵、按三种计算数范围随机出题。下面看程序是怎样做的:

子程序:_按钮1_被单击

置随机数种子  ()

※一般过程是先置随机数种子再随机取数

编辑框1.内容  =  到文本  (取整  (取随机数  (最小号码

最大号码)))

※随机选择第一个计算数

编辑框2.内容  =  到文本  (取整  (取随机数  (最小号码

最大号码)))

※随机选择第一个计算数。取整数的随机数,“取整”是算术运算命令

编辑框3.内容  =  “”

※清空“编辑框3”以便你把结果填上去

标签2.标题  =  “”

※清空“标签2”(提示正确与否)以方便指出对还是错

编辑框3.获取焦点  ()

※使“编辑框3”获取焦点光标以便你输入计算结果

如果  (单选框1.选中  =  真)

最大号码  =  10

※当选择最大数为10的计算范围时

否则

如果  (单选框2.选中  =  真)

最大号码  =  20

否则

如果  (单选框3.选中  =  真)

最大号码  =  100

否则

如果结束

如果结束

如果结束

㈡、再讲讲怎样评价你的计算结果。

该子程序分别设置了加、减、乘、除四种运算情况,我们以“减法”为例说明:

如果  (标签3.标题  =  “-”)

※当选择为减法运算时。选择不同的运算方式,该标签的标题就发生相应变化

如果  (变量1  >  变量2)

※当减数大于被减数时

如果  (变量3  =  变量1  -  变量2)

※当运算结果正确时

标签7.可视  =  真

※该标签的标题是“正确”

标签2.标题  =  “恭喜你!做对了”

标签5.标题  =  到文本  (变量4  +  1)

※显示正确的次数,变量4存放的是正确次数,为静态短整数型容器,静态容器能将正确次数保留到下次运算,数值型数据的默认值为0

变量4  =  变量4  +  1

※给变量4赋值

否则  ※当运算结果错误时

标签2.标题  =  “错啦!重做一遍”

标签8.可视  =  真

※该标签的标题是“错误”

标签6.标题  =  到文本  (变量5  +  1)

变量5  =  变量5  +  1

如果结束

变量6  =  变量4  +  变量5

※赋值于变量6  ,表示运算次数的总和,即正确次数与错误次数之和

标签13.可视  =  真

※该标签的标题是“共计”

标签12.标题  =  到文本  (变量4  +  变量5)

标签9.标题  =  到文本  (取整  (变量4  ÷  变量6  ×  100))

标签11.可视  =  真

※该标签的标题是“正确率”

标签10.可视  =  真

※该标签的标题是“  %”

否则

标签2.标题  =  “不能相减”

※当减数小于被减数时

如果结束

上面是以减法的实现为例对该软件功能实现作一说明,整个窗口1的程序如下:

窗口程序集:窗口程序集2

程序集容器:最小号码  数据类型:短整数型

程序集容器:最大号码  数据类型:短整数型

------------------------------

子程序:_按钮2_被单击

局部容器:变量1  数据类型:短整数型

局部容器:变量2  数据类型:短整数型

局部容器:变量3  数据类型:短整数型

局部容器:变量4  数据类型:短整数型  

局部容器:变量5  数据类型:短整数型  

局部容器:变量6  数据类型:整数型

变量1  =  文本到数值  (编辑框1.内容)

变量2  =  文本到数值  (编辑框2.内容)

变量3  =  文本到数值  (编辑框3.内容)

编辑框3.获取焦点  ()

如果  (标签3.标题  =  “+”)

如果  (变量3  =  变量1  +  变量2)

标签7.可视  =  真

标签2.标题  =  “恭喜你!做对了”

标签5.标题  =  到文本  (变量4  +  1)

变量4  =  变量4  +  1

否则

标签2.标题  =  “错啦!重算一遍”

标签8.可视  =  真

标签6.标题  =  到文本  (变量5  +  1)

变量5  =  变量5  +  1

如果结束

变量6  =  变量4  +  变量5

标签13.可视  =  真

标签12.标题  =  到文本  (变量4  +  变量5)

标签9.标题  =  到文本  (取整  (变量4  ÷  变量6  ×  100))

标签11.可视  =  真

标签10.可视  =  真

否则

如果  (标签3.标题  =  “-”)

如果  (变量1  >  变量2)

如果  (变量3  =  变量1  -  变量2)

标签7.可视  =  真

标签2.标题  =  “恭喜你!做对了”

标签5.标题  =  到文本  (变量4  +  1)

变量4  =  变量4  +  1

否则

标签2.标题  =  “错啦!重做一遍”

标签8.可视  =  真

标签6.标题  =  到文本  (变量5  +  1)

变量5  =  变量5  +  1

如果结束

变量6  =  变量4  +  变量5

标签13.可视  =  真

标签12.标题  =  到文本  (变量4  +  变量5)

标签9.标题  =  到文本  (取整  (变量4  ÷  变量6  ×  100))

标签11.可视  =  真

标签10.可视  =  真

否则

标签2.标题  =  “不能相减”

如果结束

否则

如果  (标签3.标题  =  “×”)

如果  (变量3  =  变量1  ×  变量2)

标签7.可视  =  真

标签2.标题  =  “恭喜你!做对了”

标签5.标题  =  到文本  (变量4  +  1)

变量4  =  变量4  +  1

否则

标签2.标题  =  “错啦!重做一遍”

标签8.可视  =  真

标签6.标题  =  到文本  (变量5  +  1)

变量5  =  变量5  +  1

如果结束

变量6  =  变量4  +  变量5

标签13.可视  =  真

标签12.标题  =  到文本  (变量4  +  变量5)

标签9.标题  =  到文本  (取整  (变量4  ÷  变量6  ×  100))

标签11.可视  =  真

标签10.可视  =  真

否则

如果  (标签3.标题  =  “÷”)

如果  (变量2  ≠  0)

如果  (变量3  =  变量1  ÷  变量2)

标签7.可视  =  真

标签2.标题  =  “恭喜你!做对了”

标签5.标题  =  到文本  (变量4  +  1)

变量4  =  变量4  +  1

否则

信息框  (“错啦!重做一遍”

#错误图标

“错误”)

标签8.可视  =  真

标签6.标题  =  到文本  (变量5  +  1)

变量5  =  变量5  +  1

如果结束

变量6  =  变量4  +  变量5

标签13.可视  =  真

标签12.标题  =  到文本  (变量4  +  变量5)

标签9.标题  =  到文本  (取整  (变量4  ÷  变量6  ×  100))

标签11.可视  =  真

标签10.可视  =  真

否则

信息框  (“除数不能为0”

#错误图标

“错误”)

如果结束

否则

如果结束

如果结束

如果结束

如果结束

------------------------------

子程序:_按钮7_被单击

销毁  ()

------------------------------

子程序:_按钮3_被单击

标签3.标题  =  “+”

标签1.标题  =  “加法运算”

编辑框3.获取焦点  ()

------------------------------

子程序:_按钮4_被单击

标签3.标题  =  “-”

标签1.标题  =  “减法运算”

编辑框3.获取焦点  ()

------------------------------

子程序:_按钮5_被单击

标签3.标题  =  “×”

标签1.标题  =  “乘法运算”

编辑框3.获取焦点  ()

------------------------------

子程序:_按钮6_被单击

标签3.标题  =  “÷”

标签1.标题  =  “除法运算”

编辑框3.获取焦点  ()

------------------------------

子程序:_按钮1_被单击

置随机数种子  ()

编辑框1.内容  =  到文本  (取整  (取随机数  (最小号码

最大号码)))

编辑框2.内容  =  到文本  (取整  (取随机数  (最小号码

最大号码)))

编辑框3.内容  =  “”

标签2.标题  =  “”

编辑框3.获取焦点  ()

如果  (单选框1.选中  =  真)

最大号码  =  10

否则

如果  (单选框2.选中  =  真)

最大号码  =  20

否则

如果  (单选框3.选中  =  真)

最大号码  =  100

否则

如果结束

如果结束

如果结束

------------------------------

子程序:_窗口1_创建完毕

编辑框1.内容  =  “”

编辑框2.内容  =  “”

编辑框3.内容  =  “”

单选框1.选中  =  真

最小号码  =  1

编辑框3.获取焦点  ()

子程序:_按钮8_被单击

载入  (窗口2

假)

窗口1.可视  =  假

交流附件上传地址:http://www.91asp.com/

(三)IP地址的获取

[这个贴子最后由bb88在  2002/04/26  08:32pm  编辑]

我们进行网络通讯编程常常要获取自己或对方的网络地址(IP),比如通过IP连接进行网络对战游戏,或通过IP连接的聊天室,都要知道主机方(建立游戏或聊天室的一方)的IP才能连接,就象你给对方打电话要知道对方的电话号码才能通话一样。假如你是主机方,你先要告诉对方你的IP,对方才能进入你的主机。怎样即时显示自己的IP而免去查找的麻烦?看看下面的解答。

要实现显示自己IP的功能只需一个子程序,程序示例如下:

子程序:__启动窗口_创建完毕

标签1.标题  =  “欢迎你登陆bb88的IP获取教程,你的主机名是:”  +  #换行符  +  到文本  (取主机名  ())  +  #换行符  +  #换行符  +  “你的IP是:”  +  #换行符  +  到文本  (转换为IP地址  (取主机名  ()))

解析:⑴、画一个标签用来显示你的主机名及IP地址。用载入启动窗口作为该子程序的驱动事件(_启动窗口_创建完毕)。

⑵、易语言关于网络通讯的命令只有四个:取主机名、通信测试、转换为主机名、转换为IP地址,本例程用到其中两个命令。

⑶、取主机名——即返回本机的主机名,用作在网络通讯中标志本机地址。语法:    取主机名  ()。该命令参数为空,若有参数,可能会类似这样:“取主机名(主机)”或“取主机名  (202.103.113.8)”,即该命令处理的数据对象是某个主机,用“取主机名”的方式进行处理。

⑷、转换为IP地址——即将指定的主机名转换为其  IP  地址。如果失败返回空文本。语法:转换为IP地址  (欲转换主机名)。我们要先获得你的主机名才能转换,所以该语句为:转换为IP地址  (取主机名  ())。该命令所处理的数据对象(参数)为“所取得的主机名”(即“取主机名  ()”的返回值),用“转换为IP地址”方式处理该参数。

思考题:⑴、假设你已经知道你的主机名叫“huhuhu”,为什么用“标签1.标题  =  到文本  (转换为IP地址  (到文本  (huhuhu)))”却不能获得你的IP地址?欢迎高手菜鸟作答。

⑵、为什么“取主机名  ()”这个命令的参数为空?

交流附件上传地址:http://www.91asp.com/

(四)例程名称:小小闹钟

[这个贴子最后由bb88在  2002/04/27  07:09pm  编辑]

★、例程来源。

㈠、例程名称:小小闹钟

㈡、下载地址:

㈢、作者:(请作者跟贴说明)

㈣、主页:

★、例程详解。

㈠、主要功能。⑴、设定闹钟铃响时间。⑵、显示剩余时间(现时间离闹钟铃响时间的间隔)。⑶、到设定的时间时闹钟铃响。

㈡、功能实现。

⑴、设定闹钟铃响时间。分别建立时、分、秒和开始这四个窗口程序集容器,分别用来存放设定闹钟铃响时间中的时、分、秒和开始计时的状态。用下面的子程序来设定闹钟铃响时间(即分别给三个变量“时”、“分”、“秒”赋值)。

子程序:_时编辑框_内容被改变

时  =  文本到数值  (时编辑框.内容)

------------------------------

子程序:_分编辑框_内容被改变

分  =  文本到数值  (分编辑框.内容)

------------------------------

子程序:_秒编辑框_内容被改变

秒  =  文本到数值  (秒编辑框.内容)

⑵、显示剩余时间。

子程序:_时钟1_周期事件

如果真  (开始)

开始计时  ()

剩余时间显示标签.标题  =  到文本  ((取时间部分  (取现行时间  ()

#小时)  -  时)  ×  -1)  +  “时”  +  到文本  ((取时间部分  (取现行时间  ()

#分钟)  -  分)  ×  -1)  +  “分”  +  到文本  ((取时间部分  (取现行时间  ()

#秒)  -  秒)  ×  -1)  +  “秒”

如果真结束

※变量“开始”表示按下了“确认按钮”(确定闹钟铃响时间和开始计时)。“如果真  (开始)”的意义等同于“如果真  (开始=真)”。

※显示剩余时间(现时间离闹钟铃响时间的间隔)好象这样也行:

剩余时间显示标签.标题  =  到文本  (时  -  取时间部分  (取现行时间  ()

#小时))  +  “时”  +  到文本  (分  -  取时间部分  (取现行时间  ()

#分钟))  +  “分”  +  到文本  (秒  -  取时间部分  (取现行时间  ()

#秒))  +  “秒”

※我的数学基础很差,不知以上代码行不?望原作者给予解答。

⑶、到设定的时间时闹钟铃响。

子程序:_确认按钮_被单击

如果  (时  ≤  60  且  分  ≤  60  且  秒  ≤  60)

如果  (时  ≥  取时间部分  (取现行时间  ()

#小时))

时编辑框.禁止  =  真

分编辑框.禁止  =  真

秒编辑框.禁止  =  真

确认按钮.禁止  =  真      ※以上使确定闹钟铃响时间的编辑框不可以输入

开始计时  ()                      ※调用“开始计时”子程序

开始  =  真                        ※表示按下了“确认”按钮,使系统开始计算剩余时间

否则

信息框  (“错误!输入时间小于当前时间!”

#确认钮

“错误!”)

※排除闹钟铃响的过期时间

如果结束

否则

信息框  (“请确认输入时间不得大于60!”

#确认钮

“错误!”)

※排除输入错误的时间

如果结束

------------------------------

子程序:开始计时

如果真  (取时间部分  (取现行时间  ()

#小时)  ≥  时)

如果真  (取时间部分  (取现行时间  ()

#分钟)  ≥  分)

如果真  (取时间部分  (取现行时间  ()

#秒)  ≥  秒)

时编辑框.禁止  =  假

分编辑框.禁止  =  假

秒编辑框.禁止  =  假

确认按钮.禁止  =  假

开始  =  假

_启动窗口.位置  =  1

_启动窗口.总在最前  =  假

鸣叫  ()

信息框  (“请注意!您所定的时间到了!”

#确认钮

“时间到了!”)

如果真结束

如果真结束

如果真结束

返回  ()

※以上“开始计时”设定当时间到期时闹钟响铃,通过调用“鸣叫”系统处理命令(通过计算机媒体设备或者喇叭发出一个声音)来表示,或者也可以通过调用一个模拟铃声的声音资源来表示。

㈢、该小小闹钟的完整源程序如下:

窗口程序集:窗口程序集1

程序集容器:时        数据类型:整数型

程序集容器:分        数据类型:整数型

程序集容器:秒        数据类型:整数型

程序集容器:开始    数据类型:逻辑型

------------------------------

子程序:_时钟1_周期事件

当前时间标签.标题  =  “当前时间为:”  +  时间到文本  (取现行时间  ()

)

如果真  (开始)

开始计时  ()

剩余时间显示标签.标题  =  到文本  (时  -  取时间部分  (取现行时间  ()

#小时))  +  “时”  +  到文本  (分  -  取时间部分  (取现行时间  ()

#分钟))  +  “分”  +  到文本  (秒  -  取时间部分  (取现行时间  ()

#秒))  +  “秒”

如果真结束

------------------------------

子程序:_时编辑框_内容被改变

时  =  文本到数值  (时编辑框.内容)

------------------------------

子程序:_分编辑框_内容被改变

分  =  文本到数值  (分编辑框.内容)

------------------------------

子程序:_秒编辑框_内容被改变

秒  =  文本到数值  (秒编辑框.内容)

------------------------------

子程序:_确认按钮_被单击

如果  (时  ≤  60  且  分  ≤  60  且  秒  ≤  60)

如果  (时  ≥  取时间部分  (取现行时间  ()

#小时))

时编辑框.禁止  =  真

分编辑框.禁止  =  真

秒编辑框.禁止  =  真

确认按钮.禁止  =  真

开始计时  ()

开始  =  真

否则

信息框  (“错误!输入时间小于当前时间!”

#确认钮

“错误!”)

如果结束

否则

信息框  (“请确认输入时间不得大于60!”

#确认钮

“错误!”)

如果结束

------------------------------

子程序:_更改按钮_被单击

确认按钮.禁止  =  假

时编辑框.禁止  =  假

分编辑框.禁止  =  假

秒编辑框.禁止  =  假

_启动窗口.位置  =  1

_启动窗口.总在最前  =  假

------------------------------

子程序:_退出按钮_被单击

结束  ()

------------------------------

子程序:开始计时

如果真  (取时间部分  (取现行时间  ()

#小时)  ≥  时)

如果真  (取时间部分  (取现行时间  ()

#分钟)  ≥  分)

如果真  (取时间部分  (取现行时间  ()

#秒)  ≥  秒)

时编辑框.禁止  =  假

分编辑框.禁止  =  假

秒编辑框.禁止  =  假

确认按钮.禁止  =  假

开始  =  假

_启动窗口.位置  =  1

_启动窗口.总在最前  =  假

鸣叫  ()

信息框  (“请注意!您所定的时间到了!”

#确认钮

“时间到了!”)

如果真结束

如果真结束

如果真结束

返回  ()


[猫扑广告]