cocoa-applescript:确定进度指示器
cocoa-applescript: Determinate progress indicator
我正在使用 Cocoa-Applescript 创建一个应用程序,它通过 ping x.y.z.[1-255] 并附加 运行 IP 到一个文本文件。我已经有一个用于选择 x、y 和 z 的 GUI,并且已经编写了脚本来 ping 每个地址:
repeat 255 times
try
do shell script "ping -o -t 1 -c 1 " & ipstamp & num4
do shell script "echo " & ipstamp & num4 & " >>/Users/DJ/Desktop/GoodIPs.txt"
end try
set num4 to (num4 + 1)
end repeat
其中 ipstamp 是 x.y.z 和 num4 是 [1-255]。但现在我想要一个进度指示器来显示它在流程中的位置。我知道如何获得一个只是开始和停止的不确定指标:
ProgressBar's startAnimation_(ProgressBar)
## code to ping IP address
ProgressBar's stopAnimation_(ProgressBar)
但这只是不确定的,我找不到任何关于在 Cocoa-Applescript 中设置 确定 的信息,设置它们的最大步长和设置它们的当前步长 -很像普通的 Applescript:
set progress total steps to x
set progress completed steps to y
除了它在 GUI 中,所以我需要使用 NSProgressIndicators 来完成它。那么总结一下,如何制作一个determinate进度条,如何设置它的总步数,如何更新它的当前步数?
编辑
它可以更改为在菜单构建器的属性检查器中确定,最大、最小和当前步数也可以。但是我确实需要能够从脚本中更改最大步数和当前步数,因此这些仍然适用。
好吧,您可以制作一个确定进度指示器,但问题是您必须使用
重复告诉它达到一定长度
setDoubleValue_()
消息,但无论如何这里有一个简单的脚本告诉它去到 100
property MyProgressBar : missing value -- Progress Bar IB Outlet
on applicationWillFinishLaunching_(aNotification)
set c to 0
repeat 100 times
set c to c + 1
delay 0.2
tell MyProgressBar to setDoubleValue_(c) -- Tells Progress bar the % to go to
if c > 99 then
exit repeat -- If current repeat is 100 or more then cancels adding more
end if
end repeat
end applicationWillFinishLaunching_
希望对您有所帮助!
就这样:
set progress total steps to -1
-- do something
set progress total steps to 0
请记住,可视化效果取决于脚本的执行方式。
我正在使用 Cocoa-Applescript 创建一个应用程序,它通过 ping x.y.z.[1-255] 并附加 运行 IP 到一个文本文件。我已经有一个用于选择 x、y 和 z 的 GUI,并且已经编写了脚本来 ping 每个地址:
repeat 255 times
try
do shell script "ping -o -t 1 -c 1 " & ipstamp & num4
do shell script "echo " & ipstamp & num4 & " >>/Users/DJ/Desktop/GoodIPs.txt"
end try
set num4 to (num4 + 1)
end repeat
其中 ipstamp 是 x.y.z 和 num4 是 [1-255]。但现在我想要一个进度指示器来显示它在流程中的位置。我知道如何获得一个只是开始和停止的不确定指标:
ProgressBar's startAnimation_(ProgressBar)
## code to ping IP address
ProgressBar's stopAnimation_(ProgressBar)
但这只是不确定的,我找不到任何关于在 Cocoa-Applescript 中设置 确定 的信息,设置它们的最大步长和设置它们的当前步长 -很像普通的 Applescript:
set progress total steps to x
set progress completed steps to y
除了它在 GUI 中,所以我需要使用 NSProgressIndicators 来完成它。那么总结一下,如何制作一个determinate进度条,如何设置它的总步数,如何更新它的当前步数?
编辑
它可以更改为在菜单构建器的属性检查器中确定,最大、最小和当前步数也可以。但是我确实需要能够从脚本中更改最大步数和当前步数,因此这些仍然适用。
好吧,您可以制作一个确定进度指示器,但问题是您必须使用
重复告诉它达到一定长度setDoubleValue_()
消息,但无论如何这里有一个简单的脚本告诉它去到 100
property MyProgressBar : missing value -- Progress Bar IB Outlet
on applicationWillFinishLaunching_(aNotification)
set c to 0
repeat 100 times
set c to c + 1
delay 0.2
tell MyProgressBar to setDoubleValue_(c) -- Tells Progress bar the % to go to
if c > 99 then
exit repeat -- If current repeat is 100 or more then cancels adding more
end if
end repeat
end applicationWillFinishLaunching_
希望对您有所帮助!
就这样:
set progress total steps to -1
-- do something
set progress total steps to 0
请记住,可视化效果取决于脚本的执行方式。