"春有百花夏有雨,秋有凉风冬有雪",四季更替谓之"年",在这"年"的概念里隐藏着一个"四年一闰"的说法,也就是所谓的"闰年"。现在世界通行的公历,平年365天,闰年366天,每四年一闰,每满百年少闰一次,到第四百年再闰,即每四百年中有97个闰年。闰年的判断算法虽然简单,却是计算机编程里的一个经典问题,常被程序员编制为通用函数进行各种场合的调用,今天我们就把它引入到authorware 6.5里,定制一个authorware的闰年判断函数!
authorware 6.5是目前的最新版本,在这个6.5新版本中最引人注目的就是开始支持自定义函数功能,它允许把内部计算图标代码或者存储在外部文本文件的脚本,甚至是字符串自定义为函数--盼望已久的自定义函数功能终于浮现在广大authorware爱好者面前!虽然相对于高级语言开发平台来说,authorware 6.5的自定义函数功能显得相对"幼稚",但是它的出现无疑使authorware的脚本语句变得更加灵活强大,易于管理!我们马上来尝尝鲜,编写一个闰年判断函数for authorware版本。
计算图标定义方式
根据内部计算图标代码定义函数是最基本方法,启动authorware 6.5,开始创建一个具有非凡意义的自定义函数--闰年判断函数leapyear。
1、 新建工程,命名自定义函数
新建一个"leapyearfunction.a6p"文件;拖动一个计算图标到流程线上,并命名为"leapyear",这个名字将成为即将诞生的自定义函数的名称。函数命名需要注意唯一性,不能和其它图标或者函数同名,否则将不能正常调用执行。
2、 编写闰年判断函数leapyear
目前公认的闰年判断算法,满足下列二者之一,即为闰年:
① 能被4整除,但不能被100整除
② 能被4整除,且能被400整除
根据这个算法,我们就可以在程序中实现闰年的逻辑判断。打开计算图标"leapyear",在里面写入以下代码:
if mod(args@"leapyear",400)=0|(mod(args@"leapyear",4)=0 & mod(args@"leapyear",100)<>0) then
result@"leapyear":=true
else
result@"leapyear":=false
end if
打开计算图标"leapyear"的属性对话框(ctrl+i),把contains script function选项勾上(如图1),这意味着告诉系统把"leapyear"封装为自定义函数。确定后返回流程,发现计算图标"leapyear"的图标变化了(如图2),这样自定义函数"leapyear"就宣告诞生!
图1设置"leapyear"的属性对话框
图2 函数"leapyear"的图标变化
图3 自定义函数"leapyear"
3、 调用自定义函数leapyear
函数编写封装的目的就是为主程序服务,我们立马派遣"leapyear"上岗。authorware 6.5中是通过系统函数callscripticon来调用内部计算图标脚本方式定义的函数的。我们编写的闰年判断函数leapyear为一返回型函数,返回值为true(1)或者false(0),true表示为闰年,false则相反。
我们继续在计算图标"leapyear"后添加一交互图标"showyear",拖动一计算图标到其右边,选择为文本输入响应交互,并命名为"*"(即接受任何文本输入);打开该计算图标并输入以下代码:
if callscripticon(@"leapyear",entrytext)=true then
ifleapyear:="是"
else
ifleapyear:="否"
end if
最后我们设置一下显示界面,双击打开交互图标"showyear",用文本工具输入{ ifleapyear },并勾选"update displayed variables"显示属性,存盘后即完成函数的调用工作。
[1] [2] 下一页
新闻热点
疑难解答