| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Tugui Master


Registrado: 09 Nov 2002Mensajes: 663
|
Publicado: Lun 08 Abr, 2019 11:44 pm Asunto: contraseñas |
|
|
Hola a todos a ver si alguien puede ayudarme, resulta que tengo un código como el siguiente:
| Código: |
void __fastcall TForm1::ABSQuery1contrasenyaGetText(TField *Sender, UnicodeString &Text,
bool DisplayText)
{
Text = StringOfChar('*',Sender->FieldName.Length());
}
|
Lo que hace es que cuando muestra el campo "contrasenya" en el DBGrid muestra asteriscos, hasta aquí todo bién. Lo que quiero es activarlo o desactivarlo a mi gusto. Seguro que es muy sencillo pero no caigo.
Gracias por adelantado. _________________ ¡ADELANTE CON ESTE SUPER FORO! |
|
| Volver arriba |
|
 |
Alpinador Lt Cmdr

Registrado: 21 Abr 2014Mensajes: 123
|
Publicado: Mar 09 Abr, 2019 4:09 pm Asunto: |
|
|
quizas algo similar a esto?? usando un checkbox en el Form
| Código: | void __fastcall TForm1::ABSQuery1contrasenyaGetText(TField *Sender, UnicodeString &Text,
bool DisplayText)
{
if(CheckBox1->Checked = true)
{
Text = StringOfChar('*',Sender->FieldName.Length());
}
else {
Text = Query1->FieldByName("contrasenia")->AsAnsiString;
}
} |
|
|
| Volver arriba |
|
 |
Tugui Master


Registrado: 09 Nov 2002Mensajes: 663
|
Publicado: Mie 10 Abr, 2019 9:25 am Asunto: |
|
|
Gracias Alpinador, pero sigue sin funcionar, lo que quiero es llamar a una función que haga lo mismo que hace el ongettext a voluntad del usuario.
No sé si me he explicado bién. _________________ ¡ADELANTE CON ESTE SUPER FORO! |
|
| Volver arriba |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Sab 13 Abr, 2019 9:54 am Asunto: |
|
|
No dices en que elemento estás haciendo esto de la contraseña. En un formulario que uso para pedir la contraseña para una BB.DD. Firebird, en el TEdit en el que se pide la contraseña por defecto al pulsar cada tecla aparece un asterisco porque en la propiedad PasswordChar tengo puesto ese valor.
El CheckBox que hay a la derecha cambia los asteriscos por lo que se ha tecleado con este código:
| Código: | void __fastcall TfLogin::CheckBox1Click(TObject *Sender)
{
int nPos = Clave->SelStart;
Clave->PasswordChar = CheckBox1->Checked ? NULL : '*';
Clave->SelStart = nPos + 1;
Clave->SetFocus();
} |
Espero que te valga. _________________ Un saludo
Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA) |
|
| Volver arriba |
|
 |
Tugui Master


Registrado: 09 Nov 2002Mensajes: 663
|
Publicado: Sab 13 Abr, 2019 2:21 pm Asunto: |
|
|
Gracias Angel, pero no era eso exactamente, se trata de mostrar los asteriscos en una columna del DBGrid y quitarlos a voluntad.
Creo que lo he conseguido, ahí va como lo he hecho:
He creado un archivo .ini donde guardo el estado del checkbox el cual leo al inicio del programa para comprobar si está marcado:
| Código: |
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
TIniFile *opc = new TIniFile(ExtractFilePath(Application->ExeName)+"\\opciones.ini");
CheckBox1->Checked = opc->ReadBool("contraseña","mostrar",false);
delete opc;
}
|
En el OnClick del CheckBox guardo su estado en el archivo .ini:
| Código: |
void __fastcall TForm1::CheckBox1Click(TObject *Sender)
{
TIniFile *opc = new TIniFile(ExtractFilePath(Application->ExeName)+"\\opciones.ini");
opc->WriteBool("contraseña","mostrar",CheckBox1->Checked);
delete opc;
}
|
Y en el OnGetText del campo contrasenya el siguiente código:
| Código: |
void __fastcall TForm1::ABSQuery1contrasenyaGetText(TField *Sender, UnicodeString &Text,
bool DisplayText)
{
TIniFile *opc = new TIniFile(ExtractFilePath(Application->ExeName)+"\\opciones.ini");
if (CheckBox1->Checked == true) {
Text = ABSQuery1->FieldByName("contrasenya")->AsAnsiString;
}
else {
Text = StringOfChar('*',ABSQuery1->FieldByName("contrasenya")->AsAnsiString.Length());
}
delete opc;
}
|
Y ahora si funciona sólo con seleccionar o deseleccionar el checkbox se muestran u ocultan los asteriscos de manera que puedes ver o ocultar las contraseñas.
Pongo el código por si puede ayudar a alguien  _________________ ¡ADELANTE CON ESTE SUPER FORO! |
|
| Volver arriba |
|
 |
Alpinador Lt Cmdr

Registrado: 21 Abr 2014Mensajes: 123
|
Publicado: Mie 24 Abr, 2019 10:33 am Asunto: |
|
|
aha, veo que iban por ahi los tiros..... al final lo del if else te ha estimulado las neuronas eh?? XDD
lo que pasa que lo dije asi de cabeza el codigo....necesitaba ser ajustado pero veo que te las has arreglado bien.....gracias por compartirlo  |
|
| Volver arriba |
|
 |
Tugui Master


Registrado: 09 Nov 2002Mensajes: 663
|
Publicado: Jue 25 Abr, 2019 10:24 pm Asunto: |
|
|
De nada compi  _________________ ¡ADELANTE CON ESTE SUPER FORO! |
|
| Volver arriba |
|
 |
|