Operadores
AdvPL
Símbolos e palavras que realizam cálculos, comparações, atribuições e operações especiais em expressões AdvPL.
01Matemáticos
Realizam cálculos numéricos.
Matemáticos
Realizam cálculos numéricos.
** ou ^Exponenciação.
*Multiplicação.
/Divisão.
%Módulo: resto da divisão.
+Adição ou sinal positivo.
-Subtração ou sinal negativo.
Local nPotencia := 2 ^ 3 // 8
Local nProduto := 6 * 4 // 24
Local nResto := 10 % 3 // 102Relacionais
Comparam valores e retornam um resultado lógico.
Relacionais
Comparam valores e retornam um resultado lógico.
<Menor que.
>Maior que.
=Igualdade simples; em strings, pode considerar correspondência parcial.
==Igualdade exata, especialmente importante para strings.
<=Menor que ou igual a.
>=Maior que ou igual a.
<> ou !=Diferente.
#Diferente, mantido por compatibilidade; uso obsoleto.
Local cCodigo := "ABC"
If cCodigo == "ABC"
ConOut("Código exato")
EndIf03Lógicos
Combinam ou invertem expressões lógicas.
Lógicos
Combinam ou invertem expressões lógicas.
.Not. ou !Negação lógica.
.And.E lógico: todas as condições devem ser verdadeiras.
.Or.Ou lógico: ao menos uma condição deve ser verdadeira.
Local lAtivo := .T.
Local nSaldo := 100
If lAtivo .And. nSaldo > 0
ConOut("Disponível")
EndIf04Atribuição
Gravam ou atualizam valores de variáveis.
Atribuição
Gravam ou atualizam valores de variáveis.
:=Atribui um valor.
+=Soma e atribui.
-=Subtrai e atribui.
*=Multiplica e atribui.
/=Divide e atribui.
^= ou **=Eleva e atribui.
%=Calcula o módulo e atribui.
Local nTotal := 10
nTotal += 5 // 15
nTotal *= 2 // 30
nTotal %= 7 // 205Incremento e decremento
Alteram o valor em uma unidade; a posição muda o valor retornado pela expressão.
Incremento e decremento
Alteram o valor em uma unidade; a posição muda o valor retornado pela expressão.
++xIncrementa antes de retornar o valor.
x++Retorna o valor atual e incrementa depois.
--xDecrementa antes de retornar o valor.
x--Retorna o valor atual e decrementa depois.
Local nX := 5
Local nAntes := ++nX // nX=6, nAntes=6
Local nDepois := nX++ // nDepois=6, nX=706Strings
Concatenam ou pesquisam conteúdos de caracteres.
Strings
Concatenam ou pesquisam conteúdos de caracteres.
x + yConcatena x e y.
x - yConcatena e transfere os espaços finais de x para o fim do resultado.
x $ yRetorna verdadeiro quando x está contido em y.
Local cNome := "Usina" + ".BR"
Local lTem := "AdvPL" $ "Guia AdvPL"
ConOut(cNome) // Usina.BR
ConOut(lTem) // .T.07Especiais
Atuam sobre código, estruturas, referências, aliases e objetos.
Especiais
Atuam sobre código, estruturas, referências, aliases e objetos.
&cVariavelOperador macro: avalia o conteúdo como expressão AdvPL.
| |Delimita a lista de argumentos de um bloco de código.
( )Chamada de função ou agrupamento de expressão.
[ ]Acesso a elemento de matriz.
{ }Bloco de código ou valores literais de matriz.
->Acesso a campo por alias.
@Passagem de parâmetro por referência.
;Continuação ou separação de instruções, conforme o contexto.
:Envio de mensagem, acesso a método ou membro de objeto.
Local aDados := {"A", "B"}
Local bExibe := {|cTexto| ConOut(cTexto)}
Local cCampo := "A1_NOME"
Eval(bExibe, aDados[1])
ConOut(SA1->&cCampo)- Programação em ADVPL. Microsiga, 10 ago. 2007, p. 6-7. Conteúdo reorganizado e exemplos adicionados.
- TOTVS. Operadores Comuns. TDN. Consulta técnica complementar.
- TOTVS. SDK Microsiga Protheus. TDN — referência complementar.
