Foros del Web » Programación para mayores de 30 ;) » .NET »

2 preguntas de VB.NET

Estas en el tema de 2 preguntas de VB.NET en el foro de .NET en Foros del Web. Hola!!! imaginen , tengo un formulario de contraseña, con usuario y contraseña, y dos botones Iniciar y Cancelar. Bueno, como hago para que cuando el ...
  #1 (permalink)  
Antiguo 24/08/2010, 14:49
 
Fecha de Ingreso: julio-2010
Mensajes: 191
Antigüedad: 13 años, 10 meses
Puntos: 2
2 preguntas de VB.NET

Hola!!!
imaginen , tengo un formulario de contraseña, con usuario y contraseña, y dos botones Iniciar y Cancelar.
Bueno, como hago para que cuando el usuario se equivoque 3 veces al intentar entrar a otro form, como q se cancele la entrada en 10 minutos, o sea que no puede volver intentar entrar otra vez hasta que pasen 10 minutos q codigo sería??


La otra es, que cuando este en el textbox, al darle ENTER pueda entrar sin necesitad de darle click al boton Iniciar, que codigo sería??

Les agradecere mucho
  #2 (permalink)  
Antiguo 24/08/2010, 18:38
 
Fecha de Ingreso: febrero-2009
Mensajes: 36
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: 2 preguntas de VB.NET

Cita:
Iniciado por l222p Ver Mensaje
Hola!!!
imaginen , tengo un formulario de contraseña, con usuario y contraseña, y dos botones Iniciar y Cancelar.
Bueno, como hago para que cuando el usuario se equivoque 3 veces al intentar entrar a otro form, como q se cancele la entrada en 10 minutos, o sea que no puede volver intentar entrar otra vez hasta que pasen 10 minutos q codigo sería??


La otra es, que cuando este en el textbox, al darle ENTER pueda entrar sin necesitad de darle click al boton Iniciar, que codigo sería??

Les agradecere mucho
Hola.. creo q te servira esto:

Public Class Form1
Dim contador As Int16

contador = contador + 1
MsgBox("Verifique usuario y contraseña", MsgBoxStyle.Exclamation)

End If
If contador = 3 Then
MsgBox("Sorry... intento mas de 3 veces", MsgBoxStyle.Critical)
con.Dispose()
con.Close()
Application.Exit()
End If

algo asi seria la logica para q tengas un formulario q al fallar tres veces te saque del sistema. Mas abajo te pongo mi codigo completo. espero te sirva:

Imports System.Data
Imports System.Data.SqlClient
Public Class Form1
Dim contador As Int16
Private Sub btnCancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancelar.Click
Application.Exit()
End Sub

Private Sub btnAceptar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAceptar.Click


Dim csb As New SqlConnectionStringBuilder
With csb
.DataSource = "RAAB\SQLEXPRESS"
.InitialCatalog = "inventario"
.IntegratedSecurity = True
End With


Using con As New SqlConnection(csb.ConnectionString)

con.Open()
Dim cmd2 As New SqlCommand("select id_usuario " & _
"from usuarios " & _
"where usuario = @usuario and pass = @password; ", con)
With cmd2
.Parameters.AddWithValue("@usuario", Me.txtusuario.Text)
.Parameters.AddWithValue("@password", Me.txtpassword.Text)
End With

Dim i As Integer
i = CInt(cmd2.ExecuteScalar())
If i > 0 Then
contador = 0
MsgBox("Bienvenido!!", MsgBoxStyle.Information)

Exit Sub
Else
contador = contador + 1
MsgBox("Verifique usuario y contraseña", MsgBoxStyle.Exclamation)

End If
If contador = 3 Then
MsgBox("Sorry... intento mas de 3 veces", MsgBoxStyle.Critical)
con.Dispose()
con.Close()
Application.Exit()
End If



End Using


End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

End Sub
End Class


SALUDOS!!
  #3 (permalink)  
Antiguo 25/08/2010, 13:52
 
Fecha de Ingreso: julio-2010
Mensajes: 191
Antigüedad: 13 años, 10 meses
Puntos: 2
Respuesta: 2 preguntas de VB.NET

mmm... no me sale :S
me aparece error en SqlConnectionStringBuilder
como lo arreglo??
verás yo soy nuevo en esto de VB.NET espero me comprendas...
gracias!
  #4 (permalink)  
Antiguo 25/08/2010, 13:57
 
Fecha de Ingreso: julio-2010
Mensajes: 191
Antigüedad: 13 años, 10 meses
Puntos: 2
Respuesta: 2 preguntas de VB.NET

yo tengo este codigo.. me funciona perfecto.. pero no lo que quiero, y lo que quiero es q se cancele el sistema

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIniciar.Click
Dim contraseña As String
Dim usuario As String
contraseña = txtContraseña.Text
usuario = txtUsuario.Text

If usuario = "Luis" And contraseña = "wimbledon2010" Then
Dim MENU As New Menu
MENU.Show()
Else
lblHide.ForeColor = Color.Red
lblHide.Text = "Contraseña o Usuario Incorrecto"

End If
End Sub

el usuario es Luis y la contraseña wimbledon2010
espero me ayudes :D
gracias de nuevo :D
  #5 (permalink)  
Antiguo 25/08/2010, 16:18
 
Fecha de Ingreso: febrero-2009
Mensajes: 36
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: 2 preguntas de VB.NET

Cita:
Iniciado por l222p Ver Mensaje
yo tengo este codigo.. me funciona perfecto.. pero no lo que quiero, y lo que quiero es q se cancele el sistema


Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIniciar.Click
Dim contraseña As String
Dim usuario As String
contraseña = txtContraseña.Text
usuario = txtUsuario.Text

If usuario = "Luis" And contraseña = "wimbledon2010" Then
Dim MENU As New Menu
MENU.Show()
Else
lblHide.ForeColor = Color.Red
lblHide.Text = "Contraseña o Usuario Incorrecto"

End If
End Sub

el usuario es Luis y la contraseña wimbledon2010
espero me ayudes :D
gracias de nuevo :D
ok sorry! pense que estabas trabajando con base de datos. debes de obviar una gran parte del codigo jejejeje:

ok yo hice uno mas simple! espero te sirva

bueno en mi ejemplo que te pondre solo debes de crear una caja de texto para introducir el usuario y otra caja de texto para introducir la clave. Supongamos que el usuario es: sabado y la clave es 123. Ambas las puedes poner en un modulo o en una variable global.

Primero creamos un modulo (me imagino que sabes como crear el modulo, sino seleccionas en el explorador de soluciones el nombre de tu aplicacion, das clic derecho y te vas en donde dice agregar y ahi te saldra la opcion modulo y como notaras es una ventana de codigo el cual puedes llamar desde cualquier formulario) y pon eset codigo:

Código Variables en el modulo:
Ver original
  1. Module Module1
  2.     Public usuario As String
  3.     Public contraseña As String
  4. End Module


Luego haz doble clic en el boton aceptar o el que hayas creado ( mi boton se llamaba ok)

Código vb.net:
Ver original
  1. Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click
  2.         usuario = "sabado"
  3.         contraseña = "123"
  4.  
  5.         If (Me.txtusuario.Text = usuario And Me.txtcontrasena.Text = contraseña) Then
  6.             Me.Hide()
  7.             MDIParent1.Show() 'Este es un formulario X que yo llamo, Ahi puedes poner el tuyo propio u otro que creas conveniente.
  8.             contador = 0
  9.         Else
  10.             contador = contador + 1
  11.             MsgBox("Error en contraseña")
  12.         End If
  13.         If contador = 3 Then
  14.             application.exit()
  15.         End If
  16.  
  17.  
  18.     End Sub

Espero te sirva!! Si tienes dudas tratare de ayudarte!! Un saludo desde Nicaragua!!

Última edición por The_Clansman; 25/08/2010 a las 16:31
  #6 (permalink)  
Antiguo 25/08/2010, 17:16
Avatar de Thumper  
Fecha de Ingreso: agosto-2004
Ubicación: Jesús María - Lima - Perú
Mensajes: 270
Antigüedad: 19 años, 8 meses
Puntos: 6
Respuesta: 2 preguntas de VB.NET

Para poder controlar lo de los 10 minutos al no trabajar con una BD podrías escribir en un archivo te texto la ultima fecha (con hora) en que tu usuario se equivocó 3 veces en su contraseña y validardo contra la hora actual; sin embargo esto validación facilmente puede saltarse cambiando la fecha de tu PC.

como leer u escribir un archivo Click aqui

saludos
__________________
Martín Alexis Valdivia S.
-----------------------------
"Quisiéramos cambiar el mundo, pero Dios no nos daría el código fuente." CAP
"Si Saber No Es Un Derecho, Seguro Será Un Izquierdo." WD
  #7 (permalink)  
Antiguo 25/08/2010, 17:53
 
Fecha de Ingreso: febrero-2009
Mensajes: 36
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: 2 preguntas de VB.NET

Cita:
Iniciado por Thumper Ver Mensaje
Para poder controlar lo de los 10 minutos al no trabajar con una BD podrías escribir en un archivo te texto la ultima fecha (con hora) en que tu usuario se equivocó 3 veces en su contraseña y validardo contra la hora actual; sin embargo esto validación facilmente puede saltarse cambiando la fecha de tu PC.

como leer u escribir un archivo [URL="http://articles.techrepublic.com.com/5100-10878_11-1045309.html"]Click aqui[/URL]

saludos
No lei eso de los 10 minutos! jejejeje!!! vamos a ver como se hace!
  #8 (permalink)  
Antiguo 26/08/2010, 15:25
 
Fecha de Ingreso: julio-2010
Mensajes: 191
Antigüedad: 13 años, 10 meses
Puntos: 2
Respuesta: 2 preguntas de VB.NET

ME FUNCIONÓ EXCELENTE!!!!!!
pero tengo unas interrogantes...
que pasa al momento de empaquetar el proyecto??? se puede entrar de nuevo o no??

otra cosa, como yo soy nuevo en esto de VB.NET
me explicarias qu es un modulo??
para que sirve el modulo??

ese Me. para que sirve y tambien el me.hide

muchas gracias amigo!!!
  #9 (permalink)  
Antiguo 27/08/2010, 08:04
 
Fecha de Ingreso: febrero-2009
Mensajes: 36
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: 2 preguntas de VB.NET

Cita:
Iniciado por l222p Ver Mensaje
ME FUNCIONÓ EXCELENTE!!!!!!
pero tengo unas interrogantes...
que pasa al momento de empaquetar el proyecto??? se puede entrar de nuevo o no??
Claro que si mi estimado. Simplemente se sale de la aplicacion y el usuario final tiene que volver a entrar.

Cita:
Iniciado por l222p Ver Mensaje
otra cosa, como yo soy nuevo en esto de VB.NET
me explicarias qu es un modulo??
para que sirve el modulo??
Bueno com yo tambiene estoy empezando te dire lo que se empiricamente jejejeje un modulo es algo asi una area del proyecto en donde puedes poner una variable y esta se puede usar en todos los formularios de tu proyecto. Se podria decir que sirver para crear variables, procedimientos y funciones globales las cuales tu puedes llamar en cualquier parte de tu prooyecto en .net Si alguien tiene una mejor explicacion seria bueno que la compartieran (claro quwe si buscamos con la ayuda de san google encontraremos algo mejor).
Cita:
Iniciado por l222p Ver Mensaje
ese Me. para que sirve y tambien el me.hide
Bueno realmente es para hacer referencia a objetivos de tu formulario. Por ejemplo si tu creas dos cajas de textos y les pones como nombre: txtcaja1 y txtcaja2 si tu haces doble clic dentro del form automaticamente se carga el evento load y en esa ventana al escribir .me se cargaran todas las propiedades del formulario, si continuas y pone me.txtcaja1 (nombre de la caja de texto) aparecera automaticamente todas las propiedades del textbox. El me.hide a como puedes ver hace referencia al formulario. Eso es debido el .me hace referencia al formulario directamente. Bueno esa es mi empirica explicacion.
Cita:
Iniciado por l222p Ver Mensaje
muchas gracias amigo!!!
Estamos a la orden! Recuerda que al igual que tu yo tambien estoy empezando. Te recomiendo este libro del guille:

Código:
http://www.megaupload.com/?d=TS8WQOCF
o este libro del grupo EIDOS que tambien es bueno:
Código:
http://rapidshare.com/files/117246143/Programacion.en.Visual.Basic.NET.-.Miguel.Blanco.Grupo.Eidos.rar
Este otro es un video tutorial para crear aplicaciones de escritorio. claro no explica cosas de programacion basica para esto te recomiendo que leas el primer ebook.

Código:
 	

http://www.megaupload.com/?d=C4C1NLN6
http://www.megaupload.com/?d=VPQKIKD0
http://www.megaupload.com/?d=MZ3MRW58
http://www.megaupload.com/?d=33V6MOOI
http://www.megaupload.com/?d=JBN54J6O
Espero no violentar ninguna regla de los foros al poner estos enlaces!!

Saludos!!!
  #10 (permalink)  
Antiguo 27/08/2010, 14:00
 
Fecha de Ingreso: julio-2010
Mensajes: 191
Antigüedad: 13 años, 10 meses
Puntos: 2
Respuesta: 2 preguntas de VB.NET

muchas gracias amigo.. ahorita no puedo descargarlos porq me sale ocupado pero cuando se pueda lo voy a descargar...

no se si puedes hacer que cuando estes escribiendo el codigo de contraseña al darle la tecla ENTER entre sin necesidad de agarrar el mouse y darle en el boton INICIAR..

Espero no sea mucho pedir? :S
  #11 (permalink)  
Antiguo 27/08/2010, 15:40
 
Fecha de Ingreso: febrero-2009
Mensajes: 36
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: 2 preguntas de VB.NET

Cita:
Iniciado por l222p Ver Mensaje
muchas gracias amigo.. ahorita no puedo descargarlos porq me sale ocupado pero cuando se pueda lo voy a descargar...

no se si puedes hacer que cuando estes escribiendo el codigo de contraseña al darle la tecla ENTER entre sin necesidad de agarrar el mouse y darle en el boton INICIAR..

Espero no sea mucho pedir? :S
Mmm.... Mejor te comparto el foro en donde vi la solucion de apretar enter jejeje.

Código:
http://www.canalvisualbasic.net/foro/visual-basic-net/como-asignar-el-foco-un-boton-con-un-enter-9978/
Si en dado caso es prohibido dar enlaces de otras pagionas y/o foros te pongo el codigo basico para lo que estas pidiendo:

Esto es con el Evento Keypress!! (Si no sabes de este evento te recomiendo que bajes los ebboks de los cuales puse el enlace en mi anterior post)

Código Codigo para dar enter en VB.Net:
Ver original
  1. Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
  2.  If e.KeyChar = Chr(13) Then
  3.  MsgBox("Haz dado enter y este ha sido el resultado jejeje")
  4.  End If
  5.  End Sub

Este es con el evento Keydown


Código Codigo para dar enter en VB.Net:
Ver original
  1. Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
  2.  If e.KeyCode = Keys.Enter Then
  3.  MsgBox("Haz dado enter y este ha sido el resultado jejeje")
  4.  End If
  5.  End Sub

Te recomiendo que leas lo basico i222p!! yo tambien sigo leyendo lo basico para poder avanzar! Estamos en contacto!!

Cualquier duda posteala y si te puedo ayudar con mucho gusto posteare la solucion sino te ayudare a maquinar la solucion jejejeje!!

Un gran saludo!!

PD: Los codigos que puse los vi en el enlace que acabo de postiar! Gracias a seba123neo (moderador de ese foro) por brindar la solucion!!
  #12 (permalink)  
Antiguo 27/08/2010, 17:32
 
Fecha de Ingreso: febrero-2009
Mensajes: 36
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: 2 preguntas de VB.NET

Cita:
Iniciado por The_Clansman Ver Mensaje
Mmm.... Mejor te comparto el foro en donde vi la solucion de apretar enter jejeje.

Código:
http://www.canalvisualbasic.net/foro/visual-basic-net/como-asignar-el-foco-un-boton-con-un-enter-9978/
Si en dado caso es prohibido dar enlaces de otras pagionas y/o foros te pongo el codigo basico para lo que estas pidiendo:

Esto es con el Evento Keypress!! (Si no sabes de este evento te recomiendo que bajes los ebboks de los cuales puse el enlace en mi anterior post)

Código Codigo para dar enter en VB.Net:
Ver original
  1. Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
  2.  If e.KeyChar = Chr(13) Then
  3.  MsgBox("Haz dado enter y este ha sido el resultado jejeje")
  4.  End If
  5.  End Sub

Este es con el evento Keydown


Código Codigo para dar enter en VB.Net:
Ver original
  1. Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
  2.  If e.KeyCode = Keys.Enter Then
  3.  MsgBox("Haz dado enter y este ha sido el resultado jejeje")
  4.  End If
  5.  End Sub

Te recomiendo que leas lo basico i222p!! yo tambien sigo leyendo lo basico para poder avanzar! Estamos en contacto!!

Cualquier duda posteala y si te puedo ayudar con mucho gusto posteare la solucion sino te ayudare a maquinar la solucion jejejeje!!

Un gran saludo!!

PD: Los codigos que puse los vi en el enlace que acabo de postiar! Gracias a seba123neo (moderador de ese foro) por brindar la solucion!!
Hola de nuevo!! Acabo de encontrar en este foro una guia online para aprender visual basic.net


Código:
http://www.foro.lospillaos.es/curso-gratuito-de-programacion-en-vb-studio-net-vt4212.html
De ante mano me disculpo si he vilentado las reglas del foro al haber puesto ese enlace! Saludos!!
  #13 (permalink)  
Antiguo 28/08/2010, 13:06
 
Fecha de Ingreso: julio-2010
Mensajes: 191
Antigüedad: 13 años, 10 meses
Puntos: 2
Respuesta: 2 preguntas de VB.NET

muchas gracias, me funciono, solo que no como debe ser, osea, escribi ste codigo

Private Sub txtContraseña_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtContraseña.KeyPress
If e.KeyChar = Chr(13) Then
MenuPrin.Show()'nombre del formulario que quiero q salga al momento de darle enter
End If

End Sub

me funciona al darle enter pero no con el usuario ni la contraseña, entra asi por asi... puedo poner cualquier nombre y cualquier contraseña y siempre me lo ptira, lo que quiero es q funcione igual al boton INICIAR nada mas que sin darle clic.. entiendes??

escribi este codigo para probar, pero no me funciono

Private Sub txtContraseña_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtContraseña.KeyPress
If (Me.txtUsuario.Text = usuario1 And Me.txtContraseña.Text = contraseña1) Then
Me.Hide()
MenuPrin.Show()
contador = 0
Else
contador = contador + 1
MsgBox("Contraseña o Usuario inválido")
txtContraseña.Text = ""
txtUsuario.Text = ""
End If
If contador = 3 Then
Application.Exit()
End If
If e.KeyChar = Chr(13) Then
MenuPrin.Show()
End If

End Sub

copiando el proceso del boton INICIAR...

disculpa mi ignoracia :S
  #14 (permalink)  
Antiguo 28/08/2010, 22:01
 
Fecha de Ingreso: febrero-2009
Mensajes: 36
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: 2 preguntas de VB.NET

Cita:
Iniciado por l222p Ver Mensaje
muchas gracias, me funciono, solo que no como debe ser, osea, escribi ste codigo

Private Sub txtContraseña_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtContraseña.KeyPress
If e.KeyChar = Chr(13) Then
MenuPrin.Show()'nombre del formulario que quiero q salga al momento de darle enter
End If

End Sub

me funciona al darle enter pero no con el usuario ni la contraseña, entra asi por asi... puedo poner cualquier nombre y cualquier contraseña y siempre me lo ptira, lo que quiero es q funcione igual al boton INICIAR nada mas que sin darle clic.. entiendes??

escribi este codigo para probar, pero no me funciono

Private Sub txtContraseña_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtContraseña.KeyPress
If (Me.txtUsuario.Text = usuario1 And Me.txtContraseña.Text = contraseña1) Then
Me.Hide()
MenuPrin.Show()
contador = 0
Else
contador = contador + 1
MsgBox("Contraseña o Usuario inválido")
txtContraseña.Text = ""
txtUsuario.Text = ""
End If
If contador = 3 Then
Application.Exit()
End If
If e.KeyChar = Chr(13) Then
MenuPrin.Show()
End If

End Sub

copiando el proceso del boton INICIAR...

disculpa mi ignoracia :S
Mmm... tranquilo man!! pero miro que te haces bola !! dentro if puedes meter el codigo directamente, asi lo hice yo en mi proyecto y me funciono de las mil maravillas!!

Código codigo:
Ver original
  1. Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
  2.  
  3.        If e.KeyCode = Keys.Enter Then
  4.        'Aqui pon tu codigo de validacion de formulario o lo que necesites hacer.
  5.        'Toda las instrucciones dentro de la condicion.
  6.        End If
  7.        End Sub

Espero me entiendas... sino avisame y te mandare el codigo de mi proyecto para que lo analices! Saludos!!
  #15 (permalink)  
Antiguo 29/08/2010, 12:40
 
Fecha de Ingreso: julio-2010
Mensajes: 191
Antigüedad: 13 años, 10 meses
Puntos: 2
Respuesta: 2 preguntas de VB.NET

mil gracias amigo, me funciono perfecto, me explicarias esta condición

If e.KeyCode = Keys.Enter Then

gracias

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:20.