Autor
|
Tema: Ayuda!! Login con número máximo de intentos (Leído 2,853 veces)
|
Victortgpc
Desconectado
Mensajes: 4
|
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 -Engel Lex
|
|
« Última modificación: 30 Enero 2017, 22:14 pm por Victortgpc »
|
En línea
|
|
|
|
ivancea96
Desconectado
Mensajes: 3.410
ASMático
|
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.
|
|
|
En línea
|
|
|
|
Victortgpc
Desconectado
Mensajes: 4
|
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...
|
|
|
En línea
|
|
|
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.709
|
sabrí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
|
|
|
En línea
|
|
|
|
Victortgpc
Desconectado
Mensajes: 4
|
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!
|
|
« Última modificación: 2 Febrero 2017, 00:33 am por Victortgpc »
|
En línea
|
|
|
|
Victortgpc
Desconectado
Mensajes: 4
|
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!
|
|
|
En línea
|
|
|
|
|
|