Histórico da Página
...
Operadores de Caracteres
Todos los operadores de caracteres son binarios, es decir, siempre actúan sobre dos expresiones de datos tipo carácter. Existen sólo dos operadores de caracteres:
...
Sem Formato |
---|
cTexto1 := “AdvPL“ cTexto2 := “ Lenguaje de programación de TOTVS” cTexto3 := cTexto1 + cTexto2 MSGALERT(cTexto3) // Resulta: “AdvPL Lenguaje de programación de TOTVS” cTexto4 := cTexto1 – cTexto2 MSGALERT(cTexto4) // Resulta: “AdvPLLinguaje de programación de TOTVS” |
Operadores de Fechas
Datos tipo fecha se pueden sumar o sustraer en términos de número de días por medio de los operadores suma ( + ) y sustracción ( - ).
...
Sem Formato |
---|
MSGALERT(CTOD(“19/12/90”) – CTOD(“25/12/90”)) // Resulta: 6. Es decir, seis días de intervalo. |
Operadores Matemáticos
Todos os operadores matemáticos, excepto los signos unarios positivo y negativo, son binarios y operan sobre expresiones o datos numéricos, que generan otros valores numéricos como resultado. Son los siguientes:
...
Se pueden definir tantos niveles de paréntesis como sean necesario, siempre y cuando su balanceo esté correcto. Es decir, el número de abre paréntesis debe ser idéntico al número de cierra paréntesis.
Operadores Relacionales
Los operadores relacionales son binarios y generan resultados lógicos (verdadero o falso) a partir de la comparación entre dos expresiones.. Se pueden utilizar en expresiones numéricas, carácter, fecha o NIL.
Las expresiones relacionadas deben ser obligatoriamente del mismo tipo de dato. Los operadores relacionales del AdvPL son:
...
Cuando se comparan dos array, el operador doble igual (==) regresa verdadero (.T.) si ambos tienen el mismo contenido. Es decir, si son idénticos, teniendo los mismos elementos y valores.
Operadores Lógicos
Los operadores lógicos suministran valores lógicos (falso / .F. o verdadero / .T.) a partir de la comparación de dos expresiones lógicas, que son sus operandos. Excepto el operador .NOT. o !, todos son binarios.
...
Operadores de Atribución
Los operadores de atribución relacionados a continuación, atribuyen valores o datos a las variables, campos o elementos de array:
...
Operadores de Incremento y Decremento
Los operadores de incremento son unarios, es decir, operan sobre un único operando del tipo numérico o fecha. El operando debe ser el nombre de una variable y no debe ser un campo de archivo de datos. El tipo de dato que resulta de la operación será idéntico al del operando. La siguiente tabla muestra estos operadores y su operación
...
Sem Formato |
---|
nNum1 := 0 nNum2 := ++nNum1 MSGALERT(nNum1) // Resulta 1 MSGALERT(nNum2) // Resulta 1 nNum2 := 1 nNum4 := nNum2-- MSGALERT(nNum2) // Resulta 0 MSGALERT(nNum4) // Resulta 1 nNum5 := 2 MSGALERT(nNum5++ * nNum5) // Resulta 6 MSGALERT(nNum5) // Resulta 3 MSGALERT(nNum6 := 2) MSGALERT(--nNum6 * nNum6) // Resulta 1 MSGALERT(nNum6) // Resulta 1 |
Operadores Especiales
La siguiente tabla muestra los operadores especiales del AdvPL y su respectivo objetivo.
...
Sem Formato |
---|
FUNCTION Main() LOCAL nA := 0 LOCAL nB := 1 LOCAL nC := 2 LOCAL nX := 0 nX := Calculo(@nA, nB, nC) MSGALERT(nX) // Resulta 6 MSGALERT(nA) // Resulta 3 // El valor de la variable nA se modificó porque ésta fue pasada por referencia a la función Calculo() RETURN NIL // Función de cálculo FUNCTION Calculo(nParam1, nParam2, nParam3) LOCAL nRetorno := 0 nParam1 := nParam2 + nParam3 nRetorno := nParam1 * nParam2 * nParam3 RETURN nRetorno |
El Operador Macro ( & )
El operador macro permite compilar expresiones durante la ejecución de los programas y la sustitución del nombre de variables o expresiones tipo carácter por su contenido o resultado. Siempre que el operador macro ( & ) sea encontrado, la expresión se someterá al compilador del AdvPL
...
Orden de Precedencia de los Operadores
Cuando varios operadores distintos se utilizan en una misma expresión, el orden de precedencia para ejecutar las operaciones es:
...