AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Ayuda / WLanguage / Funciones WLanguage / Funciones estándar / Funciones de cadenas
  • Equivalencia entre la función StringCompare y los operadores de comparación
  • Comparar valores numéricos
  • Caracteres que se tienen en cuenta para la puntuación y los espacios
  • Función StringCompare y UNICODE
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
Compara dos cadenas carácter por carácter:
  • según el orden de caracteres ASCII
  • según el orden alfabético.
Ejemplo
MyString1 is string = "Developing is fantastic"
MyString2 is string = "Developing is simple"
ResultCompare is int = StringCompare(MyString1, MyString2)
// ResultCompare = -1: the character 'f' comes before the character 's'
Sintaxis
<Result> = StringCompare(<First string> , <Second string> [, <Options>])
<Result>: Entero
  • 0 si las cadenas de caracteres son iguales.
  • -1 si los caracteres de <Primera cadena> van antes de los caracteres de <Segunda cadena> según el orden de los caracteres ASCII o el orden lexicográfico.
  • 1 si los caracteres de <Primera cadena> van después de los caracteres de <Segunda cadena> según el orden de los caracteres ASCII o el orden lexicográfico.
<First string>: Cadena de caracteres
Cadena de caracteres a comparar.
<Second string>: Cadena de caracteres
Cadena de caracteres a comparar.
<Options>: Constante o combinación de constantes opcional
Opciones de comparación:
ccIgnoreAccentCompara las cadenas sin tener en cuenta los caracteres acentuados.
ccIgnoreCaseCompara las cadenas sin distinguir entre mayúsculas y minúsculas.
ccIgnoreInsideSpaceCompara las cadenas sin tener en cuenta los espacios dentro de las mismas.
ccIgnorePunctuationAndSpaceCompara las cadenas sin tener en cuenta la puntuación ni los espacios (consulte las Notas para obtener más información).
ccIgnoreSpaceCompara las cadenas sin tener en cuenta los espacios antes y después de las cadenas.
ccLexicographicOrderCompara las cadenas en orden lexicográfico (por ejemplo, 'é' está entre 'e' y 'f').
ccNormal
(valor predeterminado)
Comparación estándar, similar a la del operador '='.
ccRespectNumericCompara las cadenas teniendo en cuenta los valores numéricos dentro de las mismas (en este caso, "10" va después de "9").
Observaciones

Equivalencia entre la función StringCompare y los operadores de comparación

  • Operador =:
    El operador = es equivalente al siguiente código: StringCompare(<Cadena1>, <Cadena2>, ccNormal)
  • Operador ~=:
    El operador ~= es equivalente al siguiente código: StringCompare(<Cadena1>, <Cadena2>, ccIgnoreCasse, + ccIgnoreAccent + ccIgnoreSpace)
  • Operador ~~:
    El operador ~~ es equivalente al siguiente código: StringCompare(<Cadena1>, <Cadena2>, ccIgnoreCasse + ccIgnoreAccent + ccIgnorePonctuationAndSpace)
  • Operadores <, >, <= y >=:
    Estos operadores son equivalentes al siguiente código: StringCompare(<Cadena1>, <Cadena2>, ccLexicographicOrder)
Para obtener más información sobre los operadores de comparación, consulte los Operadores de comparación.
Reportes y ConsultasWindows

Comparar valores numéricos

La constante ccRespectNumeric ordena teniendo en cuenta el valor numérico representado por los dígitos y no solo el orden alfabético de los mismos.
Así, sin la constante ccRespectNumeric, las siguientes cadenas se clasificarán en este orden: "cadena1", "cadena10", "cadena2"
Con la constante ccRespectNumeric, las mismas cadenas se clasificarán en este orden: "cadena1", "cadena2", "cadena10"
Ejemplos de comparación realizada con y sin la constante ccRespectNumeric:
Orden de cadenas que contienen dígitos sin la constante ccRespectNumericOrden de cadenas que contienen dígitos con la constante ccRespectNumeric
000
000
001001
00901
011
010009
0909
19
10010
1110
911
Orden de cadenas que contienen dígitos sin la constante ccRespectNumericOrden de cadenas que contienen dígitos con la constante ccRespectNumeric
10.00Aa7.00Aa
10.01Gh7.01Ba
10.50Ag7.01Dfe
11.00Aa7.50Fg
7.00Aa7.51Tga
7.01Ba8.00Aa
7.01Dfe8.01Gjk
7.50Fg8.01Ty
7.51Tga8.50Ze
8.00Aa9.00Aa
8.01Gjk9.80Er
8.01Ty9.99Zaaa
8.50Ze10.00Aa
9.00Aa10.01Gh
9.80Er10.50Ag
9.99Zaaa11.00Aa

Caracteres que se tienen en cuenta para la puntuación y los espacios

Los caracteres que se tienen en cuenta para la puntuación y los espacios son proporcionados por el sistema. Para obtener la lista de estos caracteres, escriba el siguiente código WLanguage:
s is string
FOR i = 0 TO 255
IF Charact(i) <> StringFormat(Charact(i), ccIgnorePunctuationAndSpace) THEN
 s += Charact(i)
END
END
Info(s)
ToClipboard(s)
Reportes y ConsultasWindows

Función StringCompare y UNICODE

Se pueden utilizar cadenas ANSI, cadenas Unicode y buffers en los diferentes parámetros de la funció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 y hay al menos una cadena de caracteres Unicode, todas las cadenas se convierten en Unicode y la operación se realiza en Unicode (la conversión se realiza con el conjunto de caracteres actual, si es necesario).
  • De lo contrario, la operación se realiza en Ansi.
La regla de conversión utilizada para los sistemas Unicode es la siguiente:
  • 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.
Para obtener más información sobre UNICODE, consulte Gestión de UNICODE.
Recordatorio: Los parámetros de idioma se definen al llamar a la función ChangeCharset.
Clasificación Lógica de negocio / UI: Código neutro
Componente: wd290vm.dll
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

Última modificación: 27/05/2022

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