hay forma de arreglar upper("descripción" ) == &qu

Post Reply
User avatar
goosfancito
Posts: 1392
Joined: Fri Oct 07, 2005 7:08 pm

hay forma de arreglar upper("descripción" ) == &qu

Post 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
Un aporte chico hace grandes cambios.
Apoyemos al proyecto "Hogar pimpinela"
Bajate la aplicación (gratuita) y encuentra en ella toda la info de como podes colaborar.
GRACIAS!
https://play.google.com/store/apps/deta ... .acomprar
ACC69
Posts: 619
Joined: Tue Dec 12, 2006 7:34 pm
Contact:

Re: hay forma de arreglar upper("descripción" ) ==

Post 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.
User avatar
Maurilio Viana
Posts: 252
Joined: Tue Oct 25, 2005 2:48 pm
Location: Garça/Garza/Heron City - Brazil
Contact:

Re: hay forma de arreglar upper("descripción" ) ==

Post by Maurilio Viana »

AnsiUpper( ) funciona bien con caracteres acentuados (pero com xHarbour.com me da un error de GPF)

Salu2 de Brasil
Maurilio
manuramos
Posts: 219
Joined: Mon Dec 26, 2005 7:25 pm
Location: Jerez de la Frontera (Spain)

Post 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
Nos Gusta Programar
Post Reply