tengo el Login completamente Hecho, pero quiero agregarle un máximo de 3 intentos para que este lance una ventana que diga "Has excedidos el numero de intentos, porfavor vuelva mas tarde" esto me tiene con un dolor de cabeza :-[ , no soy muy bueno programando ya que apenas estoy empezando. por eso consulto con ustedes
Este es es codigo, lo estoy realizando en Visual Basic 2010.
#pragma endregion
private: System::Void textBox1_TextChanged(System::Object^ sender, System::EventArgs^ e) {
}
private: System::Void textBox2_TextChanged(System::Object^ sender, System::EventArgs^ e) {
this->textBox2->PasswordChar='*';
}
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
if (textBox1->Text=="Victortgpc" && textBox2->Text=="051520")
{
BasedeDatos ^ ObjectForm=gcnew BasedeDatos; ObjectForm->ShowDialog (this);
}
else MessageBox::Show("ERROR: Contraseña o Usuario Incorrectos");
textBox1->Text="";
textBox2->Text="";
}
private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) {
label1->Text="Usuario";
label2->Text="contraseña";
button1->Text="Aceptar";
}
};
}
alguna manera de agregar esto ? de verdad les agradecería la ayuda chicos!!
· Los códigos deben ir en etiquetas GeSHi
· Cada cosa va en su subforo, esto no es C/C++
>aquí las reglas del foro (http://foro.elhacker.net/reglas.htm)
-Engel Lex
Puedes guardar en una variable, que estará fuera de la función, la cantidad de intentos que has hecho hasta ahora. Cada vez que fallas, la incrementas en 1. Si es igual a 3, muestras el mensaje y no le permites probar.
sabrías como aplicarla ? ya yo estoy que me revienta la cabeza con esto, la verdad yo no se ya como, apenas comienzo con la programación y estoy...
Cita de: Victortgpc en 1 Febrero 2017, 18:11 PMsabrías como aplicarla ?
En tu código, en el controlador de eventos "button1_Click" tienes un bloque If/Else donde puedes implementar facílmente lo que te han dicho sin realizar grandes modificaciones en el código.
Declarar variable contador.
void button1_Click(...)
IF CONTRASEÑA_CORRECTA:
Permitir logueo.
ELSE:
Sumar el contador de intentos.
IF CONTADOR = 3:
...
Saludos
seria algo así entonces ?
#pragma endregion
int cont=0;
private: System::Void textBox1_TextChanged(System::Object^ sender, System::EventArgs^ e) {
}
private: System::Void textBox2_TextChanged(System::Object^ sender, System::EventArgs^ e) {
this->textBox2->PasswordChar='*';
}
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
if (textBox1->Text=="Victortgpc" && textBox2->Text=="051520")
{
BasedeDatos ^ ObjectForm=gcnew BasedeDatos; ObjectForm->ShowDialog (this);
}
else MessageBox::Show("ERROR: Contraseña o Usuario Incorrectos. Vuelve a intentar");
textBox1->Text="";
textBox2->Text="";
cont=cont+1;
if (cont==3) {"Has excedido el numero Maximo de intentos. Vuelve mas tarde";}
}
private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) {
label1->Text="Usuario";
label2->Text="contraseña";
button1->Text="Aceptar";
}
};
}
después de tanto rato intentando, he llegado hasta aquí, he solucionado varios errores ahora solo falta uno y es "error C3845: 'SistemadeLogin::Form1::cont': solamente se pueden inicializar miembros de datos estáticos dentro de clase ref o de un tipo de valor"
hasta aquí llegue, alguien sabe de que viene este error ? se supone que cont se utiliza para contar no ?
Disculpen si los errores son fatales. Saludos y muchas gracias me han ayudado mucho!
Problema resuelto:
#pragma endregion
static int cont=0;
private: System::Void textBox1_TextChanged(System::Object^ sender, System::EventArgs^ e) {
}
private: System::Void textBox2_TextChanged(System::Object^ sender, System::EventArgs^ e) {
this->textBox2->PasswordChar='*';
}
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
if (textBox1->Text=="Victortgpc" && textBox2->Text=="051520")
{
BasedeDatos ^ ObjectForm=gcnew BasedeDatos; ObjectForm->ShowDialog (this);
}
else MessageBox::Show("ERROR: Contraseña o Usuario Incorrectos. Vuelve a intentar");
textBox1->Text="";
textBox2->Text="";
cont=cont+1;
if (cont>=3) MessageBox::Show ("Has excedido el numero Maximo de intentos. Vuelve mas tarde");
}
private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) {
label1->Text="Usuario";
label2->Text="contraseña";
button1->Text="Aceptar";
}
};
}
gracias a todos por ayudar!