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 / Operadores
  • aprovechamiento
  • Notas
  • El operador [ y ]
  • El operador [[ y ]]
  • equality flexible y equality muy flexible
  • Operadores en los strings de caracteres y UNICODE
  • Posición en un string
  • Funciones de WLanguage
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
aprovechamiento
Las cadenas de caracteres pueden ser manejadas por funciones específicas de WLanguage o por los operadores +, [[ y ]].
Los operadores de los strings son los siguientes:
  • " + ": Para concatenar cadenas
  • " [ " y " ] ": Para concatenar cadenas opcionalmente
  • " [[ " y "]]" (doble corchete al abrir y doble corchete al cerrar): Operador para extraer una subcadena
  • " = ": Estricta equality
  • " ~= ": equality flexible
  • " ~~ ": Igualdad muy flexible
  • " [= ": Comienza por
  • " [% %]": Cadena construida dinámicamente. Para obtener más información, consulte Interpolación de cadenas.
Text is string = "San Francisco"
Text[[5]]                // Returns "F"
Text[[5 TO 10]]           // Returns "Franci"
Text[[5 TO]]              // Returns "Francisco"
Text[[TO 10]]              // Returns "San Franci"
Text[[10 ON 4]]          // Returns "isco"
Text + " and New York"      // Returns "San Francisco and New York"
IF Text [= "San" THEN Trace(Text)
Notas

El operador [ y ]

El operador [ y ] se utiliza para concatenar opcionalmente cadenas. El separador no se concatena si la cadena de origen es una cadena vacía ("") o si la cadena de origen termina con el separador.
Por ejemplo:
  • StartString += [ EndString]
    EndString se concatena con StartString sólo si StartString no termina con EndString..
    Por ejemplo:
    StartString = "San Francisco"
    EndString = "Francisco"
    StartString += [EndString]
    // StartString contains "San Francisco"

    StartString = "San "
    EndString = "Francisco"
    StartString += [EndString]
    // StartString contains "San Francisco"
  • StartString += [ MiddleString] + EndString
    MiddleString se concatena con StartString sólo si StartString no termina con MiddleString y si EndString no comienza con MiddleString.. El separador no se concatena si la cadena de origen es una cadena vacía ("").
    Por ejemplo:
    StartString = "C:\MyFiles\"
    MiddleString = "\"
    EndString = "MyFile.TXT"
    StartString += [MiddleString] + EndString
    // StartString contains "C:\MyFiles\MyFile.TXT"

    StartString = "C:\MyFiles"
    MiddleString = "\"
    EndString = "\MyFile.TXT"
    StartString += [MiddleString] + EndString
    // StartString contains "C:\MyFiles\MyFile.TXT"

    StartString = "C:\MyFiles"
    MiddleString = "\"
    EndString = "MyFile.TXT"
    StartString += [MiddleString] + EndString
    // StartString contains "C:\MyFiles\MyFile.TXT"
  • MiCadena = [ InicioCadena] + FinCadena
    StartString se concatena con EndString sólo si EndString no comienza con StartString..
    Por ejemplo:
    StartString = "Type"
    EndString = "Type of programming"
    MyString = [StartString] + EndString
    // StartString contains "Type of programming"

    StartString = "Type"
    EndString = " of programming"
    MyString = [StartString] + EndString
    // StartString contains "Type of programming"
Ejemplos:
  • Rellenar una cadena con elementos separados por caracteres CR (Carriage Return). El separador no se concatena si la cadena de origen es una cadena vacía..
    ResString is string
    FOR EACH Customer
    ResString += [CR] + Customer.Name
    END
  • Crear una ruta de archivo sin preocuparse por los caracteres "\".
    fOpen(DirectoryName + ["\"] + FileName)

El operador [[ y ]]

El operador [[ y ]] se utiliza para extraer y sustituir una subcadena.
Por ejemplo:
  • CADENAPOREXTRAER][<Posición>][
  • STRINGTOEXTRACT[[]] = : Reemplaza el carácter encontrado en la cadena por la nueva cadena.
  • CADENAPOREXTRAER][<Inicio> a <Fin>][
  • STRINGTOEXTRACT[[ to]]
  • CADENAPOREXTRAER][a <Fin>][
  • CADENAPOREXTRAER][<Iniciar> en <Número>][
Atención: Si está utilizando un Procedure que maneja cadenas con los operadores [[]], preste mucha atención a la sintaxis utilizada. Puede modificar inadvertidamente las cadenas de caracteres.
Por ejemplo, el siguiente Procedure puede modificar parte de la cadena.
PROCÉDURE P(sString)
IF sString THEN sString="5"
// -- Call to the procedure via the line:
p(sVar[[3 TO]])
Para evitar modificar la cadena inicial, el parámetro debe ser pasado por valor:
  • usando paréntesis alrededor del parámetro en la llamada a la Procedure,
  • utilizando el Palabra clave local en la cabecera del Procedure.
Diferencia con WINDEV 7.5:
  • WINDEV: El operador ][][ utilizado con un valor negativo en el segundo límite devuelve una cadena vacía ("").
  • WINDEV 7.5: El operador [[]] utilizado con un valor negativo en el segundo límite devuelve la cadena completa.
Ejemplo: Análisis de una cadena de caracteres, carácter por carácter: EDT_HTML y EDT_TEXT son 2 controles de edición.
// Variables
sString is string = EDT_HTML
sCharact is string
i is int = 1
// Browse the HTML control
sCharact = sString[[i TO i]]
WHILE i <= Length(sString)
i++
// Process on sCharact here
// Next characters
sCharact = sString[[i TO i]]
END

equality flexible y equality muy flexible

La flexible equality (~=) y la muy flexible equality (~~) operan únicamente sobre las cadenas de caracteres (excepto las cadenas fijas). Estos operadores están acostumbrados:
  • 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,
  • ignore los caracteres de espacio y los caracteres de puntuación dentro de las cadenas (solo equality muy flexible).
equivalencia HFSQL: Para recuperar la equivalencia con el muy flexible equality al realizar una búsqueda en una clave de texto en un archivo HFSQL, deben configurarse las siguientes opciones cuando se describe el elemento en el análisis:

Operadores en los strings de caracteres y UNICODE

Los operadores disponibles son los siguientes:
  • " + ": Para concatenar cadenas
  • " [ " y " ] ": Para concatenar cadenas opcionalmente
  • " ][ " y " ] " (doble corchete al abrir y doble corchete al cerrar): Operador para extraer una subcadena
  • " [= ": Comienza por
Operadores "+", " [ " y " ] "
Se pueden concatenar dos cadenas UNICODE. Una cadena UNICODE y una cadena ANSI no pueden concatenarse.
Observación: Si la concatenación de dos cadenas AINSI se asigna a una cadena UNICODE (y a la inversa), la conversión se realizará implícitamente.
Operador "][" y "]["
Todas las sintaxis del operador [[]] están disponibles para las cadenas Unicode.
  • Si la cadena pasada como parámetro está en formato ANSI, el resultado devuelto por el operador [[]] estará en formato ANSI.
  • Si la cadena pasada como parámetro está en formato Unicode, el resultado devuelto por el operador [[]] estará en formato UNICODE.
  • Los parámetros de posición y los parámetros de longitud se expresan en número de caracteres.
Observación: Si el resultado del operador [[]] sobre una cadena ANSI se asigna a una cadena UNICODE (y a la inversa), la conversión se realizará implícitamente.

Posición en un string

  • La posición del primer personaje es set a 1 (y no a 0).
  • ubicación devuelve la posición inicial de una cadena de caracteres especificada dentro de otra cadena de caracteres.

Funciones de WLanguage

Los strings de caracteres también pueden ser manejados por las funciones:
Observación: en la mayoría de los casos, los operadores [[]] son más eficaces que las funciones de WLanguage.
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: 16/05/2023

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