Page 1 of 1

Como eliminar pontos e traços de um campo

Posted: Wed Sep 23, 2009 7:05 pm
by rogerio
Olá a todos

existe um campo de livre formatação onde o usuário podia cadastrar livremente códigos assim:

64.718.749.100-53
18.166.002.268-890
27.089.276-1
43.394.650.200-99
16.109.650-6

Agora preciso atualizar o sistema e mudar automaticamente o conteúdo desses campos para somente dígitos, assim:

6471874910053
18166002268890
270892761
4339465020099
161096506
Existe alguma função que me permita fazer isso?

[]'s

Rogerio

Re: Como eliminar pontos e traços de um campo

Posted: Wed Sep 23, 2009 7:30 pm
by Lautaro
Rogerio,

a la rapida se me ocurre esto :

Code: Select all

   yvar := strtran(strtran(xvar,".",""),"-","")
 
atte.,

Lautaro Moreira

Re: Como eliminar pontos e traços de um campo

Posted: Wed Sep 23, 2009 7:31 pm
by lailton.webmaster
Valor:= remove("12.123123-123123")

alert( valor ) // saida 12123123123123

function remove(var)

var := StrTran( var, ".", "" )
var := StrTran( var, "-", "" )

return var

Re: Como eliminar pontos e traços de um campo

Posted: Wed Sep 23, 2009 9:02 pm
by rogerio
Obrigado a todos pela resposta.
Mas achei que existisse alguma função que retornasse apenas os números, pois o usuário pode ter colocado qualquer sinal, além de , . - .


[]'s

Re: Como eliminar pontos e traços de um campo

Posted: Wed Sep 23, 2009 9:36 pm
by Lautaro
Rogerio :

Code: Select all


.......
.......

local cxvar
local cyvar

 cxvar :="123.1234.455-55"

 cyvar := solonumeros(cxvar)

 ......
 ......

return 

function solonumeros(cxvar)

 local nveces
 local ctemp
 local cchar

 for nveces = 1 to len(cxvar)
      cchar:=substr(cxvar,nveces,1)
     if cchar $ "01234567890"
        if nveces == 1
           ctemp:=cchar
        else
           ctemp+=cchar
        endif
     endif
 next nveces

return ctemp

 
deberia funcionar.

atte.,

Lautaro Moreira

Re: Como eliminar pontos e traços de um campo

Posted: Wed Sep 23, 2009 10:02 pm
by rogerio
Perfeito Lautaro

era isso mesmo.

obrigado.

[]'s

Rogerio