CharacterTexto delimitado por comillas simples o dobles.
Guía AdvPLLocal <variável> := <valor> · ValType(<variável>)Comprende cómo crear, nombrar, inicializar y asignar variables AdvPL y cómo su tipo sigue el valor almacenado.
Una variable es una referencia con nombre a un valor mantenido en memoria durante la ejecución. En AdvPL tradicional, su tipo es dinámico: lo determina el valor asignado y puede cambiar durante la vida de la variable. Esto es distinto del ámbito, que controla visibilidad y duración, y del tipado explícito As <tipo>, que documenta y restringe el contrato esperado.
Local <variável> := <valor> · ValType(<variável>)CharacterTexto delimitado por comillas simples o dobles.
NumericNúmero entero o decimal almacenado en punto flotante.
DateFecha creada con Date(), CToD(), SToD() u otra función.
LogicalVerdadero (.T.) o falso (.F.).
ArrayColección indexada desde 1 que puede contener tipos diferentes.
CodeBlockConjunto de expresiones que puede ejecutarse posteriormente con Eval().
ObjectInstancia de una clase.
NILAusencia de valor; estado inicial habitual de una variable declarada sin inicializar.
User Function ExVariables()
Local cProducto := "Teclado"
Local nCantidad := 2
Local nPrecio := 150.50
Local lDisponible := .T.
Local dRegistro := Date()
If lDisponible
MsgInfo(cProducto + " - total: " + ;
CValToChar(nCantidad * nPrecio))
EndIf
ReturnCada variable recibe un valor inicial coherente con la intención indicada por el prefijo.
User Function ExNil()
Local nPorcentaje
Local nResultado
If ValType(nPorcentaje) == "U"
nPorcentaje := 10
EndIf
nResultado := 250 * (1 + nPorcentaje / 100)
MsgInfo("Resultado: " + CValToChar(nResultado))
ReturnValType() devuelve U mientras la variable no tiene valor; la inicialización evita usar NIL en el cálculo.
User Function ExTipoDinamico()
Local xValor := "Pedido aberto"
ConOut("Tipo atual: " + ValType(xValor)) // C
xValor := 22
ConOut("Tipo atual: " + ValType(xValor)) // N
xValor := .T.
ConOut("Tipo atual: " + ValType(xValor)) // L
xValor := Date()
ConOut("Tipo atual: " + ValType(xValor)) // D
ReturnLa misma variable almacena tipos diferentes. Esta flexibilidad debe ser intencional.
User Function ExConversao()
Local nQuantidade := 3
Local dHoje := Date()
Local lAtivo := .T.
ConOut("Quantidade: " + CValToChar(nQuantidade))
ConOut("Data: " + DToC(dHoje))
ConOut("Ativo: " + IIf(lAtivo, "sim", "não"))
ReturnCada contenido se convierte a carácter antes de unirlo al texto.
User Function ExErroDigitacao()
Local nQuantidade := 10
nQuantidad := 20 // nome incorreto: pode criar uma Private
MsgInfo("Quantidade: " + CValToChar(nQuantidade))
ReturnUna letra ausente puede crear otro identificador en lugar de actualizar nCantidad.
© 2026 Usina.BR. Todos los derechos reservados. TOTVS, Protheus, Microsiga y sus respectivos logotipos son marcas de sus titulares. Guía AdvPL es independiente y utiliza citas limitadas, atribuidas y justificadas por fines educativos. Consulta los Términos de Uso. Términos de Uso