Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com

Página Inicial

 
4D v20 R7
Símbolos de referência de caracteres

Símbolos de referência de caracteres  


 

Os símbolos de índice de cadeia são os seguintes: [[...]]

Estes símbolos são utilizados para determinar um caractere particular em uma cadeia. Esta sintaxe permite referenciar um caractere em um campo ou uma variável de tipo Alfa ou Texto.


Se os símbolos de referência de caracteres aparecerem à esquerda do operador de atribuição (:=),  um caractere é atribuído à posição referenciada na cadeia. Por exemplo, se vsNome não for uma cadeia vazia, a seguinte linha passa  a ser o primeiro caractere de vsNome a maiúsculas:

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


Por outro lado, se os símbolos de referência aparecerem em uma expressão, devolvem o caractere (ao qual fazem referência) como uma cadeia de um caractere. Por exemplo:
  ` O seguinte exemplo testa se o último caractere de vtText é o caractere "@"

 If(vtText#"")
    If(Character code(Substring(vtText;Length(vtText);1))=At sign)
  ` ...
    End if
 End if
 
  ` Utilizando a sintaxe de referência dos caracteres, escreva de uma maneira simples:
 If(vtText#"")
    If(Character code(vtText[[Length(vtText)]])=At sign)
  ` ...
    End if
 End if

Quando utilizar os símbolos de referência de caracteres, deve endereçar aos caracteres existentes na cadeia da mesma forma que endereça os elementos de um array. Por exemplo se endereça o caractere 20 de uma variável de cadeia, esta variável DEVE conter pelo menos 20 caracteres.

  • Não respeitar esta condição, em modo interpretado, não provoca um erro de sintaxe.
  • Não respeitar esta condição, em modo compilado causa um erro, Por exemplo, escrever um caractere além do final de uma cadeia ou um texto, como no código abaixo
  •   //Não fazer isto!
     vsAnyText:=""
     vsAnyText[[1]]:="A"
  • provocará o erro mostrado aqui em execução:
  • Atenção: não respeitar esta condição em modo compilado com controle de execução desativado, pode provocar corrupção da memória.

Exemplo  

O seguinte método de projeto coloca em maiúsculas o primeiro caractere de cada palavra do texto recebido como parâmetro e devolve o texto modificado:

  ` Método de projeto Passar a maiúsculas
  ` Passar a maiúsculas ( Texto ) -> Text
  ` Passar a maiúsculas ( Texto fonte ) -> Texto com letras em maiú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 exemplo, a linha:
ALERT(Capitalize text ("olá, meu nome é João da Silva e sou candidato a presidente!"))

Mostra o seguinte alerta:



Ver também 

Char
Character code

 
PROPRIEDADES 

Produto: 4D
Tema: String

 
CONTEÚDO DA PÁGINA 
 
HISTÓRIA 

 
ARTICLE USAGE

Manual de linguagem 4D ( 4D v20 R7)