Differenze tra le versioni di "Creare array di oggetti"
Riga 1: | Riga 1: | ||
− | Nei primi due esempi che faremo, verrà creato un | + | Nei primi due esempi che faremo, verrà creato un array |[[#Note|1]]| indefinito di oggetti. Per fare ciò sarà necessario l'uso del metodo ''.add'' con una variabile array di tipo "''oggetto''". |
− | <FONT color=B22222>'''1'''</font> - Uso del metodo ''.Add'' con una variabile array | + | <FONT color=B22222>'''1'''</font> - Uso del metodo ''.Add'' con una variabile array del medesimo tipo dell'oggetto che sarà contenuto: |
− | + | Public Sub Form_Open() | |
− | + | ||
+ | Dim bt As Button | ||
+ | Dim ar As New Button[] | ||
+ | Dim j As Byte | ||
− | |||
− | |||
− | |||
+ | For j = 0 To 9 | ||
+ | bt = New Button(Me) As "bt" & j | ||
+ | ar.Add(bt) | ||
+ | Next | ||
+ | |||
+ | |||
+ | For j = 0 To 9 | ||
+ | With ar[j] | ||
+ | .X = 10 | ||
+ | .Y = 1 + (30 * j) | ||
+ | .W = 60 | ||
+ | .H = 30 | ||
+ | End With | ||
+ | Next | ||
+ | End | ||
+ | |||
+ | |||
+ | |||
+ | <FONT color=B22222>'''2'''</font> - Uso del metodo ''.Add'' con una variabile array di tipo "''oggetto''" e con specificazione dell'elemento dell'array nel quale inserire la Label: | ||
'''Public''' Sub Button1_Click() | '''Public''' Sub Button1_Click() | ||
+ | |||
+ | Dim obj As New Object[] | ||
+ | Dim c, i As Integer | ||
obj.Add(Label) | obj.Add(Label) | ||
Riga 36: | Riga 58: | ||
− | <FONT color=B22222>''' | + | <FONT color=B22222>'''3'''</font> - Uso del metodo ''.Add'' con una variabile array di tipo "''oggetto''" e senza specificazione dell'elemento dell'array nel quale inserire un Form: |
− | |||
− | |||
− | |||
Private obja As New Object[] | Private obja As New Object[] | ||
Private k As Integer | Private k As Integer | ||
Riga 76: | Riga 95: | ||
'''End''' | '''End''' | ||
− | |||
− | |||
In questo terzo esempio si potrà evitare l'uso della variabile di tipo "''oggetto''" e del relativo metodo ''.add'', ma si dovrà porre un array di dimensioni <SPAN style="text-decoration:underline">definite</span>: | In questo terzo esempio si potrà evitare l'uso della variabile di tipo "''oggetto''" e del relativo metodo ''.add'', ma si dovrà porre un array di dimensioni <SPAN style="text-decoration:underline">definite</span>: | ||
− | |||
− | |||
− | |||
Private Lblarray As New Label[9] <Font Color= #006400>' ''è posto il limite massimo a 10 oggetti ("array di 10 elementi: da 0 a 9")''</font> | Private Lblarray As New Label[9] <Font Color= #006400>' ''è posto il limite massimo a 10 oggetti ("array di 10 elementi: da 0 a 9")''</font> | ||
Private a As Integer | Private a As Integer | ||
Riga 117: | Riga 131: | ||
---- | ---- | ||
− | + | ==Note== | |
[1] Un ''Array'' è un insieme di elementi del medesimo tipo. Pertanto un ''Array'' del tipo Integer sarà un insieme di valori ''interi''. | [1] Un ''Array'' è un insieme di elementi del medesimo tipo. Pertanto un ''Array'' del tipo Integer sarà un insieme di valori ''interi''. |
Versione delle 15:52, 13 ott 2012
Nei primi due esempi che faremo, verrà creato un array |1| indefinito di oggetti. Per fare ciò sarà necessario l'uso del metodo .add con una variabile array di tipo "oggetto".
1 - Uso del metodo .Add con una variabile array del medesimo tipo dell'oggetto che sarà contenuto:
Public Sub Form_Open() Dim bt As Button Dim ar As New Button[] Dim j As Byte For j = 0 To 9 bt = New Button(Me) As "bt" & j ar.Add(bt) Next For j = 0 To 9 With ar[j] .X = 10 .Y = 1 + (30 * j) .W = 60 .H = 30 End With Next End
2 - Uso del metodo .Add con una variabile array di tipo "oggetto" e con specificazione dell'elemento dell'array nel quale inserire la Label:
Public Sub Button1_Click() Dim obj As New Object[] Dim c, i As Integer obj.Add(Label) ' La sintassi "New Label(Me)" istruisce l'interprete ' che l'oggetto deve essere creato ed assegnato al Form (Parent): obj[i] = New Label(Me) ' Ad ogni clic sul tasto viene mostrata la Label sul form: With obj[i] .X = 10 * i .Y = c .width = 100 .height = 20 .text = "Nuova Label" End With c += 30 ' Viene incrementata la variabile relativa alla cella dell'array di indice 0: Inc i End
3 - Uso del metodo .Add con una variabile array di tipo "oggetto" e senza specificazione dell'elemento dell'array nel quale inserire un Form:
Private obja As New Object[] Private k As Integer Private j As Byte Public Sub Button1_Click() Dim fo As Form Dim box As New Form ' istanzio un Form: fo = New Form As "fo" ' ...e lo aggiungo ad un elemento dell'array: obja.Add(fo) ' evito di superare il numero di elementi dell'array: If j > obja.max Then Return k = k + 60 box = obja[j] ' Ad ogni clic sul tasto viene mostrato un Form: With box .W = 150 .H = 150 .X = k .Y = k .Caption = "Nuovo Form" .Show .TopOnly = True End With ' Viene incrementata la variabile relativa alla cella dell'array di indice 0: Inc j End
In questo terzo esempio si potrà evitare l'uso della variabile di tipo "oggetto" e del relativo metodo .add, ma si dovrà porre un array di dimensioni definite:
Private Lblarray As New Label[9] ' è posto il limite massimo a 10 oggetti ("array di 10 elementi: da 0 a 9") Private a As Integer Private b As Integer Public Sub Button1_Click() ' Crea una Label ogni qualvolta viene premuto Button1 Dim c, d As Integer b += 50 ' La sintassi "New Label(Me)" istruisce l'interprete ' che l'oggetto deve essere creato ed assegnato al Form (Parent): Lblarray[a] = New Label(Me) ' Viene mostrata la Label sul Form: With Lblarray[a] .Border = Border.Raised ' sono definite le caratteristiche della label... .W = 100 .H = 20 .X = b .Y = b .text = "Nuova Label" End With ' Viene incrementata la variabile relativa alla cella dell'array di indice 0: Inc a End
Note
[1] Un Array è un insieme di elementi del medesimo tipo. Pertanto un Array del tipo Integer sarà un insieme di valori interi.