4D v16.3

Símbolos de referencia de caracteres

Inicio

 
4D v16.3
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.

Nota de compatibilidad: a partir de 4D v13, no es posible visualizar los antiguos símbolos Mac OS en el editor de métodos (≤...≥).

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 provoca un error de sintaxis.
  • No respetar esta condición, en modo compilado (sin opciones), puede traer una corrupción de memoria, si, por ejemplo, escribe un carácter más allá del final de una cadena o un texto.
  • No respetar esta condición en modo compilado, provoca un error cuando se activa el control de ejecución. Por ejemplo, al ejecutar el siguiente código:
  ` ¡No hacer esto!
 vsAnyText:=""
 vsAnyText[[1]]:="A"

provocará el siguiente error:

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
Códigos ASCII
Tipos de datos

 
PROPIEDADES 

Producto: 4D
Tema: Cadenas de caracteres

 
HISTORIA 

 
ARTICLE USAGE

Manual de lenguaje 4D ( 4D v16)
Manual de lenguaje 4D ( 4D v16.1)
Manual de lenguaje 4D ( 4D v16.2)
Manual de lenguaje 4D ( 4D v16.3)