PERGAR PARTE DE UM TEXTO A DIREITA DE UMA POSICAO

SOUZANF 23/03/2016 20:18:26
#459790
Pessoal blz, seguinte tenho um textbox que contem um texto longo, e estou localizando um ponto determinado dele.
Tipo:Text1.text = [Ô]Você está logado na Cidade Digital Nova Fátima[Ô]

entao eu uso:
Text3.text = InStr(Text1.text, [Ô]Digital[Ô]) Entao tenho a posicao do que esta a esquerda dele.

Eu gostaria de pegar tudo que estivesse do lado direito entao do ([Ô]Digital[Ô]) estou tentando com a função RIGHT mas nao esta dando certo!
Text3.text = Right(Text1.text, [Ô]Digital[Ô])

Ele teria que retornar : Digital Nova Fátima
mas nao vai!

NILSONTRES 23/03/2016 20:25:02
#459791
Resposta escolhida
NESSE CASO é MELHOR VC UTILIZAR SPLIT
COLOCA UM CARACTER IDENTIFICADOR, E SEPARA COM SPLIT.
Não me lembro no vb6 como é porque é meio complicadinha, precisa utilizar um for/next.
mas é mais ou menos assim:
Você está logado na Cidade - Digital Nova Fátima
Primeira parte esta antes do traço, e a segunda depois.
em.net seria assim
dim texto as string=[Ô]Você está logado na Cidade - Digital Nova Fátima[Ô]
msgbox (texto.split([Ô]-[Ô]) (1))
Eita .net, é uma maravilha.


SOUZANF 23/03/2016 23:27:23
#459800
nao consegui nao!
KERPLUNK 24/03/2016 00:24:20
#459801
Documentação do comando VBA Split
SOUZANF 24/03/2016 10:33:44
#459812
Nossa que coisa eu consigo achar a posicao de onde esta a palavra de ntro do texto mas nao consigo fazer com que ele pega tudo que estiver depois dela.

Dim A
A = position
Text1.Text = Right(A, 80)
DS2T 24/03/2016 10:55:22
#459815
Cara, você chegou a pelo menos ver a documentação que te mostraram do Split? Ela funcionaria perfeitamente no seu caso.
Se você quiser mesmo usar o Right, você terá que seguir as seguintes etapas:

1 - Usar a função Instr para retornar a posição do inicio da palavra que será o seu delimitador;
2 - Usar a função Right com tamanho = Tamanho do texto geral - (Retorno da sua função Instr + Tamanho da palavra delimitadora)..
Ou ainda usar a função Mid iniciando na posição do retorno Instr e indo até o final do texto... .

Olha o que você estava fazendo:

Text3.text = Right(Text1.text, [Ô]Digital[Ô])

A função Right tem os seguintes parâmetros: A sua String e um Inteiro representando a quantidade de caracteres a direita que você vai pegar. O que você fez nem tem sentido.

Mas você faria isso mais fácil com Split, simplesmente porque ele retornaria um array separadinho já pra você, sem fazer conta nenhuma...

Você deveria dar uma olhada nuns exemplos na internet de funções String para entender melhor e ir testando:
Len, Mid, Left, Right, Instr, Split ... essas são as básicas para manipulação de string... tem muito exemplo, inclusive no Help do VB6.

Abraços!
SOUZANF 25/03/2016 09:56:26
#459907
Valeu pessoal deu certo com Split mesmo ob a todos pela paciencia hehehe
Tópico encerrado , respostas não são mais permitidas