Page 1 of 1
hay forma de arreglar upper("descripción" ) == &qu
Posted: Wed Feb 21, 2007 2:32 pm
by goosfancito
Estimados,
Code: Select all
local cTexto:= "descripción" // fijarse que es la o acentuada
if upper( cTexto ) = "DESCRIPCIÓN" // o acentuada pero en mayusculas
? "paso sin problemas"
else
? "no paso"
endif
Este fragmento de codigo jamas es verdadero ya que al hacer upper de una palabra con vocal acentuada da error o sea al convertir "ó" sigue siendo "ó" y no "Ó"
Hay manera de solucionarlo a nivel codigo y no app?
Gracias
Re: hay forma de arreglar upper("descripción" ) ==
Posted: Wed Feb 21, 2007 4:02 pm
by ACC69
goosfancito wrote:Estimados,
Code: Select all
local cTexto:= "descripción" // fijarse que es la o acentuada
if upper( cTexto ) = "DESCRIPCIÓN" // o acentuada pero en mayusculas
? "paso sin problemas"
else
? "no paso"
endif
Este fragmento de codigo jamas es verdadero ya que al hacer upper de una palabra con vocal acentuada da error o sea al convertir "ó" sigue siendo "ó" y no "Ó"
Hay manera de solucionarlo a nivel codigo y no app?
Gracias
Hola amigo, tendrias que crear una pequeña rutina, con todas las palabras que llevan acento en mayusculas, declarando la variable local, etc etc etc seria algo asi :
LOCAL EXCEPCION:={'Ó'}
cNomb1 := "descripción"
MSGINFO(UPPER(cNomb1))
FOR I = 1 TO LEN(cNomb1)
IF SUBSTR(RFCf,I,1) = "ó"
cCaracter := "Ó"
ENDIF
NEXT
bla bla bla, no esta completo la rutina, pero ahi te doy mas o menos la idea amigo, espero que te sirva la idea
IF UPPER(cNomb1) = ALLTRIM("DESCRIPCIÓN")
MsgInfo("Ok")
ELSE
MsgInfo("No paso 1")
ENDIF
Saludos
Adriano C. C.
Re: hay forma de arreglar upper("descripción" ) ==
Posted: Wed Feb 21, 2007 4:22 pm
by Maurilio Viana
AnsiUpper( ) funciona bien con caracteres acentuados (pero com xHarbour.com me da un error de GPF)
Salu2 de Brasil
Maurilio
Posted: Mon Feb 26, 2007 8:05 pm
by manuramos
Goos, yo utilizo este comando de preprocesador de mi cocehca y me va bien:
#TRANSLATE TRANSNOM( <cVar> ) => UPPER( STRTRAN( STRTRAN( STRTRAN( ;
STRTRAN( STRTRAN( STRTRAN( STRTRAN( ;
STRTRAN( STRTRAN( STRTRAN( STRTRAN( ;
ALLTRIM( <cVar> ),"Ú","U"), ;
"Ó","O"), ;
"Í","I"), ;
"É","E"), ;
"Á","A"), ;
"ú","U"), ;
"ó","O"), ;
"í","I"), ;
"é","E"), ;
"á","A"), ;
"-"," ") )
(copia y pega, no te compliques la vida)
Por ejemplo:ç
IF TRANSNOM( cNom1 ) == "DESCIRPCION" ....
Espero que te sirva