![]() |
Password en un TValueListEditor???
Hola, les comento un poco lo que hace mi programa y lo que estoy intentando realizar:
Cargo datos desde una base de datos a un componente TValueListEditor y resulta que en uno de los datos que cargo es un Password, lo que quiero hacer es ese campo se vea todo con asteriscos (******) y que a la hora de modificar el campo, lo que ingrese también se vea con asteriscos y que luego guarde correctamente los datos. Al que me pueda brindar alguna ayuda o alguna orientación se le va a agradecer mucho. Gracias PD: Estoy trabajando en Delphi XE. |
Cita:
Tal vez la visualización se podría corregir con el evento OnDrawcell, pero creo que el tema de la edición te va a dar muchos problemas. El intentar realizar sobre el mismo grid (TValueListEditor) creo que te va a dar bastante trabajo. Pregunta: ¿Seria mucho inconveniente, por ejemplo, que al editar el password pudieras hacerlo en otra ventana? A veces un cambio de enfoque resuelve muchas cosas. Estoy pensando en una ventana modal, que te preguntara sólo el password. En esa ventana podrías usar TEdit/TDBEdit normales con lo que tendrías el problema solucionado. En ese caso matas 2 pájaros de un tiro, porque podrías usar 2 componentes en lugar de uno, para preguntar el password por duplicado, cosa que se suele hacer cuando el usuario no ve lo que escribe (luego tú comparas ambos valores por si se ha equivocado). |
Cita:
|
Cita:
Tal vez podrías usar un segundo componente TEdit e incrustarlo en la celda del ValueListEditor... Tal vez capturar las teclas y quedártelas mientras picas * (pero eso te dará otras complicaciones -borrado, backspace, pegar,...) Como ves la cosa no es trivial... Habría que ir probando alternativas. |
El TValueListEditor utiliza un derivado de TEdit interno, al igual que un Grid. Podrías crear una clase derivada de TValueListEditor para tener acceso al TEdit (por ejemplo, redefiniendo el método protegido CreateEditor) y usar su propiedad PasswordChar. Aún así, como dice Neftalí, no será algo sencillo, pues el mismo TEdit es el que se usa para todas las celdas, así que tendrías que detectar cuándo está en la celda que te interesa y activar el PasswordChar sólo en ese momento.
// Saludos |
Cita:
Ahora logre avanzar un poco, ya pude cargar todas las contraseñas mediante ********* teniendo en cuenta la longitud. Ahora en lo que estoy renegando es en el evento Keypress de dicho control, xq tengo que ingresar asteriscos solo cuando esta modificando el campo contraseña y no para el resto de los datos, nose si me entienden. Saludos y gracias por la ayuda. |
Cita:
¿Qué palabra o parte del mensaje de Román fue la que no comprendiste? Saludos cordiales. :) |
Cita:
|
La franja horaria es GMT +2. Ahora son las 00:39:09. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi