FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Como eliminar pontos e traços de um campo
Posts: 84
Joined: Wed Nov 09, 2005 11:22 PM
Como eliminar pontos e traços de um campo
Posted: Wed Sep 23, 2009 07:05 PM

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

Posts: 337
Joined: Fri Oct 07, 2005 02:44 PM
Re: Como eliminar pontos e traços de um campo
Posted: Wed Sep 23, 2009 07:30 PM
Rogerio,

a la rapida se me ocurre esto :

Code (fw): Select all Collapse
   yvar := strtran(strtran(xvar,".",""),"-","")


atte.,

Lautaro Moreira
Hola,

Soy un Contador que por necesidad aprendio a programar y se quedo programando.
Posts: 603
Joined: Sun May 04, 2008 08:44 PM
Re: Como eliminar pontos e traços de um campo
Posted: Wed Sep 23, 2009 07:31 PM

Valor:= remove("12.123123-123123")

alert( valor ) // saida 12123123123123

function remove(var)

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

return var

Posts: 84
Joined: Wed Nov 09, 2005 11:22 PM
Re: Como eliminar pontos e traços de um campo
Posted: Wed Sep 23, 2009 09:02 PM

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

Posts: 337
Joined: Fri Oct 07, 2005 02:44 PM
Re: Como eliminar pontos e traços de um campo
Posted: Wed Sep 23, 2009 09:36 PM
Rogerio :
Code (fw): Select all Collapse
.......
.......

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
Hola,

Soy un Contador que por necesidad aprendio a programar y se quedo programando.
Posts: 84
Joined: Wed Nov 09, 2005 11:22 PM
Re: Como eliminar pontos e traços de um campo
Posted: Wed Sep 23, 2009 10:02 PM

Perfeito Lautaro

era isso mesmo.

obrigado.

[]'s

Rogerio

Continue the discussion