Impedir espaço vazio nos campos de código no Protheus | Ti Responde 0247

No vídeo de hoje, vamos demonstrar em como impedir que seja digitado espaço vazio no meio de um campo.

A dúvida de hoje, nos perguntaram, em campos que sejam código, por exemplo, código do produto, como poderíamos impedir do usuário digitar espaços mas ainda.

Pensando nisso, montamos um exemplo, onde vamos mostrar em tratar essa situação via validação de campo.

Segue abaixo o vídeo exemplificando:

Abaixo o código fonte desenvolvido:

//Bibliotecas
#Include "TOTVS.ch"

/*/{Protheus.doc} zTemEspaco
Função que serve para validar se no campo digitado tem espaço vazio (ideam para campos de código)
@type user function
@author Atilio
@since 13/03/2026
@return lContinua, Lógico, .T. Se permite prosseguir ou .F. se barra o processo
@obs Colocar no valid. de usuário do campo (X3_VLDUSER), a seguinte expressão: u_zTemEspaco()
/*/

User Function zTemEspaco()
    Local aArea    := FWGetArea()
    Local cConteudo := Alltrim(&(ReadVar())) //Tira espaços da extremidade
    Local lContinua := .T.

    //Se mesmo com o alltrim, ainda tem espaço no meio, não permite prosseguir
    If " " $ cConteudo
        ExibeHelp("Falha zTemEspaco", "Tem espaço vazio no meio do campo", "Corrija a informação para prosseguir")
        lContinua := .F.
    EndIf

    FWRestArea(aArea)
Return lContinua

Bom pessoal, por hoje é só.

Abraços e até a próxima.

Dan (Daniel Atilio)
Cristão de ramificação protestante. Especialista em Engenharia de Software pela FIB, graduado em Banco de Dados pela FATEC Bauru e técnico em informática pelo CTI da Unesp. Entusiasta de soluções Open Source e blogueiro nas horas vagas. Autor e mantenedor do portal Terminal de Informação.

Deixe uma resposta

Terminal de Informação