4D v13.4

Character code

Página Inicial

 
4D v13.4
Character code

Character code 


 

Character code ( caractere ) -> Resultado 
Parâmetro Tipo   Descrição
caractere  cadeia in Caractere para o qual você quer conseguir o código
Resultado  Inteiro longo in Código dos caracteres

O comando Character code devolve o código do caractere atual de Caractere.

Se o banco funciona em modo Unicode (modo padrão para os bancos criados a partir da versão 11 de 4D), o comando devolve o código Unicode UTF-16 de caractere (entre 1 e 65535).

Se o banco funciona em modo compatibilidade ASCII, o comando devolve o código ASCII de caractere (entre 0 e 255). Para maior informação sobre os diferentes modos para a gestão de cadeias em 4D, consulte a seção Códigos ASCIIs..

Se houver mais de um caractere na cadeia, Character code devolve unicamente o código do primeiro caractere.

A função Char é a contraparte de Character code Devolve o caractere que um código UTF-16 ou ASCII representa.

Importante: em modo compatibilidade ASCII, todos os valores de texto, campos ou variáveis, utilizam a tabela ASCII de Mac OS, nas plataformas Macintosh e Windows, se não for realizada nenhuma conversão a outra tabela ASCII. Para maior informação, consulte a seção Códigos ASCII.

Os caracteres em maiúsculas e minúsculas são considerados iguais dentro de uma comparação. Pode utilizar Character code para diferenciar entre os caracteres em maiúsculas e em minúsculas. Portanto, esta linha devolve True:

 ("A"="a")


Por outro lado, esta linha devolve False:

 (Character code("A")=Character code("a"))

Este exemplo devolve o código do primeiro caractere da cadeia "ABC":

 RecupCod:=Character code("ABC") ` RecupCod assume o valor 65, o código do caractere de A

O exemplo abaixo testa os retornos de carro e os tabuladores:

 For($vlCar;1;Length(vtText))
    Case of
       :(vtText$vlCar≥=Char(Carriage return))
  ` Fazer algo
       :(vtText$vlCar≥=Char(Tab))
  ` Fazer outra coisa
       :(...)
  ` ...
    End case
 End for

Quando for executado muitas vezes em textos longos, se executará mais rápido, quando for compilado, se for escrito desta forma:

 For($vlCar;1;Length(vtText))
    $vlCode:=Character code(vtText$vlCar≥)
    Case of
       :($vlCode=Carriage return)
  ` Fazer algo
       :($vlCode=Tab)
  ` Fazer outra coisa
       :(...)
  ` ...
    End case
 End for


O segundo código é executado mais rápido por duas razões: apenas referencia um caractere por iteração e utiliza comparações de inteiros longos ao invés de comparações de cadeias para testar os retornos de carro e as tabulações. Utilize esta técnica quando trabalhe com códigos comuns tais como CR e TAB.

 
PROPRIEDADES 

Produto: 4D
Tema: String
Número 91

O modo Unicode afeta este comando

 
INDEX

Lista alfabética dos comandos

 
HISTÓRIA 

Modificado: 4D v11 SQL

 
VER TAMBÉM 

Char
Códigos ASCII
Símbolos de referência de caracteres