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.
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.
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
-
- Mensajes: 1310
- Registrado: Mié Sep 26, 2007 7:12 pm
Un detalle extraño
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
> 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
-
- Mensajes: 1310
- Registrado: Mié Sep 26, 2007 7:12 pm
Un detalle extraño
Entonces no sería más lógico que se usara solo el asterisco ***** que es
más coherente?
Gracias.
más coherente?
Gracias.