AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Sintaxis WLanguage / Instrucciones estructuradas
  • Parámetro de condición
  • Palabra clave de configuración
  • ConfiguraciónEscriba la palabra clave
  • Compilaciones según el tipo de cadenas utilizadas (UNICODE o ANSI)
  • Beneficios y limitaciones
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
La declaración <COMPILAR SI> permite Compile( o no) un código WLanguage según una condición.
Esta instrucción se utiliza para obtener fácilmente un código de configuración múltiple sin mostrar ningún error de compilación (utilizando las palabras clave Configuration y ConfigurationType).
Diferencia entre <COMPILE IF> y el código destino condicional:
  • El código de destino condicional compila el código.
    El código de destino condicional es interesante para un componente que se ejecutará en diferentes plataformas, por ejemplo. El código está compilado en todas las plataformas y se ejecutará de acuerdo con la plataforma actual.. Para obtener más información, consulte Código de destino condicional.
  • La compilación condicional (<COMPILE IF> sentencia) no compila el código. Se utiliza principalmente para evitar mostrar errores de compilación (utilizando las palabras clave Configuration y ConfigurationType). Para obtener más información, consulte Beneficios y limitaciones.
Ejemplo
<COMPILE IF Configuration <> "Java archive">
Trace("No Java archive")
<END>
<COMPILE IF Configuration <> "Java archive" AND Configuration = "Windows 32-bit executable">
Trace("No Java archive and Exe32")
<END>
<COMPILE IF Configuration = "Linux64" OR ConfigurationType = Android>
Trace("Linux64")
i is int = 12
<ELSE>
Trace("Other")
i is string = 24
<END>


Trace("i = " + i)
// Declare a constant whose value depends on the configuration
<COMPILE IF Configuration <> "Java archive">
CONSTANT
Constant_Name = 10
   END
<ELSE>
CONSTANT
Constant_Name = 20
   END
<END>
Sintaxis

Recopilación según una condición

<COMPILE IF <Condition>>
... // Code compiled if the condition is true
<END>

Compilar un código u otro según una condición

<COMPILE IF <Condition>>
... // Code compiled if the condition is true
<ELSE>
... // Code compiled if the condition is false
<END>

Compilar un código u otro según varias condiciones

<COMPILE IF <Condition1>>
... // Code compiled if <Condition1> is true
<SINON IF <Condition2>>
... // Code compiled if <Condition2> is true
...
<SINON IF <ConditionN>>
... // Code compiled if <ConditionN> is true
<END>

Compilar un código u otro según varias condiciones

<COMPILE IF <Condition1>>
... // code compiled if <Condition1> is true
<SINON IF <Condition2>>
... // Code compiled if <Condition2> is true
...
<SINON IF <ConditionN>>
... // Code compiled if <ConditionN> is true
<ELSE>
... // Code compiled if all the conditions are false
<END>

Compilar un código según los tipos de cadenas utilizadas

<COMPILE IF ConfigurationANSI/ConfigurationUNICODE>
... // code compiled if the current configuration is using ANSI strings or UNICODE strings
<END>

Compilación de un código según el tipo de configuración utilizada (32 o 64 bits)

<COMPILE IF Configuration32/Configuration64>
... // compiled code if the current configuration is a 32-bit or 64-bit configuration
<END>
Observaciones

Parámetro de condición

La condición debe ser evaluada durante la compilación: por lo tanto, sólo puede contener elementos literales (números, strings, True, False,...) o constantes.
Observaciones:
  • No se puede utilizar ninguna función en la condición.
  • La condición puede utilizar los operadores de comparison.
  • Se pueden utilizar palabras clave específicas: Configuración y tipo de configuración.

Palabra clave de configuración

La palabra clave Configuration devuelve el nombre de la configuración actual.. Por lo tanto, usted tiene la capacidad de escribir:
<COMPILE If Configuration = "TestConfig">
// Code compiled in the "TestConfig" configuration
<END>

ConfiguraciónEscriba la palabra clave

ConfigurationType devuelve el tipo de la configuración actual. Por lo tanto, usted tiene la capacidad de escribir:
<COMPILE IF ConfigurationType=WindowsApplication>
// Code compiled in all the Windows configurations
<END>
Los tipos de configuración disponibles son:
  • Aplicación Windows
  • Windows32Aplicación
  • Windows64Aplicación
  • emplazamiento
  • Biblioteca
  • Componente externo
  • Webservice
  • DotNetAssembly
  • DotNetAplicación
  • Java
  • LinuxAplicación
  • Linux32Aplicación
  • Linux64Aplicación
  • Patrón RADP
  • WindowsService
  • Windows32Servicio
  • Windows64Servicio
  • Servicio Linux
  • Servicio Linux32
  • Servicio Linux64
  • Android
  • Plan de Acción
  • iOS
  • MacOSX
  • UniversalWindowsApp
  • WindowsMobile

Compilaciones según el tipo de cadenas utilizadas (UNICODE o ANSI)

La sintaxis que utiliza las palabras clave ANSIConfiguration y UNICODEConfiguration permite compilar un código según el tipo de cadenas utilizado.
Este parámetro se define en la ventana description de la configuración actual (pestaña "Unicode").
Definición del formato de las cadenas

Beneficios y limitaciones

Si no se cumplen las condiciones especificadas en <COMPILE IF>, no se compila el código WLanguage.. El código no compilado se muestra en gris en el editor de código, con un formato mínimo..
Beneficios:
  • No hay ningún error de compilación: las características específicas de cada plataforma (Android, iOS) pueden ser codificadas sin provocar ningún error de compilación en las otras configuraciones.
  • La misma Variable puede ser declarada en las dos partes de una condición de compilación con diferentes tipos.
Limitaciones: En el código no compilado:
  • no se dispone de entrada de código asistido.
  • no hay disponible ningún cruce de reference: no Shift+F2, los usos de los elementos no se muestran, los elementos pueden aparecer en la lista de elementos huérfanos y código muerto.
  • no hay análisis de código: no hay renombramiento inteligente.
  • no hay ningún error de compilación: si se modifica el prototipo de una Procedure, el error se mostrará cuando se utilice una configuración que permita la compilación del código.
Versión mínima requerida
  • Versión 21
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 27/05/2022

Señalar un error o enviar una sugerencia | Ayuda local