Ayuda "Visual Basic"

bunburetto

Bovino Milenario
#1
Hola hermanos bakunos... primero que nada... les envio un gran saludooo...

Soy novato en programacion ... tengo un problemita en VB.

Tengo una ventana principal que contiene los campos: Matricula y Nickname.
Un group box con las opciones en radiobuttons; Identificacion, Localizacion y Seguridad.
Y un boton que se llama Cargar forma.



Ya puedo vincular mis en radiobuttons a otras ventanas (formas) sin ningun problema.
Pero la situacion es la siguiente:

Quiero que mi programa no me vincule a ninguna de las formas si no escribo una matricula, una contraseña y si no elijo una opcion.

Ya hice un codigo que funciona y me dice "Falta matricula, Falta Nickname, Elija una opcion"... en caso de que falte cualquiera de los 3 datos, falten 2 datos o falte 1 dato.

Pero al momento de borrar la contraseña y/o el nickname... el programa si me vincula y no me envia mensaje de error.

Adjunto el codigo.

Dim texto As String = ""

If txtMatricula.TextLength <= 0 Then
texto = (" Falta Matricula ")
End If

If txtNickname.TextLength <= 0 Then
texto = texto & (" Falta Nickname ")
End If


Inician los radiobuttons

If rbIdentificacion.Checked = True Then
frmIdentificacion.Show()
ElseIf rbLocalizacion.Checked = True Then
frmLocalizacion.Show()
ElseIf rbSeguridad.Checked = True Then
frmSeguridad.Show()
Else
MessageBox.Show(texto & "Seleccione una opcion")
End If


Espero que me puedan ayudar. Muchas gracias hermanos.:vientos:
 

anarquiles

Bovino maduro
#2
ps io no c muxo de programacion y menos en visual basic solo lleve C# y la verdad hasta la fecha no se con exactitud como pase la materia ni como hice las aplicaciones k nos pedian >.<

Segun entendi al momento de borrar alguno de los campos ya no hace la validacion...
creo k la respuesta esta en poner TODO ese codigo en un ciclo, ( un While o Do While) para k se repita y valide cada k se limpian los campos...

eso es lo unico k se me ocurre...( recuerda k soy un asco programando xD )
saludos!!
 

roberto123

Bovino adicto
#3
hola, no se nada de visual basic, pero analizando un poquitin el codigo no sera por el <= de los length de tus campos, en lugar de que sea menor o igual a 0 que sea estrictamente menor que 0.

Ojala sea eso.
 
#5
lo que podrias usar tambien serian banderas en falso y verdadero asi cuando mandes borrar los datos vuelves a poner las banderas en falso y asi aunado a una condicion if <sentencia> and <sentencia> junto con las banderas se hace lo que tu quieres que a fuerzas esten los tres campos es decir band1 = true, band2=true y band3=true si alguna de ellas no estuviera activada no podria vincular
 
#6
usa el evento validate

Hola usa el evento validate en la captura de tus text.

Ejemplo:

Private Sub txtNombre_Validate(Cancel As Boolean)
Cancel = ValidaNombre
End Sub

Private Function ValidaNombre() As Boolean
If len(txtNombre.Text) = 0 Then
MsgBox "El nombre es requerido", vbInformation, "Validando"
txtNombre.SetFocus
ValidaNombre = True
End If
End Function

y si el boton tiene la propiedad default=true vuelve a validar antes de seguir con el proceso.
ejemplo:

if validanombre then exit sub
 
#7
Prueba con el siguiente código:
Código:
        Dim texto As String = ""

        If txtMatricula.TextLength <= 0 Then
            texto = (" Falta Matricula ")
        End If

        If txtNickname.TextLength <= 0 Then
            texto = texto & (" Falta Nickname ")
        End If

        If texto = "" And rbIdentificacion.Checked = True Then
            frmIdentificacion.Show()
        ElseIf texto = "" And rbLocalizacion.Checked = True Then
            frmLocalizacion.Show()
        ElseIf texto = "" And rbSeguridad.Checked = True Then
            frmSeguridad.Show()
        Else
            MessageBox.Show(texto & "Seleccione una opcion")
        End If
 
Arriba