Anibal
não registrado
|
|
ENUNCIADA !
|
|
|
Postada em 26/11/2004 07:29 hs
Quanto à troca, em si, eu prefiro esta forma: --------------------------------------------------------------------------------- Public Function TrasformaApostrofo(xStr As String, xAcao As Byte) As String 'Transforma apostrofo em acento agudo (ação = 0) e vice-versa (ação = 1) Dim xResult xResult = xStr Select Case xAcao Case 0 Do While InStr(xResult, "'") <> 0 xResult = Substitui(xResult, "'", "´") Loop Case 1 Do While InStr(xResult, "´") <> 0 xResult = Substitui(xResult, "´", "'") Loop End Select TrasformaApostrofo = xResult End Function ---------------------------------------------------------------------------------
|
|
|
|
Martini
|
PAROBÉ RS - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 26/11/2004 08:17 hs
'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
|
|
|
|