<pedrocorreia.net ⁄>
corner
<mySearch ⁄> <mySearch ⁄>

corner
 
corner
<mySnippets order="rand" ⁄> <mySnippets order="rand" ⁄>

corner
 
corner
<myContacts ⁄> <myContacts ⁄>

<email ⁄>


pc@pedrocorreia.net

<windows live messenger ⁄>


pedrojacorreia@hotmail.com

<myCurriculum type="pdf" ⁄>


Download
corner
 
corner
<myBlog show="last" ⁄> <myBlog show="last" ⁄>

corner
 
corner
<myNews show="rand" ⁄> <myNews show="rand" ⁄>

corner
 
corner
<myNews type="cat" ⁄> <myNews type="cat" ⁄>

corner
 
corner
<myQuote order="random" ⁄> <myQuote order="random" ⁄>

corner
 
corner
<myPhoto order="random" ⁄> <myPhoto order="random" ⁄>

<pedrocorreia.net ⁄>
corner
 
corner
<myAdSense ⁄> <myAdSense ⁄>

corner
 
corner
<myVisitorsMap ⁄> <myVisitorsMap ⁄>

corner
 
 

<Redimensionar Array ⁄ >




clicks: 12280 12280 2007-11-12 2007-11-12 goto mySnippets mySnippets asp  Download  Bookmark This Bookmark This



Comparativamente com o PHP, o ASP no que toca a arrays (e sem querer entrar por outros campos :D) é um pouco mais complicado e não tem tanta flexibilidade, como por exemplo do redimensionamento de arrays. Não podemos pura e simplesmente chegar ao indice+1 do array e adicionar um elemento, se tal fizermos seremos contemplados com a mensagem agradável "Subscript out of range".

Para redimensionar um array teremos de recorrer ao ReDim Preserve, isto é cada vez que queremos adicionar um elemento ao array temos de o redimensionar, mas preservando o que já lá existia, se usarmos simplesmente o ReDim todo o conteúdo do array será removido, visto que o ReDim cria um novo array, o Preserve irá permitir uma cópia fiel do array e ainda adicionar "n elementos", consoante os desejados.


  1. <%
  2. dim ArrayRedim()
  3. dim i
  4.  
  5. 'Adicionar 1º elemento
  6. ReDim Preserve ArrayRedim(0)
  7. ArrayRedim(UBound(ArrayRedim)) = "1º elemento"
  8.  
  9. 'Adicionar +1 elemento
  10. ReDim Preserve ArrayRedim(UBound(ArrayRedim)+1)
  11. ArrayRedim(UBound(ArrayRedim)) = "2º elemento"
  12.  
  13. 'Adicionar +1 elemento
  14. ReDim Preserve ArrayRedim(UBound(ArrayRedim)+1)
  15. ArrayRedim(UBound(ArrayRedim)) = "3º elemento"
  16.  
  17.  
  18. 'Adicionar +n elementos
  19. dim num_elements_add, start_at, until_pos
  20.  
  21. num_elements_add=7 'numero de elementos para adicionar
  22. start_at=UBound(ArrayRedim)
  23. until_pos=start_at+num_elements_add
  24.  
  25. ReDim Preserve ArrayRedim(UBound(ArrayRedim)+num_elements_add)
  26. for i=(start_at+1) to until_pos
  27. ArrayRedim(i) = (i+1) & "º elemento"
  28. next
  29.  
  30.  
  31. 'chamar função para imprimir o conteúdo do array
  32. ToString ArrayRedim
  33.  
  34.  
  35. ''' <summary>
  36. ''' Imprimir conteúdo do array
  37. ''' </summary>
  38. ''' <param name="arr">Array</param>
  39. ''' <returns>String</returns>
  40. function ToString(arr)
  41. countElems=UBound(arr)
  42. for i=0 to countElems
  43. Response.write("Posição: " & i & " => " & arr(i) & "<br>")
  44. next
  45. end function
  46. %>
  47.  



A função ToString irá imprimir para o ecrã a seguinte informação:

Posição: 0 => 1º elemento
Posição: 1 => 2º elemento
Posição: 2 => 3º elemento
Posição: 3 => 4º elemento
Posição: 4 => 5º elemento
Posição: 5 => 6º elemento
Posição: 6 => 7º elemento
Posição: 7 => 8º elemento
Posição: 8 => 9º elemento
Posição: 9 => 10º elemento



Felizmente no ASP.NET tudo isto mudou ...









clicks: 12280 12280 2007-11-12 2007-11-12 goto mySnippets mySnippets asp  Download  Bookmark This Bookmark This