FoxPro/Visual FoxPro - Quitar acento

 
Vista:

Quitar acento

Publicado por Iñaki (47 intervenciones) el 14/06/2007 12:35:56
Hola a todos!
Como puedo quitarle el acento a una palabra que tengo en una variable (en este caso “pam3”)?

Yo utilizo esto:

pam3=UPPER( CHRTRAN(pam3,"á","A"))
pam3=UPPER(CHRTRAN(pam3,"é","E"))
pam3=UPPER(CHRTRAN(pam3,"í","I"))
pam3=UPPER(CHRTRAN(pam3,"ó","O"))
pam3=UPPER(CHRTRAN(pam3,"ú","U"))

pero no funciona, el upper lo utilizo para poner todo en mayúsculas y esto si funciona, pero el acento no me lo quita.

Alguna idea?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Quitar acento

Publicado por enrique (1041 intervenciones) el 14/06/2007 14:05:32
el tema pasa porque la primer instruccion,

pam3=UPPER( CHRTRAN(pam3,"á","A"))

ya te convierte a mayuscula y cuando llega a

pam3=UPPER(CHRTRAN(pam3,"ó","O"))

ya esta todo en mayuscula, proba con lo siguiente

do case
case "á"$pam3
pam3=UPPER( CHRTRAN(pam3,"á","A"))
case "é"$pam3
pam3=UPPER( CHRTRAN(pam3,"é","A"))
case "í"$pam3
pam3=UPPER( CHRTRAN(pam3,"í","A"))
case "ó"$pam3
pam3=UPPER( CHRTRAN(pam3,"ó","A"))
case "ú"$pam3
pam3=UPPER( CHRTRAN(pam3,"ú","A"))

endcase
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Quitar acento

Publicado por adrian (1 intervención) el 14/06/2007 16:00:37
Quitar todo los Acentos:

?CHRTRAN(micadena, "áéíóúÁÉÍÓÚ","aeiouAEIOU")

Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Quitar acento

Publicado por CRISTOBAL AVILES (1 intervención) el 31/12/2016 05:04:35
esa es la correcta y difinitiva sin tantas vueltas ni tanta lampara
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Quitar acento

Publicado por Cacho Cortez (9 intervenciones) el 20/06/2007 22:57:36
Yo creo con los "letras raras" (letras acentuadas, ñ, º) tanto en mayúsculas como en minísculas y ejecuto el siguiente programa
close data
SELE 2
USE ACENTOS
COUNT TO cuantos
DECLA ArrAcentos(cuantos,2)
SCAN
ArrAcentos(RECNO(),1)=RTRIM(queesta)
ArrAcentos(RECNO(),2)=RTRIM(reemplazo)
ENDSCAN

SELE 1
USE BASERARA ALIAS MOVIM && La base de dato que tiene el campo "Raro" con "letras raras",
SCAN
FOR t=1 TO cuantos && porque en el campo puede haber +de una palabra rara
IF ArrAcentos(t,1)$Movim.Raro
voyacambiar=STRTRAN(Movim.Raro,ArrAcentos(t,1),ArrAcentos(t,2))
REPLA Movim.Raro WITH voyacambiar
ENDIF
ENDFOR
ENDSCAN
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 4
Ha aumentado su posición en 17 puestos en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

RE:Quitar acento

Publicado por Erick Naranjo (6 intervenciones) el 13/09/2013 04:22:09
pam3 = sintilde(pam3)

Procedure sintilde
parameter texto
resultado = strtran(strtran(strtran(strtran(strtran(texto,"á","a"),"é","e"),"í","i"),"ó","o"),"ú","u")
return resultado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar