Usina BRGuía AdvPL
Ingresar
← Todos los temas
DIRECTIVAPublicado

#command y #translate

#command <regra> => <resultado> · #translate <regra> => <resultado>

Crea reglas de transformación sintáctica aplicadas por el preprocesador.

Pré-processadorTradução sintáticaComandosArquivos .ch
01 · DESCRIPCIÓN GENERAL

Descripción general

#command y #translate definen patrones de texto convertidos a sintaxis AdvPL. #command se dirige a comandos desde el inicio de la instrucción, mientras #translate permite sustituciones en otras posiciones. Son recursos avanzados habituales en archivos .ch y comandos de estilo xBase.

02 · SINTAXIS

Sintaxis

#command <regra> => <resultado> · #translate <regra> => <resultado>
03 · EJEMPLO PRÁCTICO

Comando didáctico simple

#command MOSTRAR_ALERTA <cMensaje> => ;
    MsgStop(<cMensaje>, "Aviso del sistema")

User Function ExCommand()
    MOSTRAR_ALERTA "Saldo insuficiente"
Return
Resultado esperado

La instrucción se transforma en MsgStop() antes de compilar.

04 · EJEMPLO PRÁCTICO

Traducción localizada

#translate VERDADEIRO => .T.
#translate FALSO      => .F.

User Function ExTranslate()
    Local lValido := VERDADEIRO

    If lValido == VERDADEIRO
        ConOut("Valor válido")
    EndIf
Return
Resultado esperado

Los identificadores se convierten en valores lógicos antes de la compilación; evalúa el costo de una sintaxis no convencional.

BUENAS PRÁCTICAS
  • Mantén las reglas compartidas en un .ch documentado.
  • Evita nombres que choquen con comandos, funciones o definiciones existentes.
  • AAdd() es una función de la biblioteca AdvPL; no se crea con #command.
ERRORES COMUNES
  • Una sintaxis particular dificulta búsquedas, depuración y mantenimiento.
  • Una regla amplia de #translate puede modificar texto inesperado.
  • Valida marcadores, opcionales, repeticiones y precedencia.

Contenido relacionado

REFERENCIAS
  1. TOTVS. #define. TDN. Última alteração em 22 mar. 2019.
  2. TOTVS. Diretivas para o compilador. TDN.
  3. TOTVS. #ifdef. TDN.
  4. TOTVS. #ifndef. TDN.
  5. TOTVS. #include. TDN.
  6. TOTVS. #undef. TDN.
Estado
Publicado
Página creada el
Última revisión el
Idioma original
Portugués
Revisión
Usina.BR