O Teu Mundo - Muito mais do que possas imaginar...
16.- Arrays em VBScript Americ10

Bem-vindo ao O Teu Mundo!
Registre-se, conecte-se para ter acesso ao forum por completo, ainda podera ter um perfil que pode ser modificado com css e muito mais...



16.- Arrays em VBScript

Ir em baixo

16.- Arrays em VBScript Empty 16.- Arrays em VBScript

Mensagem por Miguel Rocha em Qui Mar 25, 2010 12:58 pm

Os Arrays ou matrizes são umas estruturas de dados muito utilizadas em Qualquer linguagem. Trata-se de variáveis, porém que estão preparadas para Salvar uma quantidade maior de elementos. É como uma variável que tem vários compartimentos para salvar a informação e a cada um desses compartimentos há que acessar como um índice.

Antes de utilizar um array devemos declara-lo de maneira obrigatória, para isso utilizamos a palavra chave DIM, deste modo.

dim meuArray(20)

Despois da palavra DIM devemos indicar o nome do array e a seguir, entre parênteses, coloca-se o número de posição máxima do array, neste caso 20.

Os arrays em ASP começam desde a posição 0, ou seja, o primeiro elemento de um array está na posição 0. Portanto, se o array foi definido com 20 campos, como no exemplo, terá 21 elementos, primeira posição será a 0 e a última posição seria a 20.

Para atribuir um valor a um array se realiza igual que uma variável, porém acessando com o índice da posição que queremos escrever.

meuArray(0) = 234

Para utilizar o conteúdo de um array devemos faze-lo indicando o índice ao que se deseja acessar. Por exemplo, se quiséssemos imprimir na página a primeira posição de nosso Array o faríamos desta maneira.

document.write(meuArray(0))

Agora vamos ver um exemplo sobre como utilizar os arrays, onde vamos realizar dois percorridos, um para escrever nele e o outro para ler a informação e escreve-la na página.

Código:
dim matriz (10)
for i=0 to 10
  matriz(i)=100 * i
next

for i=0 to 10
  document.writeln("Posicao " & i & ": " & matriz(i) & "<br>")
next

Este exemplo escreveria na página as posições do array, que contém variáveis numéricas que correspondem de multiplicar seu índice por 100.

Arrays multidimensionais em VBscript

Podem-se construir matrizes multidimensionais, ou seja, que nos permitam criar matrizes de várias coordenadas. Para trabalhar com eles utiliza-se uma vírgula que separa os dois índices. Por exemplo, podemos definir uma matriz de 8x8 desta maneira.

dim meuArray2Dimensoes (7,7)

Como o array é de 8 campos, utilizamos um 7 e suas posições serão as 8 que vão desde o 0 ao 7. Para escrever e ler do Array podemos utilizar a vírgula de maneira similar a como se declara. Por exemplo, para colocar dados na posição 0,2 faríamos o seguinte:

meuArray2Dimensoes (0,2) = "texto posicao 0,2"

Redimensionar arrays

Podemos declarar também arrays que mudem o número de campos que têm segundo se necessite em tempo de execução. Este tipo de arrays redimensionais se chama array dinâmico. Para criar este tipo de arrays podemos utilizar a sentença dim (como criávamos os anteriores) ou a sentença redim, com a particularidade que não lhe colocamos nenhum valor entre parênteses onde antes indicávamos o número de campos do array.

dim meu_array()
redim meu_outro_array()

Quando usamos arrays dinâmicos podemos utilizar a sentença redim para indicar o número de dimensões e a quantidade de campos de cada dimensão.

Com esta sentença estamos indicando que meu_array deve ter o tamanho 10. Campos desde 0 até a 10.

redim meu_array(10)

Se indicamos a chave "preserve" estamos garantindo que o conteúdo dos campos que havia previamente no array se mantém.

redim preserve meu_array(20)

Por último, se em qualquer momento reduzimos o número de campos perderemos o que possa ter sido salvo nos campos que se eliminaram.

