Algo para con SWITCH
Publicado: Sab Abr 30, 2011 5:58 pm
Supongo que se debe a mi pasado "no xbase" pero me ocurre una cosa
curiosa con SWITCH...
Lo estoy utilizando para discriminar entre letras de una cadena de la
siguiente manera...
METHOD ProcesaCaracter( cLetra ) CLASS XSimuLCD
Local cCaracter, cTemp
cTemp := ToString( cLetra )
SWITCH cTemp
CASE "A"
cCaracter := "Es la A"
EXIT
CASE "í‘"
cCaracter := "Es la í‘"
EXIT
CASE "€"
cCaracter := "Es el simbolo del Euro"
EXIT
CASE "$"
cCaracter := "Es el simbolo del Dolar"
EXIT
DEFAULT
cCaracter := "No se que letra es"
END
RETURN cCaracter
Si llamo a...
::ProcesaCaracter( "A" )
o
::ProcesaCaracter( "$" )
Funciona bien
Si lo hago con
::ProcesaCaracter( "í‘" )
o
::ProcesaCaracter( "€" )
Me dice que no sabe que letra es
Tuve que añadir el ToString porque los números me los pasaba como valor
numérico y no como carácter por lo que no lo procesaba.
¿Que estoy haciendo mal?
Un saludo
Pedro Amaro
curiosa con SWITCH...
Lo estoy utilizando para discriminar entre letras de una cadena de la
siguiente manera...
METHOD ProcesaCaracter( cLetra ) CLASS XSimuLCD
Local cCaracter, cTemp
cTemp := ToString( cLetra )
SWITCH cTemp
CASE "A"
cCaracter := "Es la A"
EXIT
CASE "í‘"
cCaracter := "Es la í‘"
EXIT
CASE "€"
cCaracter := "Es el simbolo del Euro"
EXIT
CASE "$"
cCaracter := "Es el simbolo del Dolar"
EXIT
DEFAULT
cCaracter := "No se que letra es"
END
RETURN cCaracter
Si llamo a...
::ProcesaCaracter( "A" )
o
::ProcesaCaracter( "$" )
Funciona bien
Si lo hago con
::ProcesaCaracter( "í‘" )
o
::ProcesaCaracter( "€" )
Me dice que no sabe que letra es
Tuve que añadir el ToString porque los números me los pasaba como valor
numérico y no como carácter por lo que no lo procesaba.
¿Que estoy haciendo mal?
Un saludo
Pedro Amaro