Juninho Santana
não registrado
|
|
Postada em 18/10/2005 17:50 hs
alguem sabe aalguma forma de substituir o * por % ex.: dentro de uma caixa de texto, toda vez q pressionar * aparecer % na caixa de texto. obrigado
|
|
|
|
|
Postada em 18/10/2005 18:19 hs
veja se isto te ajuda Private Sub Text1_LostFocus() Text1 = Replace(Text1, "*", "%") End Sub não é no momento da digitação, mas no lostfocus do evento
|
|
|
|
Postada em 18/10/2005 18:37 hs
Tente isto Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case Is = 106 Text1.Text = "%" Case Is = 187 Text1.Text = "%" End Select End Sub Não se esqueça de que tem que pôr KeyPreview=true Espero ter ajudado
|
|
|
Donkey
|
PRESIDENTE PRUDENTE SP - BRASIL
|
|
Postada em 18/10/2005 23:59 hs
Ambos os códigos não te darão o que vc precisa, pois ou estão incorretos ou fora do que vc pediu. Coloque esse código no keypress do text que vc precisa. If KeyAscii = 42 Then KeyAscii = 37 Obrigado.
|
|
|
Martini
|
PAROBÉ RS - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 19/10/2005 07:25 hs
Private Sub Text1_Change() Text1.Text = Substitui(Text1.Text, "*", "%", -1) Text1.SelStart = Len(Text1.Text) 'vamos posicionar sempre no final End Sub 'troca caracter por outro, dentro da string Public Function Substitui(vgAlvo As String, vgOQue As String, vgPeloQue As String, Como As Integer) As String Dim x As String, k As String, p As Integer, i As Integer 'dimensiona x$ = vgAlvo$ 'salva string alvo If Como = um_a_Um Then 'se um a um, For i = 1 To Len(x$) 'vamos trocar k$ = Mid$(x$, i, 1) 'cada caracter de vgOQue$ p = InStr(vgOQue$, k$) 'pelo correspondente em vgPeloQue$ If p > 0 Then Mid$(x$, i, 1) = Mid$(vgPeloQue$, p, 1) 'na string alvo Next Else 'senão, p = InStr(x$, vgOQue$) 'vamos trocar While p > 0 'todos de uma vez x$ = Left$(x$, p - 1) + vgPeloQue$ + Mid$(x$, p + Len(vgOQue$)) 'quantas vezes necessário p = InStr(p + Len(vgPeloQue$), x$, vgOQue$) 'na string alvo Wend End If Substitui$ = x$ 'retorna a nova string End Function
|
|
|
|