定制Authorware闰年判断函数

2016-03-18 16:36 21 1 收藏

图老师电脑网络栏目是一个分享最好最实用的教程的社区,我们拥有最用心的各种教程,今天就给大家分享定制Authorware闰年判断函数的教程,热爱PS的朋友们快点看过来吧!

【 tulaoshi.com - Authorware 】


 

  "春有百花夏有雨,秋有凉风冬有雪",四季更替谓之"年",在这"年"的概念里隐藏着一个"四年一闰"的说法,也就是所谓的"闰年"。现在世界通行的公历,平年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

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/authorware/)

  打开计算图标"LeapYear"的属性对话框(Ctrl+I),把Contains Script Function选项勾上(如图1),这意味着告诉系统把"LeapYear"封装为自定义函www.tulaoshi.com数。确定后返回流程,发现计算图标"LeapYear"的图标变化了(如图2),这样自定义函数"LeapYear"就宣告诞生!



图1设置"LeapYear"的属性对话框



图2 函数"LeapYear"的图标变化

  此时执行菜单Window Functions打开函数列表窗口,在Script Icons分类中就可以看到LeapYear自定义函数的"真身"(如图3),你可以在函数描述(Description)文本框里输入函数说明和其它使用信息(也可通过执行菜单Modify  Icon  Description…来输入函数相关说明信息),例如输入:Return:=LeapYear("Year")

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/authorware/)



图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"显示属性,存盘后即完成函数的调用工作。



图4 调用自定义函数"LeapYear"

  简单的几个步骤就完成计算图标脚本的自定义函数工作,这实在是Authorware 6.5的一个革命性新功能。如果脚本是存储在外部文本文件里,这种情况该如何定义和调用函数呢?下面我们介绍一下外部文本文件的函数定义方式。

  文本文件定义方式

  1、 外部文本文件脚本准备工作

  既然脚本存储在外部文本文件里,当然首先得新建一个文本文件,例如"LeapYear.txt",编辑该TXT文本文件并输入以下脚本代码:

if MOD(Args@IconID,400)=0|(MOD(Args@IconID,4)=0 & MOD(Args@IconID,10012下一页

来源:https://www.tulaoshi.com/n/20160318/1890260.html

延伸阅读
Authorware5.0提供了Motion运动图标,它可以提供五种运动功能,但要实现像时针这类的旋转移动,Motion运动图标则无能为力,这就要借助Authorware的函数来实现这一类运动,下面以制作时钟为例,这个例子中我们要用到以下几个函数: Line(Pensize, x1, y1, x2, y2):画线函数,其中Pensize是线的宽度,x1, y1线的起点坐标,x2, y2线...
标签: Web开发
VBScript的IsDate函数用于判断一个日期是否正确,JavaScript没有这个函数,我们也来写一个类似的函数。需要说明的是,JavaScript中IsDate的参数必须为字符串,且支持6种不同的格式"yyyy-mm-dd || yyyy/mm/dd || dd-mm-yyyy || dd/mm/yyyy || mm-dd-yyyy || mm/dd/yyyy",之所以不能使用日期作为参数是因为JavaScript根本没有不正...
标签: PHP
  <?php function validateEmail($email)   {     return eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email);   }   function validateURL($url)   {     return eregi("^((ht|f...
Decode函数的语法结构如下: decode (expression, search_1, result_1)decode (expression, search_1, result_1, search_2, result_2)decode (expression, search_1, result_1, search_2, result_2, ...., search_n, result_n)decode (expression, search_1, result_1, default)decode (expression, search_1, result_1, search_2, result_2, de...
boolean isGBK(String s) throws UnsupportedEncodingException { if(s.equals(new String(s.getBytes("gbk")))) return true; else return false; }

经验教程

686

收藏

61
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部