AppleScript写了个对话框代码怎么保存起来?

AppleScript写了个对话框代码怎么保存起来?,第1张

好像mfc文档视图程序才会自动处理保存和另存为,视文档修改过是否还没保存来自动d晌饥出另宴如返存为对话框

对话框程序是不会自动处理的橡迹。如果你只写了保存的代码,当然只有一种功能。把你的处理代码贴上来,并说明要实现什么功能

关于AppleScript

说到AppleScript,可能涉及到三个含义:

1.AppleScript语言:就是苹果脚本的语言,用来编写运行于Mac系统的脚本。

2.AppleScript脚本庆芹:就是使用AppleScript语言编写的一系列指令。以后简称脚本。

3.AppleScript脚本解释程序:用于解释和执行AppleScript脚本中指令的程序。是Mac系统的原生程序和重要组成部分。下面简称AppleScript脚本程序。

AppleScript Editor

要编写AppleScript脚本,当然就需要编辑工具了,首先打开AppleScript编辑器:

貌似可以使用Xcode编写Cocoa - AppleScript Application,这个暂时还没尝试。我们先从AppleScript编辑器开始。

界面很简单,主要分为工具栏、编辑区和运行结果区。编辑区用来编写脚本,工具栏用来编译和运行脚本等,运行结果区呈现运行结果,这个不用多说了吧。

say和beep

首先来玩两件很好玩的事:让Mac发音和说话。

在编辑区输入以下脚本:

view sourceprint?

1.say "How are you?" using "Zarvox"

2.say "Fine, thank you." using "Victoria"

3.say "Ha Ha"

4.beep

点击工具栏的编译(或Command + K),可以看到脚本变了颜色,具体颜色的含义,可以在偏好设置中查看并设置:

接着点击运行(Command + R运行,Command + .停止运行)。可以看到运行结果区的回复栏中的显示如下:

更加好玩的是Mac系统在自然自语了,还有最后的一声咚。

下面来解释下脚本和运行结果的意思:

view sourceprint?

1.say "说话的内容" using "指定人的嗓音"

这句脚本的意思就是让Mac系统按照指定人的嗓音说出我们指定的说话内容。当然using "誉拦毕..."是可以缺省的。

view sourceprint?

1.beep 发声次数

这句脚本的意思是让Mac系统发出咚的声音,发声次数决定了咚出现的次数,例如beep 2那么Mac会咚两次。发声次数缺省为1。

在运行时回复输出的意思是:

tell表明将以上say和beep的任务交付给current application去完成,也就是AppleScript脚本程序。

tell模块

同样道理,我们可以用tell模块将特定的任务交付给Mac中特定的程序去衡桐执行。

tell模块的语法为:

view sourceprint?

1.tell application "Application Name"

2.do your job here

3.end tell

例如我们想让Finder程序清空垃圾篓然后打开磁盘,可以这样写:

view sourceprint?

1.tell application "Finder"

2.empty the trash

3.beep

4.open the startup disk

5.end tell

注意"Finder"的双引号必不可少。

回复输出为:

view sourceprint?

01.tell application "Finder"

02.empty trash

03.-->current application

04.-->error number 0

05.beep

06.-->error number -10004

07.end tell

08.tell current application

09.beep

10.end tell

11.tell application "Finder"

12.open startup disk

13.end tell

可以看到empty the trash任务是交给Finder程序去完成的,而beep任务是交给current application程序去完成,接下来的open the startup disk任务还是交回给Finder程序完成。

在tell模块中的任意位置可以插入beep,say等由current application程序解释执行的语句

注意,交付给某个程序执行的语句必须在tell模块之内。

错误写法:

view sourceprint?

1.tell application "Finder"

2.empty the trash

3.beep

4.end tell

5.open the startup disk

编译时可以看到没有报错,运行起来看看:

运行结果区的回复输出如下:

view sourceprint?

01.tell application "Finder"

02.empty trash

03.-->current application

04.-->error number 0

05.beep

06.-->error number -10004

07.end tell

08.tell current application

09.beep

10.end tell

11.tell application "AppleScript Editor"

12.open startup disk

13.-->missing value

14.end tell

15.结果:

16.missing value

boot应该由Finder程序去打开,但是由于超出了tell applicaiton "Finder"模块,所以给语句将交由AppleScript Editor程序解释执行,很可惜,AppleScript编辑器无法打开boot,报错。

AppleScript Editor的小技巧

1.使用esc键呼出代码补全菜单

在写te时按下esc键,此时出现代码补全菜单:

2.在编辑区点击右键(或按住control键再点击左键)呼出上下文菜单

在上下文菜单中我们可以将AppleScript语句快速地插入到编辑区中,例如:

也可以将一段语句插入到Tell语句块中,方法是先选中这段语句,再插入到Tell Blocks中:

3.编辑程序的补全和修正功能

你可以输入:

view sourceprint?

1.tell app "Finder"

2.end

在编译后将被替换为:

view sourceprint?

1.tell application "Finder"

2.end tell

在编写AppleScript脚本时,是不区分大小写的,当然在编译过后也会被替换成正确的大小写形式。

这些小技巧都非常有利于快速编写脚本。

保存脚本

写好了程序,当然是保存了。可以在菜单中点击文件 —— 存储(或按快捷键Command + S)。

在保存时有多种文件格式:

保存为脚本格式

如果保存为脚本,那么下次打开文件时还是用AppleScript编辑程序来打开。桌面图标如下:

保存为应用程序格式

如果保存为应用程序,那么最好保留个脚本的copy,否则将不能用AppleScript Editor来打开编辑。

保存时的对话框如下:

如果选中“显示启动屏幕”,那么以后运行程序前会d出一个对话框提示:

如果选中“运行处理程序后保持打开”选项,那么在程序运行完毕后会停留在Dock中。

保存的图标和脚本格式不同,如下(少了个纸张背景):


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12519637.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存