Boleta 1 #1 Postado 20 Novembro, 2006 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 #2 Postado 20 Novembro, 2006 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 #3 Postado 21 Novembro, 2006 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 #4 Postado 30 Novembro, 2006 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