MaximoAccess

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

Obrigado

Administração do MaximoAccess

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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 : 235
    Registrado : 24/02/2013

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

    Mensagem  brunogor em 5/11/2019, 21:50

    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 : 2455
    Registrado : 22/11/2016

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

    Mensagem  DamascenoJr. em 7/11/2019, 01:48

    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 65 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 : 235
    Registrado : 24/02/2013

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

    Mensagem  brunogor em 7/11/2019, 10:31

    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 : 2455
    Registrado : 22/11/2016

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

    Mensagem  DamascenoJr. em 7/11/2019, 21:41

    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 : 235
    Registrado : 24/02/2013

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

    Mensagem  brunogor em 29/3/2020, 16:27

    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 29/3/2020, 17:55, editado 2 vez(es)
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2455
    Registrado : 22/11/2016

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

    Mensagem  DamascenoJr. em 29/3/2020, 17:09

    - 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 : 235
    Registrado : 24/02/2013

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

    Mensagem  brunogor em 29/3/2020, 17:55

    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 : 2455
    Registrado : 22/11/2016

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

    Mensagem  DamascenoJr. em 29/3/2020, 19:52

    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.
    brunogor
    brunogor
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 235
    Registrado : 24/02/2013

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

    Mensagem  brunogor em 5/4/2020, 14:22

    Olá Ivan Jr.

    Isso já é uma grande ajuda.

    Quanto ao "copiar e colar a senha de outro local", é fácil bloquear a combinação das teclas.

    No que respeita ao "selecionar mais de um caracter e apagá-los" ou substituí-los, existe alguma maneira de a bloquear a seleção do rato?

    Muito obrigado pela disponibilidade

    Cumprimentos

    Bruno Gordino

      Data/hora atual: 4/12/2020, 19:41