pessoal,
preciso importar um campo de outro DBF e preciso eliminar caracteres "letras", e impoortar somente os numeros tipo.
EX: DI52F45 -> 5245
o q me sugerem a fazer??
abraços.
eliminar caracteres de campos
Moderador: Moderadores
-
Dércio_Luiz_Zanatta
- Usuário Nível 3

- Mensagens: 153
- Registrado em: 11 Jan 2006 15:37
- Localização: Ibirubá - RS
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Tem usuário que a inteiração com o programador, é coisa de extrema urgência. Já me ví na situação que no campo nome de cliente, estava também número protocolo, celular, etc... era mais fácil ele se pronunciar e colocar os dados no devido campo. Também ocorre quando pegamos sistema de outros que não foram muito bem projetados... Então eu faço o seguinte:
Para eliminar número:
Para eliminar caracteres da varável VNOM:
O CAHRREM é muito útil da CT.LIB.
Um clip-abraço :)Pos
Para eliminar número:
Código: Selecionar todos
VXNOM:=ALLTRIM(CHARREM("0123456789(-)",VNOM))Código: Selecionar todos
VSTRING:=""
FOR I=33 TO 255
IF !(I>47 .AND. I<58)
VSTRING:=VSTRING+CHR(I)
ENDIF
NEXT
VXCOD:=ALLTRIM(CHARREM(VSTRING,VNOM))Um clip-abraço :)Pos
(atenção: EDITADO conforme observação do Dr. Spock, a seguir)
Dá pra fazer mais simples e fácil de "ver":
Dá pra fazer mais simples e fácil de "ver":
Código: Selecionar todos
variavel="DI52F45"
numeros=""
outros=""
y=len(variavel)
for x=1 to y
a=substr(variavel,x,1)
if a$"1234567890"
numeros=numeros+a
else
outros=outros+a
endi
next
?numeros=>"5245"
?outros -> "DIF"
Editado pela última vez por Eolo em 29 Mai 2007 07:53, em um total de 1 vez.
Complementando...
- So complementando o exemplo postado pelo Vo Eolo, faltou a linha com a definicao da variavel "a".
variavel="DI52F45"
numeros=""
outros=""
for x=1 to len(variavel)
a = substr(variavel,x,1) && essa variavel nao estava definida
if a $ "1234567890"
numeros = numeros + a && agora ela pode ser concatenada.
else
outros = outros + a
endif
next x
?numeros=>"5245"
?outros -> "DIF"
- Clip_abraco a todos :)Pos
variavel="DI52F45"
numeros=""
outros=""
for x=1 to len(variavel)
a = substr(variavel,x,1) && essa variavel nao estava definida
if a $ "1234567890"
numeros = numeros + a && agora ela pode ser concatenada.
else
outros = outros + a
endif
next x
?numeros=>"5245"
?outros -> "DIF"
- Clip_abraco a todos :)Pos
-----------------------------------------------------------
Dbase II - Cobol MB - Edisa 251 - CP 300 / 500
Clipper Summer 85 - Proceda 4 Mhz - Hd 10 Mb
Dbase II - Cobol MB - Edisa 251 - CP 300 / 500
Clipper Summer 85 - Proceda 4 Mhz - Hd 10 Mb

