MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


    Mascara de Password com "●●●●●●●●"

    brunogor
    brunogor
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 216
    Registrado : 23/02/2013

    Mascara de Password com "●●●●●●●●" Empty Mascara de Password com "●●●●●●●●"

    Mensagem  brunogor em Ter 05 Nov 2019, 4:50 pm

    Olá a todos,

    Gostaria de alterar a máscara de introdução "********"  dos campos Password para "●●●●●●●●".

    Encontrei o seguinte código aqui: Aqui
    Código:
    Me.Text1.FontSize = 12
    Me.Text1.FontName = "Wingdings"
    Me.Text1.PasswordChar = Chr(&H6C)

    O problema é que o VBA não tem a propriedade ".PasswordChar".

    Alguém sabe como contornar isto.

    Obrigado

    Bruno Gordino
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1593
    Registrado : 21/11/2016

    Mascara de Password com "●●●●●●●●" Empty Re: Mascara de Password com "●●●●●●●●"

    Mensagem  DamascenoJr. em Qua 06 Nov 2019, 8:48 pm

    Veja um contorno em anexo.

    Em tempo, se o que tiver incomodando for o tamanho dos asteriscos então basta aumentar o tamanho da fonte no controle.
    Anexos
    Mascara de Password com "●●●●●●●●" Attachmentexemplo pass.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (36 Kb) Baixado 43 vez(es)


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    brunogor
    brunogor
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 216
    Registrado : 23/02/2013

    Mascara de Password com "●●●●●●●●" Empty Mascara de Password com "●●●●●●●●"

    Mensagem  brunogor em Qui 07 Nov 2019, 5:31 am

    Olá Ivan Jr.
    Mais uma vez me conseguiu ajudar.
    Era isto mesmo, e o que eu já tinha pesquisado sem encontrar nada.
    Muito obrigado

    Cumprimentos

    Bruno Gordino
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1593
    Registrado : 21/11/2016

    Mascara de Password com "●●●●●●●●" Empty Re: Mascara de Password com "●●●●●●●●"

    Mensagem  DamascenoJr. em Qui 07 Nov 2019, 4:41 pm

    O fórum agradece o retorno. Sucesso.


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    brunogor
    brunogor
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 216
    Registrado : 23/02/2013

    Mascara de Password com "●●●●●●●●" Empty Mascara de Password com "●●●●●●●●"

    Mensagem  brunogor em Dom 29 Mar 2020, 11:27 am

    Olá Ivan Jr. tudo bem consigo?

    Aí no Brasil o COVID19 está em força?

    Olha parece-me que achei um galho no código que me passou e não estou a conseguir arranjar solução.

    O presente código não funciona corretamente nestas situações:
    - Se introduzir um caractere no "Meio" ou no "Inicio" da "txtSenha", a respetiva alteração na "txtAux" é efetuada à "Direita", ou seja, no "Fim desta"
    - Se apagar um caractere no "Meio" ou "Início" na "txtSenha", na "txtAux" apaga o "Último" caractere desta.


    Código:
    Private Sub txtSenha_KeyPress(KeyAscii As Integer)
        Select Case KeyAscii
            Case vbKeyBack
                If Nz(Me!txtAux.Value, "") <> "" Then Me!txtAux.Value = Left(Me!txtAux.Value, Len(Me!txtAux.Value) - 1)
            Case Else
                If KeyAscii <> vbKeyTab Then
                    Me!txtAux.Value = Nz(Me!txtAux.Value, "") & Chr(KeyAscii)
                    KeyAscii = Asc(LCase(Chr(vbKeyL)))
                End If
        End Select
    End Sub

    Consegue-me ajudar s.f.f.?

    Muito obrigado e cumprimentos.

    Bruno Gordino


    Última edição por brunogor em Dom 29 Mar 2020, 12:55 pm, editado 2 vez(es)
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1593
    Registrado : 21/11/2016

    Mascara de Password com "●●●●●●●●" Empty Re: Mascara de Password com "●●●●●●●●"

    Mensagem  DamascenoJr. em Dom 29 Mar 2020, 12:09 pm

    - Se apagar um carácter na "txtSenha", na "txtAux" não é atualizado.
    Fiz teste aqui e sempre apaga normalmente nos dois locais.

    - Se introduzir um carácter no "Meio" ou no "Inicio" da "txtSenha", a respetiva alteração na "txtAux" é efetuada à "Direita", ou seja, no "Fim desta"
    Isso já era algo que eu sabia quando desenvolvi o código, porém é incomum o usuário informar senhas desta maneira e achei por bem ignorar esse comportamento deixando que, fazendo isso, ao tentar logar-se, então o código exibisse a mensagem de dados incorretos. Assim o usuário reinseriria a senha já na ordem correta.

    Além de introduzir carácter no meio ou no início, também resulta em erro se o usuário copiar a senha de algum lugar e colar no campo txtSenha.
    Também não atualiza corretamente no txtAux se o usuário selecionar mais de um carácter e apagá-los.

    Minha intenção era passar uma maneira simples e um código simples que atendesse ao comportamento natural de 99% usuários.

    Aguardemos um outro membro do fórum com uma codificação 100% ao tempo que substitui os asteriscos por "●".


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    brunogor
    brunogor
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 216
    Registrado : 23/02/2013

    Mascara de Password com "●●●●●●●●" Empty Mascara de Password com "●●●●●●●●"

    Mensagem  brunogor em Dom 29 Mar 2020, 12:55 pm

    Olá Ivan Jr. Não me expliquei corretamente.

    Já reformulei, em vez de:
    - Se apagar um caractere na "txtSenha", na "txtAux" não é atualizado.

    Queria dizer:
    -Se apagar um caractere no "Meio" ou "Início" na "txtSenha", na "txtAux" apaga o "Último" caratere desta.

    Muito obrigado pela disponibilidade

    Cumprimentos

    Bruno Gordino
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1593
    Registrado : 21/11/2016

    Mascara de Password com "●●●●●●●●" Empty Re: Mascara de Password com "●●●●●●●●"

    Mensagem  DamascenoJr. em Dom 29 Mar 2020, 2:52 pm

    Isso resolve o posicionamento de onde se digita. Mas não resolve o copiar e colar a senha de outro local ou selecionar mais de um caracter e apagá-los.
    Código:
    Select Case KeyAscii
       
            Case vbKeyBack
           
                If Me!txtSenha.SelStart > 0 Then
                    Me!txtAux.Value = Left(Nz(Me!txtAux.Value), Me!txtSenha.SelStart - 1) & _
                                      Right(Nz(Me!txtAux.Value), Len(Nz(Me!txtSenha.Text)) - Me!txtSenha.SelStart)
                End If
       
            Case Else
               
                If KeyAscii <> vbKeyTab Then
                    Me!txtAux.Value = Left(Nz(Me!txtAux.Value), Me!txtSenha.SelStart) & _
                                      Chr(KeyAscii) & _
                                      Right(Nz(Me!txtAux.Value), Len(Nz(Me!txtSenha.Text)) - Me!txtSenha.SelStart)
                    KeyAscii = Asc(LCase(Chr(vbKeyL)))
                End If
       
        End Select


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.

    Conteúdo patrocinado

    Mascara de Password com "●●●●●●●●" Empty Re: Mascara de Password com "●●●●●●●●"

    Mensagem  Conteúdo patrocinado


      Data/hora atual: Sab 04 Abr 2020, 3:00 pm