Ir para conteúdo
Fórum Script Brasil
  • 0

Filter Em Array


Guest - Luiz -

Pergunta

5 respostass a esta questão

Posts Recomendados

  • 0

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

Link para o comentário
Compartilhar em outros sites

  • 0

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

Link para o comentário
Compartilhar em outros sites

  • 0

legal, mas e se eu quiser eu pegar apenas o que tiver a palavra "Mar" certinho:

Dim Lista(0 to 3) As String
Lista(0) = "Mara"
Lista(1) = "Moça"
Lista(2) = "Marcela"
Lista(3) = "Mar"

'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[/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 String
Lista(0) = "Mara"
Lista(1) = "Moça"
Lista(2) = "Marcela"
Lista(3) = "AMar"

'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

ele vai selecionar o indice 3?

valeu william, achei que c tinha bandonado o forum.

Link para o comentário
Compartilhar em outros sites

  • 0

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
    Next

E quanto a parte procurada estar no meio de um elemento, sim, ele também é retornado.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      652k
×
×
  • Criar Novo...