Tempo de leitura: 3 minutos
No desenvolvimento Protheus, muitas vezes precisamos realizar validações de baixo nível, como identificar caracteres especiais, tratar quebras de linha ou validar a entrada de dados em campos de texto. A função Asc em ADVPL é a ferramenta nativa para retornar o valor numérico (código ASCII) de um caractere, sendo um conceito base em Fundamentos do ADVPL.
Neste guia prático, você aprenderá a sintaxe da função Asc, como ela se comporta com strings de múltiplos caracteres e como utilizá-la em conjunto com a função inversa Chr em suas rotinas customizadas de Manipulação de String.
O que é a função Asc e para que serve?
A função Asc tem como finalidade retornar o código numérico decimal correspondente ao caractere passado como parâmetro, baseado na tabela ASCII (American Standard Code for Information Interchange).
Um detalhe técnico importante: se você passar uma string com mais de um caractere para a função, ela retornará apenas o código ASCII do primeiro caractere da sequência. Caso a string esteja vazia, a função retornará 0.
Sintaxe:
Asc(cString)
Parâmetro(s):
Retorno:
Exemplo em ADVPL:
Asc(“ADVPL”) -> 65
No exemplo acima o valor retornado será o 65, que representa a letra “A”, primeira caractere da cadeia de caractere “ADVPL” informada na função ADVPL Asc.
Exemplo da função Asc em ADVPL:
#include 'protheus.ch'
/*{Protheus.doc} User Function fLen
(Essa função tem por finalidade mostrar a função Asc em ADVPL)
@type Function
@author Adilio Costa
@since 09/07/2023
@version 1.0
@?Inscreva-se no Blog ProtheusAdvpl:
https://www.protheusadvpl.com.br
@?Inscreva-se no Canal ProtheusAdvpl:
https://www.youtube.com/protheusadvpl
@?Siga-nos no Instagram:
https://www.instagram.com/protheusadvpl
@?Conheça os Cursos e Formações do ProtheusAdvpl:
https://cursos-e-formacoes-protheusadvpl.gr-site.com/
|Se esse conteúdo foi útil pra você nos ajude divulgando
ele e nossas redes sociais!!|
*/
User Function fAsc()
Local cVar := "ADVPL" //Variável caractere
Local cMsg:=""
Local cVar2 := Asc(cVar)
cMsg += "O valor ASCII do primeiro caractere da cadeia "+cVar+" é:"+cValTochar(cVar2)
MsgAlert(cMsg)
Return

Domine a Programação ADVPL do Zero ao Avançado
Para dominar este conceito em cenários complexos, como a criação de protocolos de comunicação, criptografia simples ou tratamento de arquivos de texto legados, conheça o Portal ProtheusAdvpl. Lá, exploramos a fundo a arquitetura por trás destas funções e suas aplicações em grandes projetos de desenvolvimento.
Cursos Recomendados:
Dica de Ouro: Asc vs Chr
A função Asc é a “irmã gêmea” da função Chr. Enquanto a Asc transforma caractere em número, a Chr transforma o número de volta em caractere. Saber alternar entre as duas é essencial para manipular dados em nível de byte no Protheus.
Conclusão
A função Asc em ADVPL é uma ferramenta simples, mas poderosa para o tratamento refinado de strings no Protheus. Ao entender como extrair o valor numérico dos caracteres, você ganha precisão para realizar validações complexas e tratar dados de forma mais técnica. Dominar a Manipulação de String é um dos pilares para escrever códigos profissionais e seguros.
Links de referência(s):