Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Victortgpc en 30 Enero 2017, 22:04 pm



Título: Ayuda!! Login con número máximo de intentos
Publicado por: Victortgpc en 30 Enero 2017, 22:04 pm
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.

Código
  1. #pragma endregion
  2.  
  3. private: System::Void textBox1_TextChanged(System::Object^  sender, System::EventArgs^  e) {
  4. }
  5. private: System::Void textBox2_TextChanged(System::Object^  sender, System::EventArgs^  e) {
  6. this->textBox2->PasswordChar='*';
  7. }
  8. private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
  9. if (textBox1->Text=="Victortgpc" && textBox2->Text=="051520")
  10.  
  11. {
  12. BasedeDatos ^ ObjectForm=gcnew BasedeDatos; ObjectForm->ShowDialog (this);
  13. }
  14.  
  15. else MessageBox::Show("ERROR: Contraseña o Usuario Incorrectos");
  16. textBox1->Text="";
  17. textBox2->Text="";
  18.  
  19. }
  20. private: System::Void Form1_Load(System::Object^  sender, System::EventArgs^  e) {
  21.     label1->Text="Usuario";
  22. label2->Text="contraseña";
  23. button1->Text="Aceptar";
  24.  
  25. }
  26. };
  27. }
  28.  


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


Título: Re: Ayuda!! Login con número máximo de intentos
Publicado por: ivancea96 en 31 Enero 2017, 12:07 pm
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.


Título: Re: Ayuda!! Login con número máximo de intentos
Publicado por: Victortgpc en 1 Febrero 2017, 18:11 pm
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...


Título: Re: Ayuda!! Login con número máximo de intentos
Publicado por: Eleкtro en 1 Febrero 2017, 19:47 pm
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.

Código:
Declarar variable contador.

void button1_Click(...)
    IF CONTRASEÑA_CORRECTA:
        Permitir logueo.
    ELSE:
        Sumar el contador de intentos.
        IF CONTADOR = 3:
            ...
     
Saludos


Título: Re: Ayuda!! Login con número máximo de intentos
Publicado por: Victortgpc en 1 Febrero 2017, 23:25 pm
seria algo así entonces ?

Código
  1. #pragma endregion
  2.  
  3. int cont=0;
  4.  
  5. private: System::Void textBox1_TextChanged(System::Object^  sender, System::EventArgs^  e) {
  6. }
  7. private: System::Void textBox2_TextChanged(System::Object^  sender, System::EventArgs^  e) {
  8. this->textBox2->PasswordChar='*';
  9. }
  10. private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
  11. if (textBox1->Text=="Victortgpc" && textBox2->Text=="051520")
  12.  
  13.  
  14. {
  15. BasedeDatos ^ ObjectForm=gcnew BasedeDatos; ObjectForm->ShowDialog (this);
  16. }
  17.  
  18. else MessageBox::Show("ERROR: Contraseña o Usuario Incorrectos. Vuelve a intentar");
  19. textBox1->Text="";
  20. textBox2->Text="";
  21. cont=cont+1;
  22. if (cont==3) {"Has excedido el numero Maximo de intentos. Vuelve mas tarde";}
  23. }
  24. private: System::Void Form1_Load(System::Object^  sender, System::EventArgs^  e) {
  25.     label1->Text="Usuario";
  26. label2->Text="contraseña";
  27. button1->Text="Aceptar";
  28.  
  29. }
  30. };
  31. }
  32.  
  33.  
  34.  

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!


Título: Re: Ayuda!! Login con número máximo de intentos
Publicado por: Victortgpc en 11 Febrero 2017, 17:31 pm
Problema resuelto:

Código
  1.  
  2. #pragma endregion
  3.  
  4. static int cont=0;
  5.  
  6. private: System::Void textBox1_TextChanged(System::Object^  sender, System::EventArgs^  e) {
  7. }
  8. private: System::Void textBox2_TextChanged(System::Object^  sender, System::EventArgs^  e) {
  9. this->textBox2->PasswordChar='*';
  10. }
  11. private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
  12. if (textBox1->Text=="Victortgpc" && textBox2->Text=="051520")
  13.  
  14.  
  15. {
  16. BasedeDatos ^ ObjectForm=gcnew BasedeDatos; ObjectForm->ShowDialog (this);
  17. }
  18.  
  19. else MessageBox::Show("ERROR: Contraseña o Usuario Incorrectos. Vuelve a intentar");
  20. textBox1->Text="";
  21. textBox2->Text="";
  22. cont=cont+1;
  23. if (cont>=3) MessageBox::Show ("Has excedido el numero Maximo de intentos. Vuelve mas tarde");
  24. }
  25. private: System::Void Form1_Load(System::Object^  sender, System::EventArgs^  e) {
  26.     label1->Text="Usuario";
  27. label2->Text="contraseña";
  28. button1->Text="Aceptar";
  29.  
  30. }
  31. };
  32. }
  33.  
  34.  

gracias a todos por ayudar!