USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Dúvida: String
Eduardo M
não registrado
Postada em 20/11/2004 04:01 hs   

Tenho um Textbox e dele preciso pegar um string que esta no meio de duas. Essa string sempre varia e tbm gostaria de pegar todas elas ate o fim do Textbox. Então eu fiz uma rotina que não supre a necessidade mas ja eh um esboco para quem puder me ajudar se não entender poderá tirar uma base do que eu necessito pelo código.

strposicao = InStr(1, rtb.Text, "String de um lado")
strposicao2 = InStr(strposicao, rtb.Text, "String do outro lado")
rsl = Mid(rtb.Text, strposicao, strposicao2 -posicao)

Com isso eu consigo pega essa string do meio mas apenas a primeira ocorrencia. Como poderei fazer para que na proxima busca ja consiga pegar a proxima ocorrencia e assim por diante até o fim do Textbox? Ou se alguém tiver uma solução melhor e puder mandar agradeço.

Obrigado pela atenção.

     
Fabio-RSC
NITEROI
RJ - BRASIL
Postada em 20/11/2004 14:03 hs         
Muito complicado isso hein!
O que vc quer é pegar valores de uma string delimitados por marcadores da forma abaixo por exemplo?
String de um lado = "<"
String do outro lado = ">"
String do rtb.text = "<valor1><valor2><valor3>" ...
seria este o problema?
mande um exemplo pra facilitar o entendimento.
 
     
Sandro
não registrado
Postada em 20/11/2004 22:52 hs   
Olá, tente o seguinte:
Dim Pos as Integer
 
Pos=instr(1,Text1.Text, "SuaString")
 
Do While Pos>0
    <Coloque aqui o código para manipular a ocorrência>
    Pos=instr(Pos+1,Text1.Text, "SuaString")
Loop
 
Com este código você poderá varrer todo o conteúdo de um textbox, procurando pela sua string em vários pontos do texto. Onde eu coloquei que você deve colocar o código de manipulação, você pode usar um vetor para armazenar cada uma das posições da string no texto, ou fazer outra coisa, como alterar a string por outra.
     
Eduardo M
não registrado
Postada em 20/11/2004 23:51 hs   
Respondendo ao Fábio: Eu preciso pegar uma string que esta sempre entre "<br><font color=#008000>" e " -  "
 
Então seria assim: <br><font color=#008000> STRING QUE VARIA - 
 
Preciso pegar sempre a String que varia daí adicionar cada vez numa list a que foi achada, a minha dúvida apenas consiste no processo de pegar a string que varia até o fim do Textbox.
 
Agradeço a atenção de todos. 
     
Sandro
não registrado
Postada em 21/11/2004 01:50 hs   
Bem Eduardo, seu caso é meio estranho, mas teste esta opção:
 
Const Busca = "<br><font color=#008000>"
Dim Pos as Integer
 
Pos=instr(1,Text1.text,Busca)
 
Do While Pos>0
 
 
 
Loop
     
Sandro
não registrado
Postada em 21/11/2004 02:01 hs   
Bem Eduardo, seu casoé meio estranho, mas teste esta opção:
 
Const Busca = "<br><font color=#008000>"
Dim Pos as Integer, Cont as Integer
 
Pos=Instr(1,Text1.text,Busca)                      'Procura pela constante de busca
 
Do While Pos>0                                          'Se encontrou alguma ocorrência,
    For Cont=Pos To Len(Text1.text)              'Percorre cada caracter dí para frente
        If Mid(Text1.text,Cont,3) = " - " Then    'Se Encontrou o limitador " - "
            List1.AddItem Mid(Text1.text,Pos + Len(Busca),Cont-1)    'Adiciona o texto existente entre a constante de busca e o delimitador
            Exit For
        End If
    Next
    Pos=Cont                                                   'Posiciona no final da ocorrência atual
    Pos=Instr(Cont,Text1.text,Busca)  'Repete a busca deste ponto em diante
Loop
     
Página(s): 1/2      PRÓXIMA »


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página