WindevBrasil - Fórum Windev, Webdev e WindevMobile
Dúvidas e soluções => Windev, WebDev e WindevMobile => Tópico iniciado por: JacquesBica em Janeiro 20, 2012, 08:02:20 pm
-
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
-
Valeu JacquesBica !!!
Grato por mais esta dica ...