sábado, 7 de julho de 2012

Arrays:

     Um array é uma lista de variáveis, com o mesmo tipo de dados e nome. Quando trabalhamos com apenas um item, usamos a variável. Mas quando temos uma lista de itens, do mesmo tipo, precisamos declarar um array de variáveis, ao invés de usar uma variável para cada item.

  • Dimensão do Array:
     Um Array pode ser dimensional ou multidimensional. Um array dimensional é como uma lista de itens, ou uma tabela onde possui uma linha e uma coluna. Um array multidimensional é uma tabela de itens, que contem suas linhas e colunas. O formado do array dimensional é Array(x), o formado do bidimensional é Array(x, y), e do tridimensional é Array(x, y, z). Exemplos:
Array Dimensional:
Lista de Alunos: Aluno(1), Aluno(2), Aluno(3)
Array MultiDimensional:
Lista de Alunos: Aluno(1,1), Aluno(1,2),  Aluno(1,3)
                           Aluno(2,1), Aluno(2,2), Aluno(2,3)
                          Aluno(3,1), Aluno(3,2), Aluno(3,3)
     No Visual Basic exitem 2 tipos de arrays: Fixed-Size e Dynamic. 

  • Fixed-Size Arrays:
     É possível fazer uma analogia do array com um rack de cds. No caso do tipo Fixed-Size o número de slots do rack é limitado. Suponhamos que você tenha 3 cds, um do Deftones, outro do Pink Floyd e outro do AC\DC. Para guardar eles no seu rack, ele precisa ter 3 slots. Então, no VB temos que declarar esses 3 slots:

Dim strCDRack (0 To 2) As String
strCDRack(0) = "Deftones"
strCDRack(1) = "PinkFloyd"
strCDRack(2) = "ACDC"

     O formato geral para se declarar um array é o seguinte:

Dim|Public|Private NomedoArray(Subscript) As TipodeDado

- O Dim numa procedure vai fazer com que o array fique disponível apenas com essa procedure. Usar o Private vai fazer com que fique acessível apenas no form ou módulo, já o Public vai tornar público para todo o projeto.
 - NomedoArray, como o nome diz é o nome que você vai dar para o Array.
- Subscript é a dimensão do array.
- TipodeDado é qualquer tipo válido de dados.

  • Dynamic Arrays:
     Suponhamos que você tem o quarto cd, mas o rack só suporta 3 slots, e você não quer jogar fora os seus 3 cds que já estão por lá. Então você decide construir um novo slot:

Dim strCDRack() As String
ReDim strCDRack (0 To 2) As String
strCDRack(0) = "Deftones"
strCDRack(1) = "PinkFloyd"
strCDRack(2) = "ACDC"
ReDim Preserve (0 To 3) As String
strCDRack(3) = "Rammstein"

     O Preserve força o VB a preservar os valores existentes nos arrays.  Sem essa palavra-chave todos os 3 cds seriam perdidos. 

     A sintaxe do ReDim é a seguinte:

ReDim [Preserve] NomedoArray(Subscript) As TipodeDado

- ReDim significa que você está redimencionando o array.
- Preserve é opcional. Ele força o VB a manter o valor dos elementos. Sem ela, todos os elementos iriam retornar os seus valores padrões. (tipos de dados numéricos iriam retornar 0, variable-lenght strings retornariam "",  fixed-lenght strings seriam preenchidos por zeros, e variants ficariam vazias).

  • Exemplo Prático:
* No exemplo, foi utilizado 1 botão e 1 listbox:
Dim NomeAluno(10) As String
Dim num As Integer

Private Sub addNome()
For num = 1 To 10
NomeAluno(num) = InputBox("Digite o nome do aluno")
List1.AddItem NomeAluno(num)
Next
End Sub

Private Sub Command1_Click()
addNome
End Sub


* Fontes:
http://www.vbtutor.net/vb6/lesson16.html
http://patorjk.com/programming/tutorials/vbarrays.htm
 

0 comentários:

Postar um comentário