In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Un detalle extraño

Foro de Xailer profesional en español
Responder
Bingen Ugaldebere
Mensajes: 1310
Registrado: Mié Sep 26, 2007 7:12 pm

Un detalle extraño

Mensaje por Bingen Ugaldebere »

Buenas XTeam tengo otro detalle insignificante pero extraño.
En un datacontrol de tipo DbEdit y con lPassword = .T. más cPasswordChar
= * si ejecutamos la aplicación aparecen unos bonitos cí­rculos negros
en lugar del * original, todo Ok pero si por código mostramos la contraseña:
::oPassword:lPassword:=!::oPassword:lPassword
::oPassword:Refresh()
::oPassword:SetFocus()
y la volvemos a ocultar con el mismo código, ahora ya no enseña los
cí­rculos sino los * originales que son un poco más feos y no parece
coherente.
Peor todaví­a es cuando muestra los cí­rculos en un campo lEnabled:=.F. y
lo pasas a lEnabled:=.T. y de nuevo a lEnabled:=.F. y quedan una especie
de i latinas con acento íííííí ni siquiera los * originales.
Gracias y perdón por la lata.
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5706
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Un detalle extraño

Mensaje por jfgimenez »

Bingen,
> Buenas XTeam tengo otro detalle insignificante pero extraño.
>
> En un datacontrol de tipo DbEdit y con lPassword = .T. más
> cPasswordChar = * si ejecutamos la aplicación aparecen unos bonitos
> cí­rculos negros en lugar del * original, todo Ok pero si por código
> mostramos la contraseña:
>
> ::oPassword:lPassword:=!::oPassword:lPassword
> ::oPassword:Refresh()
> ::oPassword:SetFocus()
>
> y la volvemos a ocultar con el mismo código, ahora ya no enseña los
> cí­rculos sino los * originales que son un poco más feos y no parece
> coherente.
>
> Peor todaví­a es cuando muestra los cí­rculos en un campo lEnabled:=.F.
> y lo pasas a lEnabled:=.T. y de nuevo a lEnabled:=.F. y quedan una
> especie de i latinas con acento íííííí ni siquiera los * originales.
conozco el problema, y créeme que en más de una ocasión he intentado
solucionarlo, pero no ha podido ser. El origen del problema está en el
carácter que usa al principio, el que parece un cí­rculo negro. Ese
carácter no está en el código ASCII ni tiene ningún código ANSI en
ninguna página de códigos. La única forma de mostrarlo es usando
UNICODE. El problema es que para poder usarlo hay que crear el control
usando un procedimiento de ventana con formato UNICODE. No me quiero
extender con los detalles técnicos, por lo tanto lo único que te puedo
decir es que Xailer utiliza ANSI, no UNICODE, porque entonces obligarí­a
a pasarlo todo a UNICODE y habrí­a que hacer muchos cambios en los
programas, no sólo en Xailer.
Ahora bien, cuando se crea el control por primera vez, funciona bien ese
carácter, pero es porque Microsoft hizo una triquiñuela en Windows XP.
Si lo recuerdas, en versiones anteriores de windows siempre se usaban
asteriscos. Pero con XP y la llegada de los temas visuales, MS hizo un
apaño para que al crear el control usara el carácter del cí­rculo. Pero
en cuanto se cambia lo más mí­nimo, se pierde el cí­rculo y se vuelve a
los asteriscos.
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Bingen Ugaldebere
Mensajes: 1310
Registrado: Mié Sep 26, 2007 7:12 pm

Un detalle extraño

Mensaje por Bingen Ugaldebere »

Entonces no serí­a más lógico que se usara solo el asterisco ***** que es
más coherente?
Gracias.
Responder