FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour hay forma de arreglar upper("descripci贸n" ) == &qu
Posts: 1956
Joined: Fri Oct 07, 2005 07:08 PM
hay forma de arreglar upper("descripci贸n" ) == &qu
Posted: Wed Feb 21, 2007 02:32 PM
Estimados,

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
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
Posts: 632
Joined: Tue Dec 12, 2006 07:34 PM
Re: hay forma de arreglar upper("descripci贸n" ) ==
Posted: Wed Feb 21, 2007 04:02 PM
goosfancito wrote:Estimados,

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.
Posts: 252
Joined: Tue Oct 25, 2005 02:48 PM
Re: hay forma de arreglar upper("descripci贸n" ) ==
Posted: Wed Feb 21, 2007 04:22 PM

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

Salu2 de Brasil
Maurilio

Posts: 219
Joined: Mon Dec 26, 2005 07:25 PM
hay forma de arreglar upper("descripci贸n" ) == &qu
Posted: Mon Feb 26, 2007 08:05 PM
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

Continue the discussion