admin 管理员组

文章数量: 887021


2023年12月24日发(作者:teraterm使用教程)

本节主要包括以下几个简单的、应用“时钟”控件的小程序:1、连续鸣叫;2、动态显示时间;3、会变色的窗口;4、旋转的文字。

以上程序无一例外地使用了易语言中一个很简单又很常用的控件:时钟。为什么说它简单呢?因为它的属性和事件极少(没有方法)——它只有一个重要属性:时钟周期,只有一个事件:周期事件。

时钟控件的作用:每隔一定的时间(由其属性时钟周期指定)产生一个“周期事件”。一时不明白没有关系,先看下面的例子。

程序一:连续鸣叫 下载例程

本程序的功能:每隔一秒,使机箱喇叭或音箱“叫”一声。

1、打开易语言,新建一个程序;

2、把“_启动窗口”的标题属性改为“连续鸣叫”;(这一步不是必需的。)

3、向“_启动窗口”中拖放一个“时钟”控件(它被自动命名为“时钟1”),如右图:

这时,请看一下工作夹的属性子夹(首先选中“时钟1”)——它只有八个属性:名称、备注、左边、顶边、宽度、高度、标记和时钟周期。

[注:时钟控件是非可视控件,即程序运行时是看不到它的,所以它的位置和大小无关紧要。时钟控件的最重要的属性只有一个:时钟周期。]

4、把“时钟1”的时钟周期属性改为 1000

(它的单位是:毫秒);<这一步关键>

5、双击“时钟1”,在“_时钟1_周期事件”子程序中,输入以下代码:

鸣叫()

[注:输入字可以是:mj,mj(),鸣叫,鸣叫()等。]

[注:系统库函数“鸣叫”功能是,使机箱喇叭或音箱发出一个简单的声音。]

[注:因为我们已经把时钟周期属性设为1000,所以,时钟1的“周期事件”将每1000毫秒(1秒)产生一次。换个说法,就是子程序“_时钟1_周期事件”每隔1秒被自动调用一次。再换个说法,就是函数鸣叫()每秒执行一次。由此我们不难想象本程序的执行效果:每隔一秒,喇叭或音箱就“鸣叫”一下。]

输入代码后的易语言主窗口如下图所示:

好了,这个程序就编好了!下载例程。

本程序运行的效果是:每隔1秒,喇叭或音箱就“鸣叫”一声,如果不关闭程序,就一直叫下去。运行界面如右图(窗口里什么也没有):

亲自感受一下,看看效果怎么样?如果喜欢,就把它存盘吧(不妨存为beep.e)。[提示:把“时钟1”的时钟周期属性改一下,比如改为500或1000,再运行程序,发觉“鸣叫”的时间间隔变了,是吗?]

现在分析一下,为什么会这样。首先要明确的是,时钟控件有这样的功能:每隔一定时间自动产生一个“周期事件”——间隔时间是由时钟的时钟周期属性指定的(单位是毫秒)。其次,我们在时钟1的“周期事件”的事件处理子程序“_时钟1_周期事件”中写入了代码。所以,程序会每隔一秒执行其中的代码,执行的结果当然是使喇叭或音箱就“鸣叫”了。

(注:如果追根究底,非要问“为什么时钟控件能每隔一定时间产生一个周期事件”的话,我建议您去问微软。呵呵,初学者不用研究那么深的,只要记住“时钟控件能每隔一定时间产生一个周期事件”就可以了。千万要记住呀,很常用的。)

程序二:动态显示时间 下载例程

本程序的功能:在窗口上显示系统时间,并每隔一秒更新一次。

运行效果如右图:

编写步骤如下:

1、新建一个程序,把“_启动窗口”的标题属性

改为“动态显示时间”;

2、向“_启动窗口”中拖放一个标签控件,和一个时钟控件,并把时钟控件的时钟周期属性改为1000;(程序设计界面见右边下图:)

3、双击“时钟1”,输入如下代码:

标签1.标题 = 到文本 (取现行时间

())

输入字为:=dwb(qxxsj()) 其中“dwb”对应“到文本”,“qxxsj”对应“取现行时间”。

代码有点复杂,让我们分析一下。首先容易明白的是,代码的目的是为“标签1”的标题属性赋值——把“=”号右边的值赋给“=”号左边(“=”是赋值运算符)。那“=”号右边又是什么呢?是系统库函数之一,其功能是从计算机中读取当前的系统时间。到文本()也是系统库函数之一,它的功能是卖掉数据类型——把非文本型的转换为文本型。综合起来,这行代码的意思就是:读取当前的系统时间,并把时间转换为文本型,然后赋值给“标签1”的标题属性。

为什么不直接把取现行时间()的返回值赋给“标签1.标题”,而要经过一次转换?答:取现行时间()的返回值的数据类型是“日期时间型”,而“标签1.标题”的数据类型是“文本型”,数据类型不一致是不能直接赋值的。

[注:“x=y”是易语言中典型的赋值语句。 这里的“=”是“赋值运行符”,而不是“等于”的意思。所谓“赋值”,就是把“=”左边的内容擦掉,换成“=”右边的值。举个例子:标签1.标题=“易语言”,就是把标签1的标题属性改为“易语言”——如果原来有内容,当然覆盖掉。这跟在属性夹中修改是等效的。]

[注:我初学编程时,就对“赋值”二字非常迷惑——可能与“赋”字笔画比较多并且意义不鲜明有关吧——用了很长时间才搞清楚。如果各位有同样的迷惑,不妨先放一放,也许不久会不点自明。放心吧!]

程序已经编写完了。运行一下看看效果!这里下载例程。

程序三:会变色的窗口 下载例程

本程序的功能:窗口每隔一定时间会自动改变颜色。

运行效果如右图:

1、新建一个程序,把“_启动窗口”的标题改为“会变色的窗口”;

2、在“_启动窗口”上放一个时钟控件,并把其时钟周期改为500(或其它);

3、双击“时钟1”,在“_时钟1_周期事件”子程序中输入如下两行代码:

置随机数种子 ()

_启动窗口.底色=取颜色值( 取随机数(0,255), 取随机数(0,255), 取随机数(0,255) )

第一行的输入字:zsjszz 第二行的输入字:_=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)配合就可以随机地得到任意一种颜色值。

程序编完了。效果很不错吧? 下载例程


本文标签: 时钟 时间 控件 属性 每隔