本节主要包括以下几个简单的、应用“时钟”控件的小程序:1、连续鸣叫;2、动态显示时间;3、会变的窗口;4、旋转的文字。
以上程序无一例外地使用了易语言中一个很简单又很常用的控件:时钟。为什么说它简单呢?因为它的属性和事件极少(没有方法)——它只有一个重要属性:时钟周期,只有一个事件:周期事件。
时钟控件的作用:每隔一定的时间(由其属性时钟周期指定)产生一个“周期事件”。一时不明白没有关系,先看下面的例子。
时钟控件的作用:每隔一定的时间(由其属性时钟周期指定)产生一个“周期事件”。一时不明白没有关系,先看下面的例子。
程序一:连续鸣叫 下载例程
本程序的功能:每隔一秒,使机箱喇叭或音箱“叫”一声。
1、打开易语言,新建一个程序; 2、把“_启动窗口”的标题属性改为“连续鸣叫”;(这一步不是必需的。) 3、向“_启动窗口”中拖放一个“时钟”控件(它被自动命名为“时钟1”),如右图: 这时,请看一下工作夹的属性子夹(首先选中“易语言教程2020时钟1”)——它只有八个属性:名称、备注、左边、顶边、宽度、高度、标记和时钟周期。 [注:时钟控件是非可视控件,即程序运行时是看不到它的,所以它的位置和大小无关紧要。时钟控件的最重要的属性只有一个:时钟周期。] 4、把“时钟1”的时钟周期属性改为 1000 (它的单位是:毫秒);<这一步关键> 5、双击“时钟1”,在“_时钟1_周期事件”子程序中,输入以下代码: 鸣叫() [注:输入字可以是:mj,mj(),鸣叫,鸣叫()等。] [注:系统库函数“鸣叫”功能是,使机箱喇叭或音箱发出一个简单的声音。] [注:因为我们已经把时钟周期属性设为1000,所以,时钟1的“周期事件”将每1000毫秒(1秒)产生一次。换个说法,就是子程序“_时钟1_周期事件”每隔1秒被自动调用一次。再换个说法,就是函数鸣叫()每秒执行一次。由此我们不难想象本程序的执行效果:每隔一秒,喇叭或音箱就“鸣叫”一下。] |
输入代码后的易语言主窗口如下图所示:
好了,这个程序就编好了!下载例程。
本程序运行的效果是:每隔1秒,喇叭或音箱就“鸣叫”一声,如果不关闭程序,就一直叫下去。运行界面如右图(窗口里什么也没有):
亲自感受一下,看看效果怎么样?如果喜欢,就把它存盘吧(不妨存为beep.e)。[提示:把“时钟1”的时钟周期属性改一下,比如改为500或1000,再运行程序,发觉“鸣叫”的时间间隔变了,是吗?]
本程序运行的效果是:每隔1秒,喇叭或音箱就“鸣叫”一声,如果不关闭程序,就一直叫下去。运行界面如右图(窗口里什么也没有):
亲自感受一下,看看效果怎么样?如果喜欢,就把它存盘吧(不妨存为beep.e)。[提示:把“时钟1”的时钟周期属性改一下,比如改为500或1000,再运行程序,发觉“鸣叫”的时间间隔变了,是吗?]
现在分析一下,为什么会这样。首先要明确的是,时钟控件有这样的功能:每隔一定时间自动产生一个“周期事件”——间隔时间是由时钟的时钟周期属性指定的(单位是毫秒)。其次,我们在时钟1的“周期事件”的事件处理子程序“_时钟1_周期事件”中写入了代码。所以,程序会每隔一秒执行其中的代码,执行的结果当然是使喇叭或音箱就“鸣叫”了。
(注:如果追根究底,非要问“为什么时钟控件能每隔一定时间产生一个周期事件”的话,我建议您去问微软。呵呵,初学者不用研究那么深的,只要记住“时钟控件能每隔一定时间产生一个周期事件”就可以了。千万要记住呀,很常用的。)
(注:如果追根究底,非要问“为什么时钟控件能每隔一定时间产生一个周期事件”的话,我建议您去问微软。呵呵,初学者不用研究那么深的,只要记住“时钟控件能每隔一定时间产生一个周期事件”就可以了。千万要记住呀,很常用的。)
程序二:动态显示时间 下载例程 本程序的功能:在窗口上显示系统时间,并每隔一秒更新一次。 运行效果如右图: 编写步骤如下: 1、新建一个程序,把“_启动窗口”的标题属性改为“动态显示时间”; 2、向“_启动窗口”中拖放一个标签控件,和一个时钟控件,并把时钟控件的时钟周期属性改为1000;(程序设计界面见右边下图:) 3、双击“时钟1”,输入如下代码: 标签1.标题 = 到文本 (取现行时间 ()) 输入字为:bq1.bt=dwb(qxxsj()) 其中“dwb”对应“到文本”,“qxxsj”对应“取现行时间”。 | |
代码有点复杂,让我们分析一下。首先容易明白的是,代码的目的是为“标签1”的标题属性赋值——把“=”号右边的值赋给“=”号左边(“=”是赋值运算符)。那“=”号右边又是什么呢?是系统库函数之一,其功能是从计算机中读取当前的系统时间。到文本()也是系统库函数之一,它的功能是卖掉数据类型——把非文本型的转换为文本型。综合起来,这行代码的意思就是:读取当前的系统时间,并把时间转换为文本型,然后赋值给“标签1”的标题属性。
为什么不直接把取现行时间()的返回值赋给“标签1.标题”,而要经过一次转换?答:取现行时间()的返回值的数据类型是“日期时间型”,而“标签1.标题”的数据类型是“文本型”,数据类型不一致是不能直接赋值的。
[注:“x=y”是易语言中典型的赋值语句。 这里的“=”是“赋值运行符”,而不是“等于”的意思。所谓“赋值”,就是把“=”左边的内容擦掉,换成“=”右边的值。举个例子:标签1.标题=“易语言”,就是把标签1的标题属性改为“易语言”——如果原来有内容,当然覆盖掉。这跟在属性夹中修改是等效的。]
[注:“x=y”是易语言中典型的赋值语句。 这里的“=”是“赋值运行符”,而不是“等于”的意思。所谓“赋值”,就是把“=”左边的内容擦掉,换成“=”右边的值。举个例子:标签1.标题=“易语言”,就是把标签1的标题属性改为“易语言”——如果原来有内容,当然覆盖掉。这跟在属性夹中修改是等效的。]
[注:我初学编程时,就对“赋值”二字非常迷惑——可能与“赋”字笔画比较多并且意义不鲜明有关吧——用了很长时间才搞清楚。如果各位有同样的迷惑,不妨先放一放,也许不久会不点自明。放心吧!]
程序已经编写完了。运行一下看看效果!这里下载例程。
程序三:会变的窗口 下载例程
本程序的功能:窗口每隔一定时间会自动改变颜。
运行效果如右图:
运行效果如右图:
1、新建一个程序,把“_启动窗口”的标题改为“会变的窗口”;
2、在“_启动窗口”上放一个时钟控件,并把其时钟周期改为500(或其它);
3、双击“时钟1”,在“_时钟1_周期事件”子程序中输入如下两行代码:
2、在“_启动窗口”上放一个时钟控件,并把其时钟周期改为500(或其它);
3、双击“时钟1”,在“_时钟1_周期事件”子程序中输入如下两行代码:
置随机数种子 ()
_启动窗口.底=取颜值( 取随机数(0,255), 取随机数(0,255), 取随机数(0,255) )
_启动窗口.底=取颜值( 取随机数(0,255), 取随机数(0,255), 取随机数(0,255) )
第一行的输入字:zsjszz 第二行的输入字:_qdck.ds=qysz( qsjs(0,255),qsjs(0,255),qsjs(0,255) )
先不管第一行,第二行的意思是:改变“_启动窗口”的底属性。“=”右边当然是获取一种颜值了——通过系统库函数:取颜值(r,g,b)。
取颜值(r,g,b)的功能是:通过指定红(R)绿(G)蓝(B)分量来获取颜值。
取随机数(a,b)的功能是:取得介于a和b之间的随机数。调用本函数之前,一般都要先调用置随机数种子 ()函数,这好比抓阒之前要先摇一摇“子”。
通过取颜值(r,g,b)和取随机数(a,b)配合就可以随机地得到任意一种颜值。
先不管第一行,第二行的意思是:改变“_启动窗口”的底属性。“=”右边当然是获取一种颜值了——通过系统库函数:取颜值(r,g,b)。
取颜值(r,g,b)的功能是:通过指定红(R)绿(G)蓝(B)分量来获取颜值。
取随机数(a,b)的功能是:取得介于a和b之间的随机数。调用本函数之前,一般都要先调用置随机数种子 ()函数,这好比抓阒之前要先摇一摇“子”。
通过取颜值(r,g,b)和取随机数(a,b)配合就可以随机地得到任意一种颜值。
程序编完了。效果很不错吧? 下载例程
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论