QUEBRAR STRING EM UM DETERMINADO CARACTER

MORDENTI 31/03/2011 15:48:02
#369938
Boa tarde Feras do Vbmania,


Estou com mais uma dúvida que creio sem bem simples de resolver tenho uma string com o seguinte conteúdo:

[txt-size=2][txt-color=#e80000]
@----------------------------------------@ MINISTéRIO DA SAÚDE - FARMÁCIA POPULAR @ NÃO é DOCUMENTO FISCAL @----------------------------------------@DROGARIA SAUDE LTDA @C.N.P.J. : 21.922.943/0001-41@Autorização MS : 952.296.743.736.138@Valor Total Venda : R$ 3,30@Valor Total MS : R$ 3,30@Valor Total Benef.: R$ 0,00@CRM-UF : 16330-MG@@Resp. Legal: DILSON JUNQUEIRA DE SOUZA @@DADOS DO VENDEDOR@Código: 17020812@ Nome: LEANDRO MORDENTI@@@DADOS DO BENEFICIÁRIO@@@@ _____________________________ @ Nome - CPF/CNPJ: 00106396161 @ CPF: 001.063.961-61 @[/txt-color][/txt-size]


Preciso que onde tenha arroba eu quebre em uma nova string exemplo

string(0) = [Ô]----------------------------------------[Ô]
string(1)=[Ô] MINISTéRIO DA SAÚDE - FARMÁCIA POPULAR [Ô]
e assim por diante até que a última ficaria assim
string(N) = [Ô]CPF: 001.063.961-61 [Ô]

Agradeço desde já,


Leandro Mordenti


SELINGER 31/03/2011 16:02:29
#369941
Dim varTextoTemp As Variant
Dim varTexto As String

varTexto = [Ô]Teste1@Teste2@Teste3[Ô]

varTextoTemp = Split(varTexto, Chr(64))

[ô]varTextoTemp(0) = [Ô]Teste1[Ô]
MsgBox varTextoTemp(0)

[ô]varTextoTemp(0) = [Ô]Teste2[Ô]
MsgBox varTextoTemp(1)

[ô]varTextoTemp(0) = [Ô]Teste3[Ô]
MsgBox varTextoTemp(2)
JONATHANSTECKER 31/03/2011 16:03:37
#369942
Dê uma olha neste tópico.:
SUBSTIRUIR PARTES VARIAVEIS DO TEXTO
HIDDEN 31/03/2011 16:12:59
#369949
Uma abordagem bastante simples:

Function QuebraString(CharQuebra As String, Conteudo As String) As String

Dim K As Long
Dim StringAtual As String
Dim StringQuebra As String
Dim CharAtual As String

For K = 1 To Len(Conteudo)

CharAtual = Mid(Conteudo, K, 1)
If CharAtual = CharQuebra Then
QuebraString = QuebraString & StringAtual & vbCrLf
StringAtual = [Ô][Ô]
End If
StringAtual = StringAtual & CharAtual

Next

End Function


Para chamar a função:

Private Sub Command1_Click()

MsgBox QuebraString([Ô]@[Ô], Texto)

End Sub


Aonde Texto é o conteúdo que você deseja quebrar.
EDUFS 31/03/2011 17:50:34
#369977
Boa Noite Mordenti.
Em topico anterior, voce me respondeu que fez a transmissao da farmacia popular em vb.net.
Sera que poderia enviar um exemplo de como voce fez? (Desenvolvo em vb6 e ainda não tive contato com .net).
Obrigado.

Eduardo.
TECLA 01/04/2011 23:18:24
#370149
Citação:

:
Boa Noite Mordenti.
Em topico anterior, voce me respondeu que fez a transmissao da farmacia popular em vb.net.
Sera que poderia enviar um exemplo de como voce fez? (Desenvolvo em vb6 e ainda não tive contato com .net).
Obrigado.

Eduardo.



EDUFS,

Envie uma MENSAGEM INTERNA para o colega, já que este tópico é para tratar de outro assunto.
FNANDOOD 01/04/2011 23:27:37
#370153
Ai vai o Código, testado e funcionando:
Dim NOME As String
Dim SEPARA As Variant
Dim I As Integer

Private Sub Command1_Click()
NOME = [Ô]@----------------------------------------@ MINISTéRIO DA SAÚDE - FARMÁCIA POPULAR @ NÃO é DOCUMENTO FISCAL @----------------------------------------@DROGARIA SAUDE LTDA @C.N.P.J. : 21.922.943/0001-41@Autorização MS : 952.296.743.736.138@Valor Total Venda : R$ 3,30@Valor Total MS : R$ 3,30@Valor Total Benef.: R$ 0,00@CRM-UF : 16330-MG@@Resp. Legal: DILSON JUNQUEIRA DE SOUZA @@DADOS DO VENDEDOR@Código: 17020812@ Nome: LEANDRO MORDENTI@@@DADOS DO BENEFICIÁRIO@@@@ _____________________________ @ Nome - CPF/CNPJ: 00106396161 @ CPF: 001.063.961-61 @[Ô]


SEPARA = Split(NOME, [Ô]@[Ô])
For I = 1 To UBound(SEPARA)
Print SEPARA(I)
Next I
End Sub
Tópico encerrado , respostas não são mais permitidas