|
Postada em 25/11/2005 09:15 hs
Joao Paulo, Sei q seu problema ja foi resolvido, mas gostaria de dar um sugestao diferente da que os amigos deram... pode ser q nesse caso nao se aplique, mas em outras situações vc pode usar a funcao SPLIT, q vai dividir uma string em um Array de substrings, assim: Dim a() as String Texto = "elieser topassi^sao jose do rio preto^sao paulo" a = Split(Texto, "^") Nome = a(0) Cidade = a(1) estado = a(2) É isso... talvez seja util... Flw!
Elieser Carlos Topassi Analista de Sistemas - Desenvolvedor VB/ASP/.Net
e-mail/msn: elieser_topassi@yahoo.com.br
São José do Rio Preto,SP - Brasil _____________________________________________________
"O caminho do tolo aos seus prórios olhos lhe parece reto, mas o sábio ouve conselhos" (Pv 12:15)
|
|
|
|
|
Postada em 25/11/2005 11:12 hs
tenta assim (precisa ser com índices): Private Sub Form_Load() Dim Texto As String Dim intPosicao As Integer Dim intAux As Integer Dim intI As Integer Texto = "João Paulo" & "^" & "ARCOS" & "^" & "Minas Gerais" & "^" & "Teste" Dim teste() teste = MinhaSplit2(Texto, "^", 1, -1) For i = 1 To UBound(teste) Text1(i - 1).Text = teste(i) Next End Sub 'função idêntica a função split do vb Private Function MinhaSplit2(Texto As String, Delimitador As String, tam As Integer, elemento As Integer) Dim MyArray() Dim intPosicaoInicial As Integer 'posicao inicial da substring que será inserida no vetor Dim intPosicaoMatriz As Integer 'contador da posicao em que será inserida a informação no vetor ReDim MyArray(1 To 1) intPosicaoInicial = 1 intPosicaoMatriz = 1 'para cada caracter do texto For i = 1 To Len(Texto) 'se a substring do texto for igual ao delimitador, então adiciona na matriz If Mid(Texto, i, tam) = Delimitador Then 'se nro elementos inseridos for menor que o total OU o usuario deseja retornar todos, então adiciona na matriz If (intPosicaoMatriz <= elemento) Or (elemento = -1) Then ReDim Preserve MyArray(1 To intPosicaoMatriz) MyArray(intPosicaoMatriz) = Mid(Texto, intPosicaoInicial, i - intPosicaoInicial) intPosicaoInicial = i + tam intPosicaoMatriz = intPosicaoMatriz + 1 End If End If Next 'ultimo elemento da matriz If intPosicaoInicial < Len(Texto) Then 'se nro elementos inseridos for menor que o total OU o usuario deseja retornar todos, então adiciona na matriz If (intPosicaoMatriz <= elemento) Or (elemento = -1) Then ReDim Preserve MyArray(1 To intPosicaoMatriz) MyArray(intPosicaoMatriz) = Mid(Texto, intPosicaoInicial, i - intPosicaoInicial) intPosicaoInicial = i + tam intPosicaoMatriz = intPosicaoMatriz + 1 End If End If MinhaSplit2 = MyArray End Function
|
|
|
|
Postada em 25/11/2005 12:50 hs
Ok amigos vou testar estas funções hoje na minha casa, e hoje mesmo eu vou postar se deu certo ok. Muito obrigado pela colaboração.
|
|
|
|