funcao vb6

asa_delta

Power Member
boa tarde

Alguém conhece no vb6 alguma função que nos devolva uma strinh entre dois caracteres??

por exemplo : "@123#" --- Resposta da função 123

obrigado
 
Fiz, uma pequena função para isso :)

Código:
    Function Extrair(ByVal cInicio As Char, ByVal cFinal As Char, ByVal sDados As String) As String
        Dim iPosINI As Integer, iPosFIM As Integer
        Try
            'Verifica a posição inicial
            iPosINI = sDados.IndexOf(cInicio)
            'Verifica a posição final
            iPosFIM = sDados.LastIndexOf(cFinal)

            'Returna a string extraida..
            Return sDados.Substring(iPosINI + 1, (iPosFIM - iPosINI - 1))
        Catch ex As Exception
            MessageBox.Show(ex.Message, My.Application.Info.Title, MessageBoxButtons.OK, MessageBoxIcon.Error)
            Return String.Empty
        End Try
    End Function

Exemplo:
MessageBox.Show(Extrair("@", "#", "@123#"))

Compr.
 
Ups, o codigo é para VB6;

Código:
    Function Extrair(ByVal cInicio As Char, ByVal cFinal As Char, ByVal sDados As String) As String
        Dim iPosINI As Integer, iPosFIM As Integer
        'Verifica a posição inicial
        iPosINI = InStr(sDados, cInicio)
        'Verifica a posição final
        iPosFIM = InStr(sDados, cFinal)
        'Returna a string extraida..
        Extrair = Mid(sDados, iPosINI + 1, (iPosFIM - iPosINI - 1))
    End Function

Exemplo:
MsgBox(Extrair("@", "#", "@123#"))

Compr.
 
Utlixando mid

Exemplo:

Código:
Private Sub Command1_Click()
Text1.Text = Mid("@123#", 2, 3)
End Sub
assim sendo isto "Mid("@123#", 2, 3)" :
a) Em vez de "@123#" podes por uma variavél...
b) o 2 é a posição da letra inicial...
c)o 3 são a quantidades de letras que se desejam ter...
 
Última edição:
Exemplo:​






Código:
Private Sub Command1_Click()
Text1.Text = Mid("@123#", 2, 3)
End Sub
assim sendo isto "Mid("@123#", 2, 3)" :
a) Em vez de "@123#" podes por uma variavél...
b) o 2 é a posição da letra inicial...
c)o 3 são a quantidades de letras que se desejam ter...

Assim só funciona se a string tiver sempre o mesmo comprimento..
Se estiver por exemplo estiver desta forma "@1234354534#434" já não funciona..

No exemplo que postei funciona, podera não funcionar se utilizar caracteres iguais (limitadores) por o meio da string..

Compr.
 
Back
Topo