Pergunta

Estou tentando criar um serviço no OSX Leopard que conta o número de palavras de texto selecionado. Eu tenho o Automator definido para executar um AppleScript, com o seguinte colocado:

on run {input, parameters}
        count words of input
        display alert "Words: " & input
        return input
end run

Quando compilar o script, ele diz que não pode contar todas as palavras. O que estou fazendo errado?

Obrigado pela ajuda,

Elliott

Foi útil?

Solução

Primeiro de tudo, presumo que você esteja testando isso no Automator, e é aí que o erro está ocorrendo? Nesse caso, o provável problema é que não há entrada - para que não possa contar as palavras de nada. Para testá -lo com sucesso, você precisa adicionar temporariamente uma ação "Obter texto especificado" antes da ação Run AppleScript e insira algum texto de teste nesse campo. Você terá que remover a ação de texto GET GET Antes de usá -la como um serviço real.

Em segundo lugar, você precisa usar

count words of (input as string)

Para obter uma contagem adequada, caso contrário, ele retornará zero.

Outras dicas

Eu fiz um aqui, no Github:

https://gist.github.com/1616556

A fonte atual é:

on run {input, parameters}
    tell application "System Events"
        set _appname to name of first process whose frontmost is true
    end tell
    set word_count to count words of (input as string)
    set character_count to count characters of (input as string)
    tell application _appname
        display alert "" & word_count & " words, " & character_count & " characters"
    end tell
    return input
end run

Use o Automator.app para criar um novo serviço e selecione a ação Run AppleScript. Cole este código na caixa de texto e salve como contagem de palavras e caracteres. Agora mude para um novo aplicativo, selecione algum texto e abra o menu de contexto para encontrar a nova opção.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top