#defineDefine identificadores, constantes manifiestas o pseudofunciones expandidas por el preprocesador.
Guía AdvPL#define · #undef · #include · #ifdef · #ifndef · #else · #endif · #command · #translateControla el preprocesamiento, comparte definiciones y selecciona qué bloques llegan al compilador.
Las directivas se procesan antes de compilar. Una analogía útil es preparar una receta antes del horno: se incluyen cabeceras, se expanden símbolos, se traduce sintaxis y se seleccionan bloques; el compilador recibe el resultado. #define y #include son conceptualmente similares a C/C++, pero #include no es un sistema moderno completo de módulos.
#define · #undef · #include · #ifdef · #ifndef · #else · #endif · #command · #translate#defineDefine identificadores, constantes manifiestas o pseudofunciones expandidas por el preprocesador.
#undefElimina una definición activa desde el punto donde aparece la directiva.
#includeInserta un archivo de cabecera en el punto actual usando la ruta de includes.
#ifdefIncluye un bloque en la compilación solo cuando un identificador está definido.
#ifndefIncluye un bloque solo cuando un identificador todavía no está definido.
#else e #endifDefine la alternativa y cierra bloques de compilación condicional.
#command e #translateCrea reglas de transformación sintáctica aplicadas por el preprocesador.
#define LIMITE_ITENS 100
#define LOG_DETALHADO
User Function ExDiretivas()
Local nItens := 120
#ifdef LOG_DETALHADO
ConOut("Itens recebidos: " + CValToChar(nItens))
#endif
If nItens > LIMITE_ITENS
MsgAlert("Limite excedido")
EndIf
ReturnLos símbolos se resuelven antes de compilar; If continúa siendo una decisión en ejecución.
#ifndef TAMANHO_LOTE
#define TAMANHO_LOTE 50
#endif
User Function ExLote()
ConOut("Tamanho do lote: " + CValToChar(TAMANHO_LOTE))
ReturnEl valor se usa solo si no existe una definición anterior.
#include "TOTVS.ch"
#include "FWMVCDef.ch"
User Function ExCabecalhos()
// Utilize símbolos do Framework MVC somente após incluir
// o cabeçalho compatível com o ambiente.
ReturnEl contenido de las cabeceras participa en el preprocesamiento.
© 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