16.- Arrays em VBScript
O Teu Mundo - Muito mais do que possas imaginar... :: Actualidade :: Informática :: Programação e Desenvolvimento :: Visual Basic
Página 1 de 1
16.- Arrays em VBScript
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.
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.
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.
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.
Miguel Rocha- Mensagens : 692
Pontos : 25840
Reputação : 11
Idade : 32
Localização : Porto
Re: 16.- Arrays em VBScript
looooooooool
Miguel Rocha- Mensagens : 692
Pontos : 25840
Reputação : 11
Idade : 32
Localização : Porto
O Teu Mundo - Muito mais do que possas imaginar... :: Actualidade :: Informática :: Programação e Desenvolvimento :: Visual Basic
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|