ELIMINAR DADOS DUPLICADOS EM UM ARRAY

PATRICIALINDA 15/05/2011 16:07:24
#373997
Boa tarde,


Vocês tem uma função que posso utilizar para eliminar dados duplicados de vários array[ô]s ?

Outra coisa, para que serve o ReDim ???
WEBSTERGONTIJO 15/05/2011 19:05:04
#374007
Boa Noite redim pega o valor de uma string ou de um textbox e redimensiona para o que voçe quer ex:::

Voce tem uma frase assim, [Ô]Quero que tire os espaços e coloque tudo junto[Ô]

Fica assim Textbox1.text = redim([Ô] [Ô] , [Ô][Ô],Quero que tire os espaços e coloque tudo junto)....
Ai o ele pega tudo que tiver um espaço em branco e coloca sem espaço, dessa forma vc pode fazer o que quiser tipo trocar ç por c e assim vai...


Abraços
TECLA 15/05/2011 19:05:28
#374008
Resposta escolhida
Citação:

Outra coisa, para que serve o ReDim ???


Serve para ReDimensionar ou Realocar um espaço maior na memória para o vetor criado anteriormente.
Para preservar o valor que já existe no vetor, utilize a palavra-chave Preserve.
MARCELO.TREZE 15/05/2011 23:13:47
#374023
Só para dar um exemplo do Redim que o tecla explicou:

ex:

Dim A(10) As Integer

porém 10 será pouco vc precisará de mais então usa o redim

Redim Preserve A(20) As integer

entendeu

PATRICIALINDA 15/05/2011 23:58:30
#374024
Legal... eu já entendi a funcionaliade do ReDim() e agora preciso saber como elimino valores duplicados dentro de meu Array ?

Ex, tenho um array de 7 campos carregado:

StrArray(0) = [Ô]10[Ô]
StrArray(1) = [Ô]20[Ô]
StrArray(2) = [Ô]10[Ô]
StrArray(3) = [Ô]30[Ô]
StrArray(4) = [Ô]40[Ô]
StrArray(5) = [Ô]50[Ô]
StrArray(6) = [Ô]20[Ô]


Quero eliminar os valores duplicados, realocando em um novo array, ou até no mesmo com valores sem redundancia:
StrArrayNew(0) = [Ô]10[Ô]
StrArrayNew(1) = [Ô]20[Ô]
StrArrayNew(2) = [Ô]30[Ô]
StrArrayNew(3) = [Ô]40[Ô]
StrArrayNew(4) = [Ô]50[Ô]
ROBIU 16/05/2011 12:48:06
#374040
Vê se é assim:

 Dim i As Integer, ArrayVal As Variant
Dim StrArray() As String, ListaValor As String
ReDim StrArray(7)
StrArray(0) = [Ô]10[Ô]
StrArray(1) = [Ô]20[Ô]
StrArray(2) = [Ô]10[Ô]
StrArray(3) = [Ô]30[Ô]
StrArray(4) = [Ô]40[Ô]
StrArray(5) = [Ô]50[Ô]
StrArray(6) = [Ô]20[Ô]

For i = LBound(StrArray) To UBound(StrArray) - 1
If i = 0 Then
ListaValor = StrArray(i)
Else
If InStr(1, ListaValor, StrArray(i)) = 0 Then ListaValor = ListaValor & [Ô];[Ô] & StrArray(i)
End If
Next i
ArrayVal = Split(ListaValor, [Ô];[Ô])
ReDim StrArray(UBound(ArrayVal))
For i = LBound(ArrayVal) To UBound(ArrayVal)
List1.AddItem ArrayVal(i)
Next
Tópico encerrado , respostas não são mais permitidas