Faccruz 0 Denunciar post Postado Fevereiro 20, 2009 Bom dia! Adaptei uma função que remove acentos para substituir senhas, com certos valores ela funciona, mas com um valor ela não substitui. alguem pode me ajudar? a função Public Function TrocaCarac(ByVal Senha As String) As String Dim schar As String Dim pos As Integer Dim NomeSemAcento As String Dim i As Integer schar = "" NomeSemAcento = "" For i = 1 To Len(Senha) schar = Mid(Senha, i, 1) pos = InStr("8Pg~l-ÄÜó!", schar) If (pos <> 0) Then schar = Mid("1234567890", pos, 1) End If NomeSemAcento = NomeSemAcento + schar Next TrocaCarac = NomeSemAcento End Function O valor que estou testando é 4646 (no bd está ~-~-) ela só está substituindo o ~ pelo 4 (correto) mas o - nào está substituindo pelo 6. Isso acontece para todas senhas que tem - nelas. Compartilhar este post Link para o post Compartilhar em outros sites
Faccruz 0 Denunciar post Postado Fevereiro 20, 2009 Bom dia! Adaptei uma função que remove acentos para substituir senhas, com certos valores ela funciona, mas com um valor ela não substitui. alguem pode me ajudar? a função Public Function TrocaCarac(ByVal Senha As String) As String Dim schar As String Dim pos As Integer Dim NomeSemAcento As String Dim i As Integer schar = "" NomeSemAcento = "" For i = 1 To Len(Senha) schar = Mid(Senha, i, 1) pos = InStr("8Pg~l-ÄÜó!", schar) If (pos <> 0) Then schar = Mid("1234567890", pos, 1) End If NomeSemAcento = NomeSemAcento + schar Next TrocaCarac = NomeSemAcento End Function O valor que estou testando é 4646 (no bd está ~-~-) ela só está substituindo o ~ pelo 4 (correto) mas o - nào está substituindo pelo 6. Isso acontece para todas senhas que tem - nelas. resolvi dessa forma, por incrivel que pareça o simbolo "-" esta com dois ASCii (o 173 e 150) por esse motivo tive que criar o if sChar = Chr(173)... Public Function TrocaCarac(ByVal Senha As String) As String Dim sChar As String Dim pos As Integer Dim Descript As String Dim i As Integer sChar = "" Descript = "" For i = 1 To Len(Senha) sChar = Mid(Senha, i, 1) If sChar = Chr(173) Then pos = InStr("8Pg~|" & Chr(173) & "ÄÜó!", sChar) ElseIf sChar = Chr(150) Then pos = InStr("8Pg~|" & Chr(150) & "ÄÜó!", sChar) Else pos = InStr("8Pg~|" & Chr(173) & "ÄÜó!", sChar) End If If (pos <> 0) Then sChar = Mid("1234567890", pos, 1) End If Descript = Descript + sChar Next TrocaCarac = Descript End Function Compartilhar este post Link para o post Compartilhar em outros sites
Oenning 0 Denunciar post Postado Fevereiro 20, 2009 Hmm, estranho. Nesse site tem todos os ascii, e o 150 e 173 são diferentes, visualmente. Mas se você copiar e colar os dois são iguais. Compartilhar este post Link para o post Compartilhar em outros sites