No seguinte exemplo criamos um array dinâmico e o redimensionamos inicialmente a tamanho 3. Preenchemos e mostramos seus distintos valores. Posteriormente o redimensionamos outra vez para que chegue até a posição 7, salvando os valores antigos. Para acabar preenchendo os campos que criamos novos e mostramos todos os valores do array.

Código:
dim frutas()
redim frutas(3)

frutas(0) = "Pêra"
frutas(1) = "Uva"
frutas(2) = "Maçã"
frutas(3) = "Melão"

for each fruta in frutas
    document.write fruta & "<br>"
next

redim preserve frutas(7)

frutas(4) = "Melancia"
frutas(5) = "Laranja"
frutas(6) = "Banana"
frutas(7) = "Tangerina"

for each fruta in frutas
    document.write fruta & "<br>"
next

Código:
Nota: Os arrays de mais de uma dimensão também podem se redimensionar, porém só se pode alterar a última dimensão.

Por exemplo, em um array de duas dimensões meuarray(2,4), se poderia redimensionar a segunda dimensão redim meuarray(2,8). Ou em um array de 3 dimensões, onde também poderíamos mudar somente a última dimensão.

Um exemplo de código que faz isto é:

dim dados_prova()
redim dados_prova(1,0)

dados_prova(0,0)=12
dados_prova(1,0)="ola!"

redim preserve dados_prova(1,1)

dados_prova(0,1)=133
dados_prova(1,1)="segunda campo"

for i=0 to ubound(dados_prova)
    document.write dados_prova(0,i) & "-" & dados_prova(1,i) & "<br>"
next

Obter o número de campos de um array

Um dos dados típicos que necessitamos extrair de um array é seu número de posições, útil, por exemplo, para fazer um percorrido a um array, desde a primeira até o último campo. Para isso, utilizamos a função uBound() de VBscript.

uBound() recebe o array do que queremos obter seu número de posições e devolve a posição mais alta do array. Por exemplo:

dim cidades(5)
document.write ubound (cidades)

Escreveria na página o número do campo mais alto do array cidades, neste caso 5.

Ademais, se por acaso algum dia necessitamos, também temos a nossa disposição a função lBound(), que devolve o número da posição com índice menor do array.

document.write lbound (cidades)

A última linha sobre nosso array de cidades definido anteriormente escreveria um 0 na página web, visto que o array começa na posição zero.

_______________________________________________
Olá Convidado, actualmente este fórum tem 33 membros, 114 categorias , 433 tópicos e 793 posts, mas apenas 0 são teus !
Vá Convidado , tens de postar mais !

Miguel Rocha
Administrador
 Administrador

Masculino Mensagens : 692
Pontos : 22478
Reputação : 11
Idade : 27
Localização : Porto


Voltar ao Topo Ir em baixo

16.- Arrays em VBScript Empty Re: 16.- Arrays em VBScript

Mensagem por Convidad em Qui Mar 25, 2010 10:33 pm

esta e uma das matérias que mais me fez confusão :/

Convidad
Convidado


Voltar ao Topo Ir em baixo

16.- Arrays em VBScript Empty Re: 16.- Arrays em VBScript

Mensagem por Miguel Rocha em Qui Mar 25, 2010 10:41 pm

looooooooool

_______________________________________________
Olá Convidado, actualmente este fórum tem 33 membros, 114 categorias , 433 tópicos e 793 posts, mas apenas 0 são teus !
Vá Convidado , tens de postar mais !

Miguel Rocha
Administrador
 Administrador

Masculino Mensagens : 692
Pontos : 22478
Reputação : 11
Idade : 27
Localização : Porto


Voltar ao Topo Ir em baixo

16.- Arrays em VBScript Empty Re: 16.- Arrays em VBScript

Mensagem por Convidad em Sex Mar 26, 2010 4:58 am

Eu cá não percebo xD

Convidad
Convidado


Voltar ao Topo Ir em baixo

16.- Arrays em VBScript Empty Re: 16.- Arrays em VBScript

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum