Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com

Inicio

 
4D v20 R7
Símbolos de referencia de caracteres

Símbolos de referencia de caracteres  


 

Los símbolos de índice de cadena son los siguientes: [[...]]

Estos símbolos se utilizan para designar un carácter particular en una cadena. Esta sintaxis permite referenciar un carácter en un campo o una variable de tipo Alfa o Texto.

Si los símbolos de referencia de caracteres aparecen a la izquierda del operador de asignación (:=), se asigna un carácter a la posición referenciada en la cadena. Por ejemplo, si vsNombre no es una cadena vacía, la siguiente línea pasa el primer carácter de vsNombre a mayúsculas:

 If(vsName#"")
    vsName[[1]]:=Uppercase(vsName[[1]])
 End if

Si los símbolos de referencia aparecen en una expresión, devuelven el carácter (al cual hacen referencia) como una cadena de un caracter. Por ejemplo:

  ` El siguiente ejemplo prueba si el último carácter de vtText es el carácter "@"
 If(vtText#"")
    If(Character code(Substring(vtText;Length(vtText);1))=At sign)
  ` ...
    End if
 End if
 
  ` Utilizando la sintaxis de referencia de los caracteres, escriba de una manera sencilla:
 If(vtText#"")
    If(Character code(vtText[[Length(vtText)]])=At sign)
  ` ...
    End if
 End if

Cuando utiliza los símbolos de referencia de caracteres, debe direccionar a los caracteres existentes en la cadena de la misma forma que direcciona los elementos de un array. Por ejemplo si direcciona el carácter 20 de una variable de cadena, esta variable DEBE contener por lo menos 20 caracteres.

  • No respetar esta condición, en modo interpretado, no causa un error de sintaxis.
  • No respetar esta condición, en modo compilado, causa un error. Por ejemplo, escribir un carácter más allá del final de una cadena o un texto, como en el siguiente código:
      //¡No hacer esto!
     vsAnyText:=""
     vsAnyText[[1]]:="A"

    provocará el error mostrado aquí en ejecución:
  • Atención: no respetar esta condición , en modo compilado con control de ejecución desactivado, puede provocar corrupción de la memoria.

Ejemplo  

El siguiente método de proyecto coloca en mayúsculas el primer carácter de cada palabra del texto recibido como parámetro y devuelve el texto modificado:

  ` Método de proyecto Pasar a mayúsculas
  ` Pasar a mayúsculas ( Texto ) -> Text
  ` Pasar a mayúsculas ( Texto fuente ) -> Texto con letras en mayúsculas
 
 $0:=$1
 $vlLen:=Length($0)
 If($vlLen>0)
    $0[[1]]:=Uppercase($0[[1]])
    For($vlChar;1;$vlLen-1)
       If(Position($0[[$vlChar]];" !&()-{}:;<>?/,.=+*")>0)
          $0[[$vlChar+1]]:=Uppercase($0[[$vlChar+1]])
       End if
    End for
 End if

Por ejemplo, la línea:

 ALERT(Capitalize text("hola, mi nombres es Juan Díaz y soy candidato a presidente!"))

Muestra la siguiente alerta:



Ver también 

Char
Character code

 
PROPIEDADES 

Producto: 4D
Tema: Cadenas de caracteres

 
CONTENIDO DE LA PÁGINA 
 
HISTORIA 

 
ARTICLE USAGE

Manual de lenguaje 4D ( 4D v20 R7)