Ir para conteúdo

POWERED BY:

Arquivado

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

fcorrea

Remover Item Array

Recommended Posts

Pessoal, tenho um array com 10 posições e preciso de remover a posicao 5, por exemplo. Nao encontrei na net e nem nas pesquisar que fiz no imasters. Alguem conhece como realizar esta ação? grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá uma pesquisada no lab. de scripts, k colokei varias funcoes para manipulacaun de array

Compartilhar este post


Link para o post
Compartilhar em outros sites

O objetivo é ficar somente com 9 posições ou a quinta ficar vazia?

Compartilhar este post


Link para o post
Compartilhar em outros sites

lembrendo k apos remover , seria interessante usar outra funcaun para re-ordenar o mesmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

De cabeça e com código pra retirar e não me lembro se é possível.

Mas tem um jeito de fazer.

 

Faça um loop no ASP concatenando numa string o valor do array naquela iteração mais uma vírgula.

E dentro do loop faça uma condição if, que só grava o valor na string se a posição for diferente de 5.

 

Depois do loop, use o 'split' com parâmetro desta string e a vírgula para quebrá-la novamente e formar um novo array.

Pronto, terá sumido!

 

OBS: Precisa de uma segunda condição também dentro do loop para que não seja colocada vírgula antes do primeiro item do array, caso contrário, virá uma posição a mais ao gerar o novo split após o loop.

 

for i = 0 to uBound(arr_teste) step 1  'loop de 0 ao limite do array.
  if i <> 5 then  'se for diferente da posição 5, então ele concatena.
     if i > 0 then  'se for posição maior que a PRIMEIRA, então coloca vírgula na string.
        string_cumulativa = string_cumulativa & "," & arr_teste(i)
     else 
        string_cumulativa = string_cumulativa & arr_teste(i)
     end if
  end if
next

arr_testenovo = split(string_cumulativa, ",")

Grato,

Giancarlo Braga.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode retirá-lo e depois usa uma funcaun k esta no lab. de script para re-ordená-lo,

existe varias funcoes para manipulacaun de array, pode te ajudar, abaixo um exemplo:

 

Public Sub ArrayRemoveItem(ItemArray As Variant, ByVal ItemElement As Long)

Dim lCtr As Long
Dim lTop As Long
Dim lBottom As Long

If Not IsArray(ItemArray) Then
    Err.Raise 13, , "Type Mismatch"
    Exit Sub
End If

lTop = UBound(ItemArray)
lBottom = LBound(ItemArray)

If ItemElement < lBottom Or ItemElement > lTop Then
    Err.Raise 9, , "Subscript out of Range"
    Exit Sub
End If

For lCtr = ItemElement To lTop - 1
    ItemArray(lCtr) = ItemArray(lCtr + 1)
Next
On Error GoTo ErrorHandler:

ReDim Preserve ItemArray(lBottom To lTop - 1)

Exit Sub
ErrorHandler:
  'An error will occur if array is fixed
    Err.Raise Err.Number, , _
       "Você deve passar um array redimensionável, para esta função"
End Sub

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.