Guest - Luiz - Postado Maio 12, 2006 Denunciar Share Postado Maio 12, 2006 Como se usa o Filter em um array unidimensional para encontra um registro? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 William Rodrigues Postado Maio 12, 2006 Denunciar Share Postado Maio 12, 2006 Salve!O Filter é usado, como dito, para pesquisar por um determinado dentro de um Vetor.Exemplo. Dim Lista(0 to 3) As String Lista(0) = "Fórum" Lista(1) = "Script" Lista(2) = "Brasil" 'procurando pelo valor dentro do vetor resultado = Filter(Lista, "Script") 'Mostrando o valor na Tela For i = LBound(resultado) To UBound(resultado) MsgBox resultado(i) Next Bom, acho que nem precisa dizer que o retorno de Filter é um vetor!Qualquer coisa é só falar.Abraços,William Rodrigues Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Maio 12, 2006 Denunciar Share Postado Maio 12, 2006 tem como filtar por todos que comecam com "a" por exemplo? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 William Rodrigues Postado Maio 12, 2006 Denunciar Share Postado Maio 12, 2006 Salve!Sim, claro...Basta apenas informar a letra inicial pela qual você quer pesquisar...Exemplo. Dim Lista(0 to 3) As String Lista(0) = "Mara" Lista(1) = "Moça" Lista(2) = "Marcela" 'procurando pelo valor dentro do vetor resultado = Filter(Lista, "Mar") 'Mostrando o valor na Tela For i = LBound(resultado) To UBound(resultado) MsgBox resultado(i) Next Vai retornar apenas os resultados que contém a expressão (string de procura) informada.Abraços,William Rodrigues Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Maio 12, 2006 Denunciar Share Postado Maio 12, 2006 legal, mas e se eu quiser eu pegar apenas o que tiver a palavra "Mar" certinho:Dim Lista(0 to 3) As StringLista(0) = "Mara"Lista(1) = "Moça"Lista(2) = "Marcela"Lista(3) = "Mar"'procurando pelo valor dentro do vetorresultado = Filter(Lista, "Mar")'Mostrando o valor na TelaFor i = LBound(resultado) To UBound(resultado) MsgBox resultado(i)Next[/code] tipo no caso, eu vou querer só o indice 3 e não o 0 e nem o 2. outra coisa, nesse se exemplo que você passou, o que acontece se o "Mar" estiver na palavra mas não no inicio. Exemplo: [code]Dim Lista(0 to 3) As StringLista(0) = "Mara"Lista(1) = "Moça"Lista(2) = "Marcela"Lista(3) = "AMar"'procurando pelo valor dentro do vetorresultado = Filter(Lista, "Mar")'Mostrando o valor na TelaFor i = LBound(resultado) To UBound(resultado) MsgBox resultado(i)Nextele vai selecionar o indice 3?valeu william, achei que c tinha bandonado o forum. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Maio 13, 2006 Denunciar Share Postado Maio 13, 2006 Para uma busca exata acredito que você vai ter que olhar elemento por elemento. É claro que é bem melhor filtrar primeiro, porque aí restarão menos possibilidades: busca = "Mar" vetor = Array("Mara", "Moça", "Marcela", "Mar") retorno = Filter(vetor, busca) For Each palavra In retorno If palavra = busca Then MsgBox "Achou: " & palavra End If NextE quanto a parte procurada estar no meio de um elemento, sim, ele também é retornado.Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest - Luiz -
Como se usa o Filter em um array unidimensional para encontra um registro?
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.