【问题标题】:cocoa-applescript: Determinate progress indicatorcocoa-applescript:确定进度指示器
【发布时间】:2015-08-14 12:55:08
【问题描述】:

我正在使用 Cocoa-Applescript 制作一个应用程序,该应用程序通过 ping x.y.z.[1-255] 识别本地 IP 地址,该地址已启动并正在运行,并将正在运行的 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 中设置 determinate 的信息,设置它们的最大步骤和设置它们的当前步骤 - 就像在常规 Applescript 中一样:

set progress total steps to x
set progress completed steps to y

除了它在 GUI 中,所以我需要使用 NSProgressIndicators 来完成它。综上所述,如何制作确定进度条,如何设置其总步数,如何更新当前步数?

编辑

它可以更改为在菜单构建器的属性检查器中确定,最大、最小和当前步骤也可以。但是我确实需要能够从脚本中更改最大和当前步骤,所以这些仍然适用。

【问题讨论】:

    标签: xcode cocoa progress-bar applescript-objc


    【解决方案1】:

    你可以制作一个确定进度指示符,但问题是你必须重复告诉它使用

    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_
    

    希望这有帮助!

    【讨论】:

      【解决方案2】:

      只是做:

      set progress total steps to -1
      -- do something
      set progress total steps to 0
      

      请记住,可视化取决于脚本的执行方式。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-01-26
        • 1970-01-01
        • 2018-07-26
        • 1970-01-01
        • 2011-09-29
        • 2021-05-10
        • 2017-12-12
        • 1970-01-01
        相关资源
        最近更新 更多