Condições
Uma condição permite que uma ação decida. Um bloco Se executa os passos que contém somente quando a condição dele é verdadeira; um bloco Se… senão… executa um conjunto de passos ou o outro.
Adicionar um bloco Se
- Selecione o passo que o bloco deve seguir (ou nenhum passo, para adicioná-lo no fim).
- Clique em Se / repetição e escolha Se… ou Se… senão….
Se… adiciona duas linhas, Se e Fim do se. Se… senão… adiciona Se, Senão e Fim do se. A linha Se fica selecionada, então o próximo passo que você adicionar vai para dentro do bloco. Os passos entre Se e Senão são executados quando a condição é verdadeira; os passos entre Senão e Fim do se são executados quando ela é falsa. Depois, a ação continua após Fim do se.
Blocos podem ficar dentro de outros blocos. Não existe "senão se": coloque outro bloco Se dentro da parte Senão.
A condição
Selecione a linha Se para editar a condição dela. Verificar escolhe um de três tipos:
Os campos que você preenche para um tipo são mantidos enquanto você experimenta outro, mas somente o tipo escolhido ① é salvo.
Comparar dois valores
Valor, Comparação e Comparado com. Cada valor é digitado, é uma $variável ou é uma
leitura escolhida no menu de valores do campo, como Texto da área de transferência ou Janela de
destino (Escolher um valor no menu). Os dois campos oferecem todas as
leituras. Digitar o nome de script de uma leitura com parênteses vazios, como ClipboardGetText(), é
o mesmo que escolhê-la. As comparações são é igual a (==), é diferente de (!=), é menor que
(<), é no máximo (<=), é maior que (>) e é no mínimo (>=).
Como um valor digitado é lido: um número (como 3 ou 2.5) é um número, true ou false é
verdadeiro ou falso, uma constante nomeada (como MouseButton.Right) é o
número dela, e qualquer outra coisa é texto. Por isso você não pode comparar com o texto "3"; compare
com uma variável que o contenha.
As regras:
- Dois textos são iguais somente se correspondem exatamente, inclusive maiúsculas e minúsculas.
- Dois números são comparados pelo valor, inteiros ou não:
5é igual a5.0. - Duas janelas são iguais quando são a mesma janela.
- Valores de tipos diferentes nunca são iguais: o texto "5" não é igual ao número 5.
- é menor que e as outras comparações de ordem funcionam com dois números ou com dois textos (na ordem dos códigos de caractere, então "Z" vem antes de "a"). Qualquer outro par dá falso nas quatro.
Essas são as regras da linguagem de script; consulte Regras para tipos mistos.
O resultado de uma função interna
A condição executa uma função interna e usa o que ela devolve. Escolher uma função interna… abre a lista de todas as funções internas (Adicionar e organizar passos); escolha uma e clique em Usar esta função interna. Os campos dela aparecem então abaixo, como em qualquer passo. Até que uma função interna seja escolhida, o campo diz Escolha a função interna cujo resultado será verificado.
As funções internas feitas para isso costumam ter Is ou Contains no nome, como A janela está
maximizada? (WindowIsMaximized) ou O título contém o texto? (WindowContainsTitle), e devolvem
verdadeiro ou falso. Qualquer outro resultado conta como verdadeiro ou falso pelas regras abaixo.
Um campo da função interna da condição só pode conter uma chamada de função interna por meio de uma variável, como em qualquer passo; Mover para uma variável adiciona o passo acima do Se (Parâmetros dos passos).
Um valor ou uma variável
Valor contém um valor, normalmente uma $variável, ou uma leitura do menu de valores dele, como
acima. A condição é verdadeira quando o valor conta como verdadeiro:
| Tipo | Conta como verdadeiro quando |
|---|---|
| Verdadeiro ou falso | é verdadeiro |
| Número inteiro, Número | não é 0 |
| Texto | não está vazio |
| Janela | é uma janela (um passo que não encontrou nada não dá nenhuma janela) |
É assim que você verifica "o passo encontrou algo?": salve o resultado do passo e depois teste a variável. Consulte Tipos de valor.
Inverter o resultado
Inverter o resultado (not) ② transforma verdadeiro em falso e falso em verdadeiro. Use-o para "se a janela não estiver maximizada" com O resultado de uma função interna e A janela está maximizada?.
Parar antes
Parar os passos, do menu Se / repetição, encerra a ação nesse ponto; os passos depois dele não são executados. Coloque-o dentro de um bloco Se para parar somente em alguns casos.
Pular para um passo
A forma de texto dos passos também tem uma forma de if "ir para o passo", que pula para outro passo pelo número dele. A lista de passos não consegue mostrá-la. Uma ação que a usa só pode ser editada como texto, na visualização de código (De Passos para Script), e o editor avisa isso (Problemas). Use blocos em vez disso sempre que puder.