Operadores
AdvPL
Símbolos y palabras que realizan cálculos, comparaciones, asignaciones y operaciones especiales en expresiones AdvPL.
01Matemáticos
Realizan cálculos numéricos.
Matemáticos
Realizan cálculos numéricos.
** o ^Exponenciación.
*Multiplicación.
/División.
%Módulo: resto de la división.
+Suma o signo positivo.
-Resta o signo negativo.
Local nPotencia := 2 ^ 3 // 8
Local nProduto := 6 * 4 // 24
Local nResto := 10 % 3 // 102Relacionales
Comparan valores y devuelven un resultado lógico.
Relacionales
Comparan valores y devuelven un resultado lógico.
<Menor que.
>Mayor que.
=Igualdad simple; en cadenas puede considerar una coincidencia parcial.
==Igualdad exacta, especialmente importante para cadenas.
<=Menor o igual que.
>=Mayor o igual que.
<> o !=Distinto.
#Distinto, conservado por compatibilidad; obsoleto.
Local cCodigo := "ABC"
If cCodigo == "ABC"
ConOut("Código exato")
EndIf03Lógicos
Combinan o invierten expresiones lógicas.
Lógicos
Combinan o invierten expresiones lógicas.
.Not. o !Negación lógica.
.And.Y lógico: todas las condiciones deben ser verdaderas.
.Or.O lógico: al menos una condición debe ser verdadera.
Local lAtivo := .T.
Local nSaldo := 100
If lAtivo .And. nSaldo > 0
ConOut("Disponível")
EndIf04Asignación
Guardan o actualizan valores de variables.
Asignación
Guardan o actualizan valores de variables.
:=Asigna un valor.
+=Suma y asigna.
-=Resta y asigna.
*=Multiplica y asigna.
/=Divide y asigna.
^= o **=Eleva y asigna.
%=Calcula el módulo y asigna.
Local nTotal := 10
nTotal += 5 // 15
nTotal *= 2 // 30
nTotal %= 7 // 205Incremento y decremento
Cambian el valor en una unidad; la posición determina el valor devuelto por la expresión.
Incremento y decremento
Cambian el valor en una unidad; la posición determina el valor devuelto por la expresión.
++xIncrementa antes de devolver el valor.
x++Devuelve el valor actual y después incrementa.
--xDecrementa antes de devolver el valor.
x--Devuelve el valor actual y después decrementa.
Local nX := 5
Local nAntes := ++nX // nX=6, nAntes=6
Local nDepois := nX++ // nDepois=6, nX=706Strings
Concatenan o buscan contenido de caracteres.
Strings
Concatenan o buscan contenido de caracteres.
x + yConcatena x e y.
x - yConcatena y mueve los espacios finales de x al final del resultado.
x $ yDevuelve verdadero cuando x está contenido en y.
Local cNome := "Usina" + ".BR"
Local lTem := "AdvPL" $ "Guia AdvPL"
ConOut(cNome) // Usina.BR
ConOut(lTem) // .T.07Especiales
Operan sobre código, estructuras, referencias, alias y objetos.
Especiales
Operan sobre código, estructuras, referencias, alias y 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 o agrupamento de expressão.
[ ]Acesso a elemento de matriz.
{ }Bloco de código o valores literais de matriz.
->Acesso a campo por alias.
@Passagem de parâmetro por referência.
;Continuação o separação de instruções, conforme o contexto.
:Envio de mensagem, acesso a método o 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. Contenido reorganizado con ejemplos añadidos.
- TOTVS. Operadores Comuns. TDN. Referencia técnica complementaria.
- TOTVS. SDK Microsiga Protheus. TDN — referencia complementaria.
