De Passos para Script
Quando mudar para Script
O Passos cobre a maioria das ações. Mude para Script quando precisar de algo que um passo não comporta:
- aritmética, como mover uma janela 100 pixels a partir de onde ela está;
- montar texto a partir de partes, como um nome de arquivo com a data de hoje;
- uma chamada de função interna dentro do campo de outra função interna, sem uma variável no meio;
- uma repetição que usa o próprio contador, como "para cada uma das 5 primeiras janelas".
Mudar nunca faz você perder seus passos: uma ação mantém o conteúdo de Passos e o conteúdo de Script lado a lado (Passos, Script e AutoHotkey).
A visualização de código
Modo Avançado. Ver código, no fim do editor de Passos, mostra os passos como texto: a forma em que eles são armazenados. Ocultar código os oculta de novo. Ela começa oculta toda vez que você seleciona outra ação.
- Uma edição na visualização de código ② recria as linhas de passos acima assim que o texto é válido.
- Quando o texto não pode ser mostrado como linhas, por exemplo porque usa a forma de if "ir para o passo", o editor mostra o código sem o link Ver código, já que essa passa a ser a única forma de editar os passos. As linhas são substituídas por uma mensagem que explica o motivo (Problemas).
- O editor nunca reescreve um texto que não consegue mostrar como linhas. Os comentários do texto não são mantidos depois que você edita as linhas.
A forma de texto em si, cada tipo de passo e os campos dele, está descrita em O mecanismo Passos.
Traduzir passos em um script
- Selecione Script em Escrita como.
- Se a ação tiver passos e o conteúdo de Script estiver vazio, Converter os passos em um script? pergunta se você quer traduzi-los. Clique em Converter.
- A tradução aparece no editor de Script. Revise-a e termine-a lá.
Quando os passos são uma gravação feita na página Gravador, a caixa de diálogo acrescenta: Estes passos são uma gravação. Como Script, eles ignoram a Velocidade de reprodução e o Detalhe do trajeto do mouse na reprodução do Gravador: as esperas ocorrem na velocidade gravada e cada movimento do mouse gravado é reproduzido. (Configurações de reprodução)
A tradução vale em um único sentido. Os passos ficam como estavam, então voltar para Passos os mostra inalterados, mas nada transforma um script de volta em passos.
Ela não é oferecida quando:
- o conteúdo de Script já tem texto (ele seria sobrescrito);
- os passos não podem ser mostrados como linhas;
- algum passo é Repetir enquanto, Repetir até, Sair da repetição ou Parar os passos. O Script só tem repetições com contador, e nada que saia de uma repetição ou encerre a ação antes.
No que cada passo se transforma
| Passo | Script |
|---|---|
| Um passo de função interna | Uma instrução, WindowMaximize(window); |
| Um passo com Salvar resultado como | name = Builtin(…); |
| Definir variável | name = value; |
Um $nome em um campo | o nome sozinho, nome |
| Uma leitura como Janela de destino | a chamada, ContextGetWindow() |
Uma constante nomeada como MouseButton.Primary, fora de um campo Texto | o nome como está |
| Texto | uma cadeia entre aspas, com barras invertidas e aspas escapadas |
| Um campo vazio | o valor vazio do tipo, como 0 ou "" |
| Se / Senão / Fim do se | if (…) { … } else { … } |
| Uma comparação | a == b e os outros operadores; Inverter o resultado vira !(…) |
| Repetir um número de vezes | uma repetição for sobre um contador chamado i (ou i2 e assim por diante, se i já estiver em uso) |
Por exemplo, a receita de maximizar ou restaurar se transforma em:
window = ContextGetWindow();
if (WindowIsMaximized(window)) {
WindowRestore(window);
} else {
WindowMaximize(window);
}
Uma diferença a observar: no Passos, uma variável usada antes de algum passo salvá-la é lida como 0. No Script, uma variável precisa ser atribuída antes do primeiro uso no texto, ou o script não compila (Variáveis).
Gravações
O Gravador de macros também mostra uma gravação como passos, com um botão Script que a traduz da mesma forma. Uma gravação mantida como passos segue a configuração Velocidade de reprodução; uma traduzida é reproduzida como foi gravada.