Ir para conteúdo
Entre para seguir isso  
Boleta

Encontrando Valores em Strings

Recommended Posts

Boleta    1
Boleta

Olá exploradores OTServ Networks!

 

Neste tópico, vou ensinar a encontrar valores entre determinados pontos de uma string.

Primeiramente, precisamos de uma String com algo escrito.

Vamos então criar uma:

 

Dim MinhaString As StringMinhaString = "Olá Mundo. Este mundo é muito " & Chr(34) & "Feliz" & Chr(34)
No caso acima, usamos fora das aspas uma função que le códigos ASCII e converte para caracter.

Códigos ASCII são números que são interpretados pelo computador antes de se tornar Caracteres. Por exemplo. O código ASCII das Aspas(") é 34. Como no VB não temos funções para inserir aspas em um texto como o PHP (que se usa " e "), nós fechamos as aspas e adicionamos um &, que acrescenta valores a uma string. Depois, colocamos Chr(34), que no caso irá converter para as aspas. Adicionamos & e o texto que virá entre aspas e seguimos o mesmo procedimento anterior.

 

Alguem cutucou minha cabeça: "Ah, mais isso da muito trabalho! Não tem outro geito de fazer isso?"

Sim, claro que tem =D

 

No VB existe uma Função chamada Replace, que converte um Caracter X por um caracter Y. Como assim?

Simples:

Dim Abc As StringAbc = "Olá Mundo. Este mundo é muito |Feliz|"Abc = Replace(Abc, "|", Chr(34)) ' Chr(34) = Aspas(")
No exemplo acima, a função irá substituir | por Chr(34) que no caso são as aspas. O Texto final será:

Olá Mundo. Este Mundo é muito "Feliz"[/b]

Até aqui muito fácil.

 

Usando a Função Split:

A Função Split encontra valores apartir de determinado ponto.

Você defini um ponto de partida e ele vai encontar valores até que haja um caracter igual ao ponto de partida. Caso não encontre, a função pega valores até o fim da String.

Usando:

Dim MinhaString As StringDim Var As VariantDim Valor As StringMinhaString = "Olá Mundo. Este mundo é muito " & Chr(34) & "Feliz" & Chr(34)Var = Split(MinhaString, Chr(34))Valor = Var(1)MsgBox Valor
????? Eu não entendi nada !!!!!

 

Calme, não se apavore. Como você percebeu, declarei a variaver Var como Variant, para que eu consiga pegar arrays do Limiter do Split. Limiter no caso é Chr(34). Essas Arrays vão "grosseiramente" ser contadas como 1 para cada Limiter da esquerda pra direita. No caso, vai ser o numero na ordem (primeira, segunda, etc). Usamos Valor = Var(1), para pegar o valor apartir da aspa 1.

No codigo acima, Valor no caso vai assumir Feliz, pois é o que está entre as duas aspas.

Lembre-se: A 2ª aspa vai ser de Array 2. Se houvesse mais valores entre mais aspas, seriam usados no caso, Var(3), 5, etc.

 

Bom, espero que lhes seja útil. Dúvidas? Estou a disposição.

 

Abraços,

//Bol~

Compartilhar este post


Link para o post
Compartilhar em outros sites
ZehbOi    0
ZehbOi

Ta roxis o tutorial boleta, parabéns ;]Ta explicado direitin.. é isso ai o/Zehboi

Compartilhar este post


Link para o post
Compartilhar em outros sites
Boleta    1
Boleta

Obrigado ZehBoi!

 

Nosso objetivo é esse: Fazer com que o leitor entenda o que foi dito.

Fico feliz por eu ter conseguido chegar nisso.

 

Abraços,

//Bol~

Compartilhar este post


Link para o post
Compartilhar em outros sites
Convidado Eclipse   
Convidado Eclipse

Bom tuto boleta.Para os que nao sabem, esta funcao possui uma semelhante na linguagem PhP (a muito usada nos sites de cadastro para servers), e é com esta semelhante que conseguimos fazer ranks e outras coisas pois colocamos para ela procurar o valor na aspa onde se localizam os lvls, os skills, etc...Muito util algumas vezes, ela é simples de ser usada futuramente. Porem talves seja necessario ensina-los como usar uma database em ini (bem basica) e fazer esta mesma funcao puxar um Split de dentro do arquivo, nao? Isso sim ajudaria muito na producao de games e outros utilitarios de VB, pois serviria tambem para salvar o ultimo diretorio escolhido como destino para um arquivo, as configuracoes que o usuario escolheu ao usar o programa criado pela ultima vez, etc...Se eu tiver tempo colaboro com algumas infos basicas deste metodo em um futuro post.Cya

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça login para comentar

Você vai ser capaz de deixar um comentário após fazer o login



Entrar Agora
Entre para seguir isso  

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×