欢迎来到天天文库
浏览记录
ID:8798459
大小:406.15 KB
页数:10页
时间:2018-04-08
《applescript终极入门手册副本》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、AppleScript是MacOSX内置的一种功能强大的脚本语言,使用AppleScript的目的是把一些重复繁琐并且耗费时间的任务自动化。比如我是一个自由职业者,我十分的讨厌每个星期为不同的客户去创建帐单,为了解决这个问题我写了一个AppleScript来读取我在iCal里输入的时间,然后自动在MicrosoftExcel里根据这些时间创建出帐单并且自动通过邮件发送给我的客户,要完成所有的这一切动作只需要轻轻的按一个按纽。AppleScript的一个优点是你不必是一个天才程序员才能使用它,事实上你甚至不需要有任
2、何编程的经验!这篇文章会告诉你如何通过隐藏在每个应用程序框架里的简单指令去为几乎任何的应用程序写一个AppleScript。感兴趣了?那就继续读下去吧~TheMainWindow从这里开始:Tell命令块要创建一个AppleScript时,只要打开Applications文件夹里的Utilities里面的AppleScriptEditor就可以开始了。打开后你会看到上图类似的窗口,这个是AppleScript编辑器的主窗口,尝试在里面输入以下的代码:tellapplication"Finder"displaydi
3、alog"HelloWorld"endtellAppleScript这种脚本语言本身尽可能使用平实的英语作为语法来让代码特别容易理解和阅读。AppleScript的大多数命令会位于Tell命令块内,它叫“Tell命令块”是由于你在“告诉”应用程序你想它做些什么。比如上面所说的三行代码告诉Finder这个应用程序显示一个包含“HelloWorld”字符串的对话框。当你在Tell命令块内写完了你想要应用程序做的一个或多个命令后,你必须要以“endtell”命令来结束这个Tell命令块。小技巧:初学者最容易犯的错误就是
4、忘了最后加上“endtell”来结束Tell命令块,如果把它忘了,脚本将会编译失败。当你在编辑器内完成输入上面的代码后,按下上面的“Compile”铁锤图标。如果你的语法是正确的话,你所输入的代码会被自动格式化并改变颜色。如果你输入的时候出现了错误,当你编译的时候编辑器会告诉你哪一块出错了,并尝试告诉你它认为错误是什么。下面是编辑器默认的一些颜色分别代表什么,你可以在菜单栏的AppleScriptEditor->Preferences里看到并修改。SyntaxColor你的代码成功编译后,再按“Run”图标,你应
5、该会看到以下的对话框:HelloWorld现在按下“OK”按纽并且看一下编辑器下方。当你运行一脚本时,编辑器会告诉你运行的结果是什么,或者什么被“返回”了,在我们的例子里,它告诉我们“OD”按纽被按下了。声明变量变量在每一种编程语言里面的意义都是一样的,程序代码利用变量方便的对许多信息进行读取或运算。但在每一种语言里创建或“声明”变量是不同的,在AppleScript里你会像下面这样声明变量:settheStringto"HelloWorld"tellapplication"Finder"displaydialo
6、gtheStringendtell上面的例子中有几处地方需要注意。首先,我们注意到变量的声明是通过“set”和“to”命令来进行。在例子中我们“set”了我们的变量(“theString”)为一个值(“HelloWorld”)。在很多编程语言里程序员被要求必须声明变量的类型(如整型、浮点型、字符串等等),但AppleScript足够的聪明而不需要程序员声明类型。另外,请注意我是如何对变量命名的。你不能在变量名中间加空格,所以最好使用驼峰型(theString)或下划线型(the_string)变量命名方法。使用哪
7、一种命名方法并不重要,但在你所写的程序中最好保持统一的命名方法。当你读其他人写的代码时,你一定会很讨厌看到类似“myVariable”这样的变量名,因为你从变量名上根本看不出这个变量是用来存什么的。最后,我们注意到把“HelloWorld”放进了变量中,我可以在代码里一遍又一遍的引用这个变更。如果后面我决定要把“HelloWorld”改成“GoodMorningDave”,我只需要在声明变量的那一行进行修改就可以了。使用变量你可以尽情的使用变量来做各种疯狂的事,但鉴于这是一篇入门文章,我只会告诉你几种方法,输入下
8、面的代码:--IntegerVariablessettheFirstNumberto3setthetheSecondNumberto2--VariableOperationssettheAnswerto(theFirstNumber+theSecondNumber)settheAnswerto(theAnswer+1)--StringVariablessettheStri
此文档下载收益归作者所有