Usina BRGuía AdvPL
Ingresar
← CatálogoFUNDAMENTO

Operadores
AdvPL

Símbolos y palabras que realizan cálculos, comparaciones, asignaciones y operaciones especiales en expresiones AdvPL.

01

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.

EJEMPLO
Local nPotencia := 2 ^ 3     // 8
Local nProduto  := 6 * 4     // 24
Local nResto    := 10 % 3    // 1
02

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.

EJEMPLO
Local cCodigo := "ABC"

If cCodigo == "ABC"
    ConOut("Código exato")
EndIf
03

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.

EJEMPLO
Local lAtivo := .T.
Local nSaldo := 100

If lAtivo .And. nSaldo > 0
    ConOut("Disponível")
EndIf
04

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.

EJEMPLO
Local nTotal := 10

nTotal += 5   // 15
nTotal *= 2   // 30
nTotal %= 7   // 2
05

Incremento y decremento

Cambian el valor en una unidad; la posición determina el valor devuelto por la expresión.

++x

Incrementa antes de devolver el valor.

x++

Devuelve el valor actual y después incrementa.

--x

Decrementa antes de devolver el valor.

x--

Devuelve el valor actual y después decrementa.

EJEMPLO
Local nX := 5
Local nAntes  := ++nX  // nX=6, nAntes=6
Local nDepois := nX++  // nDepois=6, nX=7
06

Strings

Concatenan o buscan contenido de caracteres.

x + y

Concatena x e y.

x - y

Concatena y mueve los espacios finales de x al final del resultado.

x $ y

Devuelve verdadero cuando x está contenido en y.

EJEMPLO
Local cNome := "Usina" + ".BR"
Local lTem  := "AdvPL" $ "Guia AdvPL"

ConOut(cNome) // Usina.BR
ConOut(lTem)  // .T.
07

Especiales

Operan sobre código, estructuras, referencias, alias y objetos.

&cVariavel

Operador 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.

EJEMPLO
Local aDados := {"A", "B"}
Local bExibe := {|cTexto| ConOut(cTexto)}
Local cCampo := "A1_NOME"

Eval(bExibe, aDados[1])
ConOut(SA1->&cCampo)
REFERENCIAS
  1. Programação em ADVPL. Microsiga, 10 ago. 2007, p. 6-7. Contenido reorganizado con ejemplos añadidos.
  2. TOTVS. Operadores Comuns. TDN. Referencia técnica complementaria.
  3. TOTVS. SDK Microsiga Protheus. TDN — referencia complementaria.