VB6 - Usando formulários como classes


No VB6 você pode usar formulários em sua aplicação como se usa uma classe. Por que você faria isto ? Uma utilidade prática seria a utilização para criar várias instâncias do mesmo formulário (reuso); outra seria vincular valores dos dados a interface do usuário e recuperá-las em sua aplicação.

Vou mostrar um exemplo prático desta teoria criando um formulário de login. Você esta cansado de ver este formulário , ele sempre vai pedir o nome e senha do usuário . Neste exemplo os dados serão armazenados na interface do usuário :  o próprio formulário de login. Com  isto você pode reutilizar o formulário em outras aplicações onde o login é exigido.

Vamos ao projeto:

1 - Inicie um novo projeto padrão Standard EXE no VB

2 - No projeto padrão - Project1 - clique com o botão direito do mouse e escolha as opções : Add e a seguir Form.(Ver fig 1.0)

3- Na janela de diálogo - Add Form - selecione - Log in Dialog.(fig 2.0)

fig 1.0

fig 2.0

No formulário padrão que será criado pelo assistente altere o layout conforme a figura abaixo ( fig 3.0) e inclua o código a seguir :

         fig 3.0

Código associado ao formulário - Login:

Option Explicit


Private Sub cmdCancel_Click()
   Me.Hide
End Sub



Private Sub cmdOK_Click()
   nomeUsuario = txtUserName.Text
   senhaUsuario = txtPassword.Text
   login
   Me.Visible = False
   Form1.Show
End Sub


Public Property Get nomeUsuario() As String
   nomeUsuario = txtUserName.Text
End Property


Public Property Let nomeUsuario(ByVal valor As String)
   txtUserName.Text = valor
End Property


Public Property Get senhaUsuario() As String
   senhaUsuario = txtPassword.Text
End Property


Public Property Let senhaUsuario(ByVal valor As String)
   txtPassword.Text = valor
End Property


Public Sub login()
    MsgBox " Logando como usuário : " & nomeUsuario
End Sub
 

Ao executar a aplicação o formulário de login irá pedir a senha e nome do usuário. A seguir irá exibir a mensagem de login e irá abrir o formulário form1.  No formulário form1 eu posso recuperar os dados informados no form login com o seguinte  código :

Private Sub Form_Load()
  Text2.Text = frmLogin.senhaUsuario
  Text1.Text = frmLogin.nomeUsuario
End Sub
 
fig 4.0

A fig 4.0 acima exibe o resultado da recuperação dos dados do formulário login.

Nota:É claro que você não vai guardar uma senha aberta no formulário !! Eu não quis mostrar isto . Eu quis mostrar que

Até a próxima dica...


José Carlos Macoratti