# Solicitar nombre de usuario en Visual Basic 6



## josecin (Nov 20, 2015)

Buenas tardes, compañeros.
Estoy aprendiendo programación en Visual Basic 6, tengo una duda y espero me puedan ayudar.



 Al ingresar a mi aplicación se solicitará el nombre del Usuario.
 

 Si el usuario es "José" se mostrará el formulario, caso contrario se enviará mensaje de error y se cerrará el sistema.
 
El código que he puesto es el siguiente, pero no sé cómo poner para que me deniegue el acceso si no escribo "José"


```
Private Sub Form_Load()
x = InputBox("USUARIO", "INGRESO DE DATOS")
     LblUsuario.Caption = x
End Sub
```


Gracias por su paciencia, compañeros.


----------



## papirrin (Nov 20, 2015)

Puede ser así:


```
Private Sub Form_Load()
if uppercase( InputBox("USUARIO", "INGRESO DE DATOS"))<>"JOSE" then 
 msgbox "Password invalido"
 app.end
end if
End Sub
```


Hace mucho que no programo en Visual Basic 6.0, pero eso te puede servir como referencia.

El MsgBox tiene opción de aceptar y cancelar, pero no recuerdo cómo se pone.
Consulta el MSDN de Microsoft.


----------



## D@rkbytes (Nov 20, 2015)

Ésta es otra forma de hacerlo, pero dando al usuario 3 intentos para ingresar el nombre correcto:

```
Private Sub Form_Load()
    Dim Contador As Byte
    
    Contador = 0
    
    Do
        Contador = Contador + 1
        If Contador > 3 Then
            MsgBox "Se han superado los 3 intentos." & vbCrLf & _
            "El programa se cerrará.", vbExclamation, "Nombre de usuario, incorrecto."
            End
        End If
            
        If UCase(InputBox("Nombre de usuario:", "Ingreso de datos")) <> "JOSE" Then
            MsgBox "El nombre de usuario que ha ingresado,es inválido.", vbInformation, _
            "Nombre de usuario, incorrecto."
        Else
            Exit Do
        End If
    Loop
End Sub
```


----------



## josecin (Nov 20, 2015)

muchas gracias por las respuestas, que me han ayudado mucho 

tengo otra duda.

1.-he creado un label1.(en donde quiero que aparezca "JOSE", que es el nombre de usuario correco)

seria algo asi?
label1.caption = ???


----------



## papirrin (Nov 20, 2015)

> label1.caption = ???



si, label1.caption="JOSE"


----------



## josecin (Nov 24, 2015)

compañeros una consulta:

he creado un textbox y quiero un nombre (por ejemplo: con máximo de 16 letras)  y que al salir de la casilla de ese textbox ( el nombre se muestre en mayúsculas automáticamente)

gracias


----------



## D@rkbytes (Nov 24, 2015)

Eso se puede hacer en el evento "LostFocus" del control TextBox

Por ejemplo:

```
Private Sub Text1_LostFocus()
    Text1.Text = UCase(Text1.Text)
End Sub
```
Y para que sólo acepte 16 letras, se usa la propiedad "MaxLength"


----------

