Applescript Ext Loop cedo

0

Eu criei um loop applesScript que automatiza uma tarefa repetitiva. Ele solicita a quantidade de vezes que o loop é executado e, em seguida, faz a coisa.

No entanto, pediram-me uma maneira de sair do loop, se, por exemplo, alguém colocar acidentalmente em muitos loops.

Existe uma maneira de um usuário sair de um loop com um comando de teclado?

on run {input, parameters}

repeat input times

    tell application "AvidMediaComposer" to activate

    tell application "System Events"
        key code 29 using command down
        delay 0.2
        key code 124
        delay 0.2
        key code 39
    end tell

end repeat end run

Obrigado antecipadamente

    
por byrnec25 30.04.2015 / 19:14

1 resposta

0

Eu criaria dois scripts. Um para fazer o trabalho real que fica de olho em um sinal que você quer abortar e outro que envia o sinal. Então ...

Script de trabalho com verificações freqüentes de sinal ...

set abortPath to POSIX path of (path to home folder as string)
set abortFile to quoted form of (abortPath & "abort.cmd")

repeat
    # Lets do wome 'work'
    set r to (random number from 0.1 to 1)
    delay r

    set abortNow to false
    try
        do shell script "test -f " & abortFile
        set abortNow to true
    end try

    if abortNow is true then 
        # Should remove abort.cmd here 
        exit repeat
    end if    
end repeat

Script que envia o sinal ...

set abortPath to POSIX path of (path to home folder as string)
set abortFile to quoted form of (abortPath & "abort.cmd")

set r to display dialog "Send signal to worker?" as text ¬
    buttons {"No", "Yes"} default button ¬
    "Yes" with icon stop with title "Send Signal?"

if button returned of r is "Yes" then
    do shell script "touch " & abortFile
end if

Uma maneira mais elaborada é usar o " Corredor ASObjC " legal para mostrar um diálogo de progresso com um abortar botão você pode pressionar para parar o seu loop. Esta é uma pergunta relacionada com código de exemplo.

    
por 13.05.2015 / 20:39