Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Creedence

Usando função Filter()

Recommended Posts

Boa tarde !

 

Como faço para saber se um valor consta num array.

 

Se meu array tem por exemplo os valores 1,2,14, 25,28,35 e eu quero saber se nele consta um determinado valor .

Vi algo sobre Ubound(Filter()) mas não consegui utilizá-lo.

 

Obrigado,

 

Marcos

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

O "Filter" pode ser utilizado o problema é que teria que fazer umas adaptações e verificações pois no seu caso ao chamar o "Loop" para uma pesquisa pelo número "2" por exemplo, ele traria todos os valores com esse número.

Segue uma função que pode te ajudar, adapte a sua necessidade:

Function inArray(element, arr)
	inArray = False
	For i = 0 To Ubound(arr)
		If Trim(arr(i)) = Trim(element) Then
			inArray = True
			Exit Function
		End If
	Next
End Function

objFind = 25
objArr  = Array(1,2,14,25,28,35)
If inArray(objFind, objArr) Then 
	Response.Write objFind
End If

Att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Public 2004, Valeu !

 

Eu tinha feito um teste com o Filter e ele me retornou realmente todos os elementos onde o numero aparecia, tal qual você falou. Isso não me ajudava.

 

Muito obrigado.

 

Marcos

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha este exemplo:

'Create an array of namesDim aNamesaNames = Array("Scott", "Steve", "Yves", "Charles", _               "Ian", "Mike", "Christopher", "Roger", _               "Josh", "Kevin", "David", "Isaac", "John")'List the complete list of names:Response.Write "<b>The name list contains:</b><br>"Response.Write join(aNames, ", ")'Now, filter on a certain characterResponse.Write "<p><b>The names that contain the " & _               "letter 's':</b><br>"Dim aNamesWithSaNamesWithS = Filter(aNames, "s", True, vbTextCompare)Response.Write join(aNamesWithS, ", ")'Now, filter and display on another characterResponse.Write "<p><b>The names that <i>do not</i> " & _               "contain the letter 'c':</b><br>"Response.Write join(Filter(aNames, "c", False, vbTextCompare), ", ")

mas vc poderia jogar os resultas em recordset usando FILTER do RecordSet ADO ANTES de usar o "GetRows" para criar seu Array.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.