The character reference symbols: [[...]]
These symbols are used to refer to a single character within a string. This syntax allows you to individually address the characters of a text variable, string variable, or field.
If the character reference symbols appear on the left side of the assignment operator (:=), a character is assigned to the referenced position in the string. For example, if vsName is not an empty string, the following line sets the first character of vsName to uppercase:
If(vsName#"")
vsName[[1]]:=Uppercase(vsName[[1]])
End if
Otherwise, if the character reference symbols appear within an expression, they return the character (to which they refer) as a 1-character string. For example:
If(vtText#"")
If(Character code(Substring(vtText;Length(vtText);1))=At sign)
...
End if
End if
If(vtText#"")
If(Character code(vtText[[Length(vtText)]])=At sign)
...
End if
End if
When you use the character reference symbols, you must address existing characters in the string in the same way you address existing elements of an array. For example if you address the 20th character of a string variable, this variable MUST contain at least 20 characters.
The following project method capitalizes the first character of each word of the text received as parameter and returns the resulting capitalized text:
$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
For example, the line:
ALERT(Capitalize text("hello, my name is jane doe and i'm running for president!"))
displays the alert shown here:
