AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Ayuda / WLanguage / Sintaxis WLanguage / 
  • Literal de cadena de una sola línea
  • Declarar un literal de cadena de una sola línea
  • Ejemplos
  • Literal de cadena de varias líneas
  • Declarar un literal de cadena de varias líneas
  • Ejemplos
  • Ventajas de las sintaxis 1, 2 y 3
  • Limitaciones
  • Interpolación de cadenas (construcción dinámica de cadenas)
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
Literales de cadena: cadenas de una y varias líneas
Los literales de cadena permiten representar y manipular datos como una secuencia de caracteres. Por ejemplo, los literales de cadena pueden utilizarse para mostrar información, definir una constante, etc.
WINDEV, WINDEV Mobile y WEBDEV proporcionan una serie de herramientas para introducir cadenas en una o varias líneas. También puede construir cadenas dinámicamente.
Literal de cadena de una sola línea

Declarar un literal de cadena de una sola línea

Un literal de cadena puede declararse:
  • encerrando la cadena entre comillas dobles.
  • Novedad versión 2024
    encerrando la cadena entre caracteres de acento grave ( ` ), también conocidos como "tildes invertidas".

Literal de cadena de una línea con comillas dobles Ocultar los detalles

<Variable name> = "<String content>"
<">:
Símbolo que indica el inicio del literal de cadena de una sola línea.
<String content>:
Literal de cadena de una sola línea.
Para incluir comillas dobles (") dentro de la cadena, debe duplicarlas.
Atención: Las opciones del proyecto determinan si se pueden utilizar los caracteres [% %]. Para obtener más información, consulte Interpolación de cadenas (construcción dinámica de cadenas).
<">:
Símbolo que indica el final del literal de cadena de una sola línea.
Novedad versión 2024

Literal de cadena de una sola línea con caracteres de acento grave ( ` ) Ocultar los detalles

<Variable name> = `<String content>`
<`>:
Símbolo que indica el inicio del literal de cadena de una sola línea (carácter de acento grave).
<String content>:
Literal de cadena de una sola línea.
Para incluir el carácter de acento grave ( ` ) dentro de la cadena, debe duplicarlo.
Atención: Puede utilizar los caracteres [% %] para mostrar el contenido de la variable que contienen. Para obtener más información, consulte Interpolación de cadenas (construcción dinámica de cadenas).
<`>:
Símbolo que indica el final del literal de cadena de una sola línea (carácter de acento grave).

Ejemplos

// Single-line string literal with double quotation marks
MySingleLineString is string
MySingleLineString = "Example line of text"

// String with double double quotation marks
MySingleLineString2 is string
MySingleLineString 2 = "The ""General Terms and Conditions"" option must be checked"
// Displays: The "General conditions" option must be checked
Novedad versión 2024
// Single-line string literal with backticks ( ` )
MySingleLineString is string
MySingleLineString = `Example line of text`
Literal de cadena de varias líneas

Declarar un literal de cadena de varias líneas

Como su nombre lo indica, este tipo de literal de cadena consta de varias líneas. Existen diferentes sintaxis para manipular este tipo de cadenas:
  • los signos [ y ].
  • las comillas dobles.
  • Novedad versión 2024
    los caracteres de acento grave ( ` ).
  • el carácter "CR" (Carriage Return) entre las distintas líneas de la cadena multilínea.

Literal de cadena de varias líneas con los signos [ ] Ocultar los detalles

<Variable name> = [
                <String content>
                <String content 2>
                ]
<[>:
Símbolo que indica el inicio de la cadena de varias líneas. Este símbolo debe ir seguido de un retorno de carro. Este retorno de carro se ignora en la cadena.
<String content>:
Cadena en varias líneas, sin comillas dobles. Los retornos de carro entre dos líneas de la cadena se interpretan como saltos de línea. Las tabulaciones al principio de las líneas no se tienen en cuenta. Las tabulaciones en la última línea están permitidas.
Atención: Las opciones del proyecto determinan si se pueden utilizar los caracteres [% %]. Para obtener más información, consulte Interpolación de cadenas (construcción dinámica de cadenas).
<]>:
Símbolo que indica el final de la cadena de varias líneas. Este símbolo debe ir precedido de un retorno de carro. Este retorno de carro se ignora en la cadena.

Literal de cadena de varias líneas con comillas dobles Ocultar los detalles

<Variable name> = "
                <String content>
                <String content 2>
                "
<">:
Símbolo que indica el inicio de la cadena de varias líneas. Este símbolo debe ir seguido de un retorno de carro. Este retorno de carro se ignora en la cadena.
<String content>:
Cadena en varias líneas, sin comillas dobles. Los retornos de carro entre dos líneas de la cadena se interpretan como saltos de línea. Las tabulaciones al principio de las líneas se tienen en cuenta.
Atención: Las opciones del proyecto determinan si se pueden utilizar los caracteres [% %]. Para obtener más información, consulte Interpolación de cadenas (construcción dinámica de cadenas).
<">:
Símbolo que indica el final de la cadena de varias líneas. Este símbolo debe ir precedido de un retorno de carro. Este retorno de carro se ignora en la cadena.
Novedad versión 2024

Literal de cadena de varias líneas con caracteres de acento grave ( ` ) Ocultar los detalles

<Variable name> = `
                <String content>
                <String content 2>
                `
<`>:
Símbolo que indica el inicio de la cadena de varias líneas. Este símbolo debe ir seguido de un retorno de carro. Este retorno de carro se ignora en la cadena.
<String content>:
Cadena de varias líneas con o sin comillas dobles. Los retornos de carro entre dos líneas de la cadena se interpretan como saltos de línea. Las tabulaciones al principio de las líneas se tienen en cuenta.
Ventaja: Puede utilizar los caracteres [% %] para mostrar el contenido de la variable que contienen. Para obtener más información, consulte Interpolación de cadenas (construcción dinámica de cadenas).
<`>:
Símbolo que indica el final de la cadena de varias líneas. Este símbolo debe ir precedido de un retorno de carro. Este retorno de carro se ignora en la cadena.

Literal de cadena con retorno de carro Ocultar los detalles

<Variable> = "<String content>"+ CR + ...
                       "<String content 2>"
<String content>:
Cadena de varias líneas con comillas dobles en cada línea. Las líneas están separadas por "+ CR + ...".

Ejemplos

// Use square brackets to write a multiline string
MyString is string
MyString = [
	Example of 
	multiline string
	]
MyString is string
MyString = [
	Example of 
	multiline string
	]
// Use Carriage Return to write a multiline string
MyString is string
MyString = "This is a " + CR + "multiline string"

Ventajas de las sintaxis 1, 2 y 3

  • Resaltado de sintaxis: de forma predeterminada, las cadenas de varias líneas se muestran en color morado (como cualquier otra cadena entre comillas dobles en WLanguage) y se resaltan en color malva.
    Puede utilizar el resaltado de sintaxis predeterminado de WLanguage (opción "Resaltado de sintaxis .. WLanguage" del menú contextual de la cadena de varias líneas). Esta opción permite verificar el código introducido cuando se utiliza una cadena de varias líneas para la compilación dinámica (función Compile).
  • Posibilidad de contraer y expandir una cadena de varias líneas
    Contraer cadenas de varias líneas libera espacio en el editor de código. El código se vuelve más claro y legible. Cuando se contrae la cadena, el contenido se muestra en un tooltip.
  • Ventaja adicional de la sintaxis 2
    Las comillas dobles hacen que las cadenas sean más fáciles de leer, independientemente de que sean de una o varias líneas.

Limitaciones

  • El número máximo de líneas en una cadena es de 1000.
  • No se pueden utilizar cadenas de varias líneas dentro de cadenas de varias líneas. El siguiente código genera un error WLanguage:
    sCode is string = [
    sMultilineString is string = [
    Test on the multiline strings
    Attempt on the multiline strings
    ]
    ]
Interpolación de cadenas (construcción dinámica de cadenas)
La interpolación de cadenas consiste en combinar variables (o expresiones) y cadenas. WLanguage ofrece varios métodos para realizar esta operación:
  • Método 1: Dividir el literal de cadena para incluir la variable.
    Ejemplos:
    sCode is string = "The " + sVar + " string is a string"

    s is string = [
    	the string
    	] + var + [
    	is multiline
    	]

    s is string = "
    	the string
    	" + var + "
    	is multiline
    	"

    Esta solución no se recomienda, sobre todo si la cadena debe traducirse.
  • Método 2: Utilizar la función StringBuild. Los valores que pueden tomar parámetros deben sustituirse por %1, %2, %n, etc., en el literal de cadena.
    Ejemplos:
    sCode is string = "The %1 string is a string"
    sCode = StringBuild(sCode, MyVariable)

    sString is string = [
    	the %1 string
    	is multiline
    	]
    sString = StringBuild(sString, MyVariable)

    sString is string = "
    	the %1 string
    	is multiline
    	"
    sString = StringBuild(sString, MyVariable)
  • Método 3: Utilizar la opción "Permitir '[% %]' en las cadenas".
    • En la ventana de descripción del proyecto, en la pestaña "Compilación", seleccione la opción Permitir "[% %]" en las cadenas.
    • Utilice la siguiente sintaxis para indicar la expresión a utilizar:
      [%VariableName or Expression%]
      Por ejemplo:
      // Ask for customer confirmation
      IF YesNo(Yes, "Do you confirm the creation of customer [%sCustomerName%]") = No THEN
      	RETURN
      END
    Observaciones:
    • Novedad versión 2024
      Si utiliza literales de cadena de varias líneas con caracteres de acento grave ( ` ), las expresiones que utilizan "[% %]" se interpretan automáticamente. No es necesario seleccionar la opción correspondiente en la pestaña "Compilación".
    • Si la opción no está seleccionada en la pestaña "Compilación" de la ventana de descripción del proyecto, la cadena aparece tal cual: el nombre de la variable (o expresión) aparece en la cadena.
    • Utilice "-%" antes de los caracteres "[% %]" para que no se interpreten. Algunas funciones WLanguage requieren esta sintaxis específica. Ejemplo:
      grTooltip(GR_Deadline, grTooltipFormat, "[%CATEGORY%]" + CR + CR+ "[%VALUE%]" + " H")
      cambia a
      grTooltip(GR_Deadline, grTooltipFormat, -%"[%CATEGORY%]" + CR + CR + -%"[%VALUE%]" + " H")
    • Al traducir este tipo de cadenas, el nombre de la variable (o expresión) dentro de [% %] no debe traducirse. Sin embargo, puede mover la etiqueta [%VariableName or Expression%] dentro de la cadena.
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: 26/03/2024

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