PC SOFT

AYUDA EN LÍNEA
DE WINDEV, WEBDEV Y WINDEV MOBILE

Este contenido proviene de una traducción automática.. Haga clic aquí para ver la versión original en inglés.
  • Presentación
  • Detalles
  • Igualdad flexible e igualdad muy flexible
  • Igualdad y comparación: Real con más de 6 decimales diferentes
  • Intervalos de comparación
  • Operadores de comparación y UNICODE
  • Comparación de instancias de estructuras e instancias de clases
  • Operador IN
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Otros
Procedimientos almacenados
Presentación
Los operadores de comparación se pueden dividir en varias categorías:
Igualdad
  • Igualdad estricta: =
  • Igualdad flexible: ~=
  • Igualdad muy flexible: ~~
    AndroidJava No soportado.
  • Comienza por: [=
Comparación
  • Diferentes: <>
  • Menor que o igual a: <=
  • Mayor que o igual a: >=
  • Estrictamente inferior a: <
  • Estrictamente superior a: >
  • Comienza por: [=
  • Versiones 16 y posteriores
    Comienza por: [~ (ignora los caracteres de espacio que se encuentran al principio de la cadena y el caso).
    AndroidJava No soportado.
    Nueva funcionalidad versión 16
    Comienza por: [~ (ignora los caracteres de espacio que se encuentran al principio de la cadena y el caso).
    AndroidJava No soportado.
    Comienza por: [~ (ignora los caracteres de espacio que se encuentran al principio de la cadena y el caso).
    AndroidJava No soportado.
  • Versiones 16 y posteriores
    Comienza por: [~~ (ignora todos los caracteres de espacio, la puntuación y el caso).
    AndroidJava No soportado.
    Nueva funcionalidad versión 16
    Comienza por: [~~ (ignora todos los caracteres de espacio, la puntuación y el caso).
    AndroidJava No soportado.
    Comienza por: [~~ (ignora todos los caracteres de espacio, la puntuación y el caso).
    AndroidJava No soportado.
  • Comparación con una lista de valores: IN
  • Versiones 19 y posteriores
    Contiene: [=]
    AndroidJava No soportado.
    Nueva funcionalidad versión 19
    Contiene: [=]
    AndroidJava No soportado.
    Contiene: [=]
    AndroidJava No soportado.
  • Versiones 19 y posteriores
    Contiene: [~] (ignora el caso y los caracteres de espacio que se encuentran al principio y al final de la cadena).
    AndroidJava No soportado.
    Nueva funcionalidad versión 19
    Contiene: [~] (ignora el caso y los caracteres de espacio que se encuentran al principio y al final de la cadena).
    AndroidJava No soportado.
    Contiene: [~] (ignora el caso y los caracteres de espacio que se encuentran al principio y al final de la cadena).
    AndroidJava No soportado.
  • Versiones 19 y posteriores
    Contiene: [~~] (ignora todos los caracteres del espacio, la puntuación y el caso)
    AndroidJava No soportado.
    Nueva funcionalidad versión 19
    Contiene: [~~] (ignora todos los caracteres del espacio, la puntuación y el caso)
    AndroidJava No soportado.
    Contiene: [~~] (ignora todos los caracteres del espacio, la puntuación y el caso)
    AndroidJava No soportado.
  • Versiones 19 y posteriores
    Termina por: =]
    AndroidJava No soportado.
    Nueva funcionalidad versión 19
    Termina por: =]
    AndroidJava No soportado.
    Termina por: =]
    AndroidJava No soportado.
  • Versiones 19 y posteriores
    Termina por: ~] (ignorar los caracteres de espacio al final de la cadena y el caso)
    AndroidJava No soportado.
    Nueva funcionalidad versión 19
    Termina por: ~] (ignorar los caracteres de espacio al final de la cadena y el caso)
    AndroidJava No soportado.
    Termina por: ~] (ignorar los caracteres de espacio al final de la cadena y el caso)
    AndroidJava No soportado.
  • Versiones 19 y posteriores
    Termina por: ~~] (ignorar los caracteres del espacio, la puntuación y el caso)
    AndroidJava No soportado.
    Nueva funcionalidad versión 19
    Termina por: ~~] (ignorar los caracteres del espacio, la puntuación y el caso)
    AndroidJava No soportado.
    Termina por: ~~] (ignorar los caracteres del espacio, la puntuación y el caso)
    AndroidJava No soportado.
Intervalo de comparación
  • Estrictamente incluido entre: < < (y viceversa)
  • Incluido entre: < <= y <= < (y viceversa)
  • Incluido entre (incluyendo límites): <= <= (y viceversa)
  • Incluido entre (incluyendo límites): x TO y
Los operadores de comparación se pueden utilizar con todas las clases de operandos.
El resultado de una expresión de comparación es un booleano.
Versiones 16 y posteriores
Universal Windows 10 App Esta función está disponible para las aplicaciones de Windows Phone.
Nueva funcionalidad versión 16
Universal Windows 10 App Esta función está disponible para las aplicaciones de Windows Phone.
Universal Windows 10 App Esta función está disponible para las aplicaciones de Windows Phone.
Versiones 17 y posteriores
iPhone/iPad Esta función está disponible para las aplicaciones iPhone/iPad.
Nueva funcionalidad versión 17
iPhone/iPad Esta función está disponible para las aplicaciones iPhone/iPad.
iPhone/iPad Esta función está disponible para las aplicaciones iPhone/iPad.
Versiones 18 y posteriores
Universal Windows 10 App Esta característica está disponible en el modo de aplicaciones de Windows Store.
Widget Android Esta función está disponible en el modo Android Widget.
Nueva funcionalidad versión 18
Universal Windows 10 App Esta característica está disponible en el modo de aplicaciones de Windows Store.
Widget Android Esta función está disponible en el modo Android Widget.
Universal Windows 10 App Esta característica está disponible en el modo de aplicaciones de Windows Store.
Widget Android Esta función está disponible en el modo Android Widget.
Detalles

Igualdad flexible e igualdad muy flexible

La igualdad flexible (~=) sólo se aplica a los strings de caracteres (excepto los strings fijos). Este operador le permite hacerlo:
  • no hacen ninguna diferencia entre los caracteres en mayúsculas y en minúsculas,
  • ignorar los caracteres de espacio encontrados antes y después de la cadena cuya prueba debe ejecutarse,
  • ignorar los caracteres acentuados en minúsculas.
Para ignorar los caracteres de espacio, los caracteres de puntuación y los caracteres CR dentro de las cadenas, utilice la muy flexible igualdad (~~).
HFSQL equivalence : Para recuperar la equivalencia con la igualdad muy flexible cuando se realiza una búsqueda en una clave de texto en un archivo de datos HFSQL, se deben configurar las siguientes opciones cuando se describe el elemento en el análisis:
WEBDEV - Código Navegador La comparación tiene en cuenta los caracteres acentuados en minúsculas en el código del navegador.
WEBDEV - Código Navegador El operador "Igualdad muy flexible" no está disponible en el código Navegador.
"Smith" = "SMITH"                // Returns False
"Smith" ~= "SMITH"                // Returns True
" Smith" ~= "SMITH"               // Returns True
" Smith" ~= "Smith"              // Returns True
"C'est l'été" ~= "C'est l'ete"     // Returns True
"I.R.S." ~~ "IRS"   // Returns True

Igualdad y comparación: Real con más de 6 decimales diferentes

La prueba de igualdad entre dos números reales se realiza de acuerdo con los primeros 6 decimales.. De hecho, los errores de redondeo causados por la codificación interna de los reales requieren una prueba específica.
Esta prueba debe realizarse comparando la diferencia entre los dos valores a probar y un valor de reference. Dependiendo del tipo de aplicación, este valor puede ser igual o inferior a 0,00001.
Esta gestión de redondeo no es específica de WINDEV, WEBDEV y WINDEV Mobile.. Es común a todos los lenguajes de programación que manipular los reales en formato binario.
Diff, R1, R2 are real
Diff = 0.00001
IF Abs(1-(R1/R2)) < Diff THEN
// R1 and R2 are equal
ELSE
// R1 and R2 are different
END

Intervalos de comparación

Los intervalos de comparación se utilizan para simplificar la sintaxis de comparaciones complejas.. Por lo tanto, el Line:
IF x>5 AND x<10 THEN ...
puede ser reemplazado por:
IF 5<x<10 ENTONCES ...
El Line:
IF x>=5 AND x<=10 THEN ...
puede sustituirse por:
IF x=5 A 10 ENTONCES ...
MyArray is array of 5 strings
I is int
MyArray[1] = "Smith"
MyArray[2] = "Aida"
MyArray[3] = "Parapoline"
MyArray[4] = "Moulin"
MyArray[5] = "Clark"
FOR I = 1 TO 5
IF "B" < MyArray[I] <= "M" THEN Trace(MyArray[I])
// Displays Smith and Clark
END

Operadores de comparación y UNICODE

Los operadores disponibles son los siguientes:
  • "=": Igualdad estricta
  • "<>": Diferencia
  • "[=": Comienza por
  • Versiones 16 y posteriores
    "[~": Empieza por ignorar los caracteres de espacio que se encuentran al principio de la cadena y por ignorar el caso.
    Nueva funcionalidad versión 16
    "[~": Empieza por ignorar los caracteres de espacio que se encuentran al principio de la cadena y por ignorar el caso.
    "[~": Empieza por ignorar los caracteres de espacio que se encuentran al principio de la cadena y por ignorar el caso.
  • Versiones 16 y posteriores
    "[~~": Empieza por ignorar los caracteres de espacio, los caracteres de puntuación y el caso..
    Nueva funcionalidad versión 16
    "[~~": Empieza por ignorar los caracteres de espacio, los caracteres de puntuación y el caso..
    "[~~": Empieza por ignorar los caracteres de espacio, los caracteres de puntuación y el caso..
  • Versiones 19 y posteriores
    Contiene: [=]
    Nueva funcionalidad versión 19
    Contiene: [=]
    Contiene: [=]
  • Versiones 19 y posteriores
    Contiene: [~]: Contiene mientras ignora el caso.
    Nueva funcionalidad versión 19
    Contiene: [~]: Contiene mientras ignora el caso.
    Contiene: [~]: Contiene mientras ignora el caso.
  • Versiones 19 y posteriores
    Contiene: [~~]: Contiene sin tener en cuenta todos los caracteres de espacio, los caracteres de puntuación y el caso.
    Nueva funcionalidad versión 19
    Contiene: [~~]: Contiene sin tener en cuenta todos los caracteres de espacio, los caracteres de puntuación y el caso.
    Contiene: [~~]: Contiene sin tener en cuenta todos los caracteres de espacio, los caracteres de puntuación y el caso.
  • Versiones 19 y posteriores
    Termina por: =]
    Nueva funcionalidad versión 19
    Termina por: =]
    Termina por: =]
  • Versiones 19 y posteriores
    Termina por: ~]: Termina con ignorando los caracteres de espacio que se encuentran al final de la cadena e ignorando el caso..
    Nueva funcionalidad versión 19
    Termina por: ~]: Termina con ignorando los caracteres de espacio que se encuentran al final de la cadena e ignorando el caso..
    Termina por: ~]: Termina con ignorando los caracteres de espacio que se encuentran al final de la cadena e ignorando el caso..
  • Versiones 19 y posteriores
    Termina por: ~~]: Termina con ignorando los caracteres de espacio, la puntuación y el caso..
    Nueva funcionalidad versión 19
    Termina por: ~~]: Termina con ignorando los caracteres de espacio, la puntuación y el caso..
    Termina por: ~~]: Termina con ignorando los caracteres de espacio, la puntuación y el caso..
  • "<", "<=", ">=", ">": Estrictamente menos que, menos que o igual a, mayor que o igual a, estrictamente mayor que
Tiene la posibilidad de utilizar cadenas ANSI, cadenas Unicode y búferes en los diferentes parámetros de la comparación.
La siguiente regla de conversión se utiliza para sistemas Ansi (Windows o Linux):
  • Si al menos una de las cadenas es un buffer, todas las cadenas se convierten en buffers y la operación se realiza con buffers
  • Si no se cumple la primera condición, si al menos una de las cadenas está en formato Unicode, todas las cadenas se convierten a Unicode y la operación se realiza en Unicode (la conversión se realiza con el carácter actual set si es necesario)
  • De lo contrario, la operación se realiza en Ansi.
La siguiente regla de conversión se utiliza para sistemas Unicode (Windows o Linux):
  • Si al menos una de las cadenas es un buffer, todas las cadenas se convierten en buffers y la operación se realiza con buffers,
  • De lo contrario, la operación se realiza en Unicode.
Vea WINDEV y el formato Unicode para más detalles.
WINDEVWEBDEV - Código ServidorReportes y ConsultasWindowsLinuxAndroidWidget Android iPhone/iPadApple WatchUniversal Windows 10 AppWindows MobileJavaPHPCódigo de Usuario (UMC)

Comparación de instancias de estructuras e instancias de clases

Las estructuras dinámicas se instancian cuando se asignan.
Se pueden comparar instancias de estructuras dinámicas (o instancias de clases dinámicas) mediante el operador "=".
Ejemplo:
// Declare the structures
O is ST1
P is ST2

// Declare and instantiate the dynamic structures
P1 is dynamic Structure ST1
P1 = O
P2 is dynamic Structure ST2
P2 = O

// Comparison
IF P1 = P2 THEN...
La misma operación se puede realizar en las instancias de las clases para saber si dos variables designan una sola instancia de clase.
La comparación entre dos instancias diferentes de una clase se puede realizar usando buffers.
Ejemplo:
Object1 is dynamic Class1
Object2 is dynamic Class2
BufferObject1, BufferObject2 are Buffers

Object1 = new Class1
Object2 = new Class2

Serialize(Object1, BufferObject1, psdBinary)
Serialize(Object2, BufferObject2, psdBinary)

IF BufferObject1 = BufferObject2 THEN
// True if the two instances have identical contents
ELSE
// False if at least one member is different
END

Operador IN

El operador IN se utiliza para comparar un valor con una lista de valores. Su evaluación devuelve un booleano.
MyValue is int
MyResult is boolean
MyValue = 10
MyResult = (MyValue IN(1,4,6,10))
La lista de valores puede contener valores literales o variables cuyo valor se evaluará antes de realizar la comparación..
MyValue is int
MyOtherValue is int
MyResult is boolean
MyValue = 10
MyOtherValue = 15
MyResult = (MyValue IN(1,4,6,10,MyOtherValue))
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario