domingo, 28 de junho de 2015

Acentos - Remover

Acentos - Remover

http://forum.pcsoft.fr/fr-FR/pcsoft.us.windevmobile/959-remove-acento-961/read.awp?hl=remove,acento

http://www.windevbrasil.com.br/index.php/topic,1086.msg2445.html#msg2445

Dando seguimento na dica anterior, temos por norma remover os acentos e caracteres especiais antes de gravar um registro. Para isto usamos as rotinas abaixo:

1) Esta função abaixo remove os acentos através da função nativa do WD (NoAccent) e faz uma varredura na String passada por parâmetro e remove outros caracteres indesejados:

PROCEDURE JBAsc(pCampo)

sCampo is string = NoAccent(pCampo)
nTamanho is int = Length(pCampo)

sNovoCampo is string
sCaracter is string
nValor is int

IF (nTamanho > 1) THEN
   FOR i = 1 TO nTamanho
      sCaracter = (Middle(sCampo,i,1))
      nValor = Asc(sCaracter)

      IF (nValor >= 32 AND nValor <= 93) OR (nValor = 95 OR nValor = 13 OR nValor = 10) AND (nValor <> 39) THEN
         sNovoCampo += sCaracter
      END
   END
ELSE
   sNovoCampo = pCampo
END

RESULT(sNovoCampo)

2) Esta procedure faz uma varredura em todos os campos contidos no registro passado por parâmetro:

PROCEDURE JBAscRecord(pGR_Registro)

sNomeControle is string
FOR i = 1 _TO_ pGR_Registro..Occurrence
   sNomeControle = EnumControl(pGR_Registro,i)

   IF {sNomeControle, indControl}..InputType = typInputText THEN
       {sNomeControle, indControl}..Value = JBAsc({sNomeControle, indControl})
   END
END

Nenhum comentário:

Postar um comentário

Teste

Teste
teste