perdon por la tardanza, peor no eh tenido mucho tiempo

ahiva:
Código:Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Button1.Enabled = False
If TextBox1.TextLength < 4 Then
MsgBox("Rellena los campos correctamente(el nombre de usuario debe de ser de al menos 4 carácteres)")
Textbox1.text = Nothing
End If
If TextBox2.TextLength < 6 Then
MsgBox("Rellena los campos correctamente(el password debe ser de al menos 6 carácteres")
End If
If Not TextBox1.TextLength < 4 And Not TextBox2.TextLength < 6 Then
Button1.Enable = False
GroupBox2.Visible = True
Label6.Visible = True
Label5.Visible = True
TextBox1.ReadOnly = True
TextBox2.ReadOnly = True
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
If TextBox1.TextLength < 4 Then
MsgBox("Rellena los campos correctamente(el nombre de usuario debe de ser de al menos 4 carácteres)")
End If
If Not TextBox2.Text = TextBox3.Text Then
MsgBox("La contraseña no es válida")
Label6.Text = Val(Label6.Text) - 1
End If
If TextBox2.Text = TextBox3.Text Then
MsgBox("Has ingresado")
Close()
End If
If Val(Label6.Text) = 0 Then
MsgBox("Por motivos de seguridad, no podras volver a logearte hasta pasadas 24 horas")
Close()
End If
End Sub
End Class
como podeis observar el codigo es muy corto y muy simple

os voy a hacer uan descripcion de los objetos que lo componen sepradamente y del codigo que se les atribuye en el programa
- un primer groupbox, donde el "usuario" tendra que introducir su password y su nombre de usuario. en su interior
- colocad 1 label con el text "Usuario" al lado del cual pondreis un textbox para introducirlo, con una maxlength de 8 (esto quiere decir que solo podran introducirse 8 carácteres en este campo). el nombre de usuario tendra que tener entre 4 y 8 caracters. Bien, el maximo de 8 caracteres ya lo tenemos definido con la propiedad maxlength, pero, como hacemso para poner un kminimo de caracteres? bien, de esto se ocupara esta parte del codigo:
If TextBox1.TextLength < 4 Then
MsgBox("Rellena los campos correctamente(el nombre de usuario debe de ser de al menos 4 carácteres)")
Textbox1.text = Nothing
End If
el evento que en este codigo, el evento que lo desencadenara sera
button1_click1)ponemos una condicion, que se introduce siempre por
If, tras lo cual ponemos la condicion, en este caso es
textbox1.textlength < 4, es decir que hay menos de 4 caracteres en el textbox1 al pulsar el botton 1. Tras poner la, o las condiciones (podemos poner varias uniendolas con la palabra
And, de manera a que si no se cumple una de ellas la condicion no sera valida, escribimos
Then,que significa entonces..., que dara paso a lso efectos que queramos poner. CUando acabemos de poner todos los efectos de nuestra condicion, le daremso fin escribiendo
End If al final de esta (todo esto sale semi automaticamente, pero conviene que lo sepais
los efectos de esta condicion seran los siuientes:
- Por una parte, se enviara un mensaje explicativo al "usuario" en el que se le explica los errores que ha cometido
MsgBox("Rellena los campos correctamente(el nombre de usuario debe de ser de al menos 4 carácteres)")
- Al mismo tiempo, vaciamos de caracteres el textbox1:
Textbox1.text = Nothing
Nota: el valor
nothing tambien puede escribirse mas simplemente habriendo y cerrando comillas
""2)si los datos han sido rellenados correctamente, al logearnos, seria una estupidez dejar a nuestro usuario cambiar el nombre de usuario o la contraseña introducidos anteriormente, asi que lo bloquearemos, cambiando el atributo de la propiedad
Read Only (solo lectura) de False a True
If Not TextBox1.TextLength < 4 And Not TextBox2.TextLength < 6 Then
TextBox1.ReadOnly = True
End If
If Not TextBox1.TextLength < 4 And Not TextBox2.TextLength < 6 Then
Button1.enable = false
End If
La propiedad
Enable indica si el objeto esta activado o no (false significa descativado y true activado)
- un segundo groupbox, donde el "usuario" confirmara su password volviendo a introducirlo.
1) para hacerlo mas real, haremos que al principio este grupbox no este visible, asi que desde el principio le ponemos el valor
False a la propiedad
Visible del GroupBox. Al volver invisible al groupbox, volveremos tambien invisibles a todo lo que hemos colocado en su interior
2) si los datos son introducidos correctamente, se mostrara el groupbox2, cambiando el valor de su propiedad
Visible a
True If Not TextBox1.TextLength < 4 And Not TextBox2.TextLength < 6 Then
GroupBox2.Visible = True
End If
- en este groupbox introducimos un label password y un textbox para escribirlo exactamente igual que los hemos introducido en el anterior groupbox.
- ponemso tambien un boton con un text "confirmar". Al hacer click con sete boton, queremso que el programa verficique si es el mismo password introducido anteriormente y nos salga un mensaje ed que hemos ingresado si es asi.
If TextBox2.Text = TextBox3.Text Then
MsgBox("Has ingresado")
Close()
End If
El efecto
Close() cierra la ventana del programa.
- por ultimo, agregamos 2 labels a la derecha, uno con el etxt "intentos reastantes..." y otro con el text 3, ambos invisibles desde el principil peor se volveran visibles al clickear en login con unos datos correctos, al igual que el groupbox2
1) Cada vez que introdzcamso un password erroneo en la confirmacion, se nos restara un intento en el label de la izquierda:
If Not TextBox2.Text = TextBox3.Text Then
MsgBox("La contraseña no es válida")
Label6.Text = Val(Label6.Text) - 1
End If
La palabra
Not delante de una condicion, exprime que si no se cumple la condicion se relaize el efecto. Si El password no es el mismo, un mensaje con el texto "La contraseña no es valida", sera enviado. El comando
Val() coge la valor algébrica de un texto, en este caso del label6 (numero de intetos restantes)
2)Si los intentos restantes llegan a 0, se cerrara la ventana por motivos de seguridad, ya que podria ser que alguien estubiera probando adviinar la contraseña de un usuario:
If Val(Label6.Text) = 0 Then
MsgBox("Por motivos de seguridad, no podras volver a logearte hasta pasadas 24 horas")
Close()
End If
Espero haberma expresado bien, si no entendeis algo postearlo, he intentado hacerlo lo mejor posible.
saludos y suerte
