versión 3
Introducción
Los símbolos de referencia de caracteres 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: En Mac OS, puede obtener los primeros dos símbolos presionando las teclas Option+"<" y Option+">".
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 (vsNombre#"") vsNombre[[1]]:=Uppercase(vsNombre[[1]]) End if
Por el contrario, 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 # "")referencia If (Character code(vtText[[Length(vtText)]])=At Sign) ` ... End if End if
Nota avanzada sobre la referencia de los caracteres inválidos
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! vsCualquierTexto:="" vsCualquierTexto[[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.