USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Tela de Login
>>|Bedin|<<
SANTO ANDRE
SP - BRASIL
Postada em 06/02/2006 22:31 hs            
EAE Galera, blz?!
 
Estou com dúvias para fazer uma Form em q o usuário se autentique com login e senha, e logo após, abra o sistema. Já criei o bd com os usuários e gostaira de autentiá-los...
 
Desde já Obrigado!!! 
     
Martini
Pontos: 2843 Pontos: 2843
PAROBÉ
RS - BRASIL
Postada em 07/02/2006 06:04 hs         
este é código de uma tela de login que eu tenho (tem dois textbox (usuario e senha) um botão para confirmar e outro para cancelar):
 
'Desenvolvedor......: André Martini
'Data de criação....: 18/05/2005
'Funcionalidade.....: Este é o formulário de controle de login do sistema
'Referências de uso.: mdiPrincipal
'Exemplo de uso.....: sem exemplo
'Destacar alterações:
Option Explicit           'requer que todas as variáveis sejam declaradas
DefInt A-Z                'variáveis inteiras, por default
Dim intNumTent As Integer 'numero de tentativas de login (máximo três)
'Desenvolvedor......: André Martini
'Data de criação....: 25/05/2005
'Funcionalidade.....: esta sub trata a ação do click no botão Cancela
'Referências de uso.: frmLogin
'Exemplo de uso.....: cmdCancela_Click
'Destacar alterações:
Private Sub cmdCancela_Click()
  strPWUsuario$ = ""         'inicializa variáveis publicas - Nome do usuário e
  strPWSenha$ = ""           'senha
  txtUsuario.Text = ""       'inicializa também os dois campos onde serão
  txtSenha.Text = ""         'digitadas as informações iniciais
  Unload Me                  'descarrega este form
End Sub
'Desenvolvedor......: André Martini
'Data de criação....: 25/05/2005
'Funcionalidade.....: esta sub trata a ação do click no botão Confirma
'Referências de uso.: frmLogin
'Exemplo de uso.....: cmdConfirma_Click
'Destacar alterações:
Private Sub cmdConfirma_Click()
  On Error Resume Next
  Screen.MousePointer = vbHourglass
  Dim intPareceOk As Integer 'controle se foi preenchido os campos de usuário e senha
  intPareceOk = (Len(txtUsuario.Text) > 0 And Len(txtSenha.Text) > 0)                                    'parece ok se os dois campos têm valores...
  If Not intPareceOk Then                          'se não parece ok,
    Screen.MousePointer = vbNormal
    Beep                                           'apita e mostra mensagem de erro...
    MsgBox "Favor digitar a informação solicitada!", vbExclamation, strAtencao$
    txtUsuario.SetFocus                           'coloca o foco no campo nome do usuário
  Else 'parece que está tudo OK - vamos ver...
    'conexão com banco de dados
    Cnn.ConnectionString = "driver={SQL Server};server=AresDesenv;uid=" & Trim(txtUsuario.Text) & ";pwd=" & Trim(txtSenha.Text) & ";database=SIGA_6Horas"
    'Cnn.ConnectionString = "driver={SQL Server};server=ZEUS;uid=" & Trim(txtUsuario.Text) & ";pwd=" & Trim(txtSenha.Text) & ";database=MICROSIGA"
    Cnn.CommandTimeout = 0
    Cnn.Open
    'se ocorreu algum erro
    If Err <> 0 Then
      'verifica o número de tentativas
      If intNumTent < 3 Then            'se ainda não tentou 3 vezes,
        Screen.MousePointer = vbNormal
        Beep                            'apita e
        MsgBox "Nome do usuário e/ou senha inválida!", vbCritical, strAtencao$ 'avisa que deu erro...
        txtUsuario.SetFocus             'volta o foco para o campo nome do usuário
        intNumTent = intNumTent + 1     'tentou mais uma vez
        Exit Sub
      End If
    Else
      Screen.MousePointer = vbNormal
      'carrega variáveis e abre formulario principal
      strPWUsuario$ = txtUsuario.Text                           'variáveis da senha deixa normal
      strPWSenha$ = txtSenha.Text                             'usar em mensagens
      mdiPrincipal.Show
    End If
    Unload Me 'descarrega este form
  End If
End Sub
'Desenvolvedor......: André Martini
'Data de criação....: 25/05/2005
'Funcionalidade.....: esta sub trata a ação do KeyPress do formulário
'Referências de uso.: frmLogin
'Exemplo de uso.....: Form_KeyPress()
'Destacar alterações:
Private Sub Form_KeyPress(KeyAscii As Integer)
  If KeyAscii = vbKeyEscape Then                  'se teclou ESC
    Unload Me                                     'tira este form da memória
  End If
End Sub
'Desenvolvedor......: André Martini
'Data de criação....: 25/05/2005
'Funcionalidade.....: esta sub trata a ação load do formulário
'Referências de uso.: frmLogin
'Exemplo de uso.....:
'Destacar alterações:
Private Sub Form_Load()
  subMain
  Me.Caption = strNomeSistema$ + Chr$(160)               'seu título é o nome do sistema
  Me.Icon = LoadResPicture(10, vbResIcon)                'carrega icone do sistema
  Top = Screen.Height / 2                                'centraliza vertical e
  Left = Screen.Width / 2                                'horizontalmente
  Set cmdConfirma.Picture = LoadResPicture(13, vbResIcon) 'carrega figura do botão ok
  Set cmdCancela.Picture = LoadResPicture(2, vbResIcon)  'carrega figura do botão cancela
  Set picChave.Picture = LoadResPicture(12, vbResIcon)    'carrega figura da picturebox
End Sub
'Desenvolvedor......: André Martini
'Data de criação....: 25/05/2005
'Funcionalidade.....: esta sub trata a ação do KeyPress do campo senha
'Referências de uso.: frmLogin
'Exemplo de uso.....: txtSenha_KeyPress
'Destacar alterações:
Private Sub txtSenha_KeyPress(KeyAscii As Integer)
  If KeyAscii = vbKeyReturn Then                       'se for um ENTER,
    KeyAscii = 0                                       'anula o ENTER
    On Error Resume Next                               'evita erro
    cmdConfirma.SetFocus                               'foco no botao Ok
  End If
End Sub
'Desenvolvedor......: André Martini
'Data de criação....: 25/05/2005
'Funcionalidade.....: esta sub trata a ação do KeyPress do campo usuário
'Referências de uso.: frmLogin
'Exemplo de uso.....: txtUsuario_KeyPress
'Destacar alterações:
Private Sub txtUsuario_KeyPress(KeyAscii As Integer)
  If KeyAscii = vbKeyReturn Then                       'se for um ENTER,
    KeyAscii = 0                                       'anula o ENTER
    On Error Resume Next                               'evita erro
    txtSenha.SetFocus                                  'foco no campo senha
  End If
End Sub
     
Donkey
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
PRESIDENTE PRUDENTE
SP - BRASIL
Postada em 07/02/2006 10:10 hs            
Pegue esse projetinho do proprio site, ele ensina a fazer logim e de quebra controle de acesso.
 
Olhando o código do nosso amigo notei que ele usa muito on error resume next, evite a todo custo esse tipo de instrução, pois isso praticamente faz o vb desconsiderar possiveis erros, e em alguns casos ele entra numa condição que não poderia ter entrado devido a essa instrução.
Tem formas + simples de evitar erros, por exemplo, num ponto ele faz
on error resume next
controle.setfocus
 
Fez isso para evitar que se o controle estiver com enabled = false que o vb de um erro, um jeito + elegante seria fazer
if controle.enabled = true then controle.setfocus
 
Vc só entraria em foco se ele estivesse habilitado, e não usaria essa perigosa instrução, como falei evite ao maximo, pois vc se vicia nisso e por qualquer coisa ta usando, fazendo sua aplicação ser + propicia a bugs. T+
     
Alfterra
Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
Postada em 07/02/2006 10:34 hs            
O donkey é uma mula kkkkkkkkkk mais nesse ponto eu concordo....
     
Página(s): 1/1    

CyberWEB Network Ltda.    © Copyright 2000-2026   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página