Differenze tra le versioni di "Creare array di oggetti"
Da Gambas-it.org - Wikipedia.
Riga 4: | Riga 4: | ||
==Semplice codice basilare per la creazione di un array del tipo di un oggetto== | ==Semplice codice basilare per la creazione di un array del tipo di un oggetto== | ||
− | + | In questo caso l'array sarà creato e riempito immediatamente con gli oggetti del tipo stabilito: | |
'''Public''' Sub Form_Open() | '''Public''' Sub Form_Open() | ||
Riga 31: | Riga 31: | ||
− | == | + | ==Creare un array indefinito di oggetti del medesimo tipo== |
− | + | '''Private''' i As Integer | |
+ | '''Private''' tasti As New Button[] | ||
+ | '''Private''' ts_y As Integer | ||
+ | |||
+ | |||
'''Public''' Sub Button1_Click() | '''Public''' Sub Button1_Click() | ||
− | + | Dim bt As Button | |
− | |||
− | + | bt = New Button(Me) As "tasto" | |
− | + | tasti.Add(bt) | |
− | + | ||
− | + | With bt | |
+ | .X = 10 | ||
+ | .Y = ts_y | ||
+ | .width = 100 | ||
+ | .height = 40 | ||
+ | .text = "Tasto n. " & i | ||
+ | End With | ||
+ | |||
+ | ts_y += 40 | ||
− | + | i = i + 1 | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
'''End''' | '''End''' | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | '''Public''' Sub | + | '''Public''' Sub tasto_Click() <FONT color=#006400>' ''Andiamo a verificare il tasto premuto''</font> |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | Print "E' stato premuto il tasto n. " & tasti.Find(Last) |[[#Note|2]]| | ||
+ | |||
'''End''' | '''End''' | ||
− | ==Creare | + | ==Creare un array di dimensioni <SPAN style="text-decoration:underline">definite</span> a priori== |
+ | In questo caso viene posto a priori un limite massimo agli elementi dell'array. L'array sarà riempito di volta in volta che si preme un tasto: | ||
'''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 139: | Riga 105: | ||
[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''. | ||
+ | |||
+ | [2] ''tasti.Find(Last)'' ritorna la posizione nell'array del "Button" creato che è stato premuto. |
Versione delle 04:24, 14 ott 2012
Verranno mostrati alcuni esempi per la creazione di oggetti mediante l'uso di un array. |1|
Indice
Semplice codice basilare per la creazione di un array del tipo di un oggetto
In questo caso l'array sarà creato e riempito immediatamente con gli oggetti del tipo stabilito:
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
Creare un array indefinito di oggetti del medesimo tipo
Private i As Integer Private tasti As New Button[] Private ts_y As Integer Public Sub Button1_Click() Dim bt As Button bt = New Button(Me) As "tasto" tasti.Add(bt) With bt .X = 10 .Y = ts_y .width = 100 .height = 40 .text = "Tasto n. " & i End With ts_y += 40 i = i + 1 End Public Sub tasto_Click() ' Andiamo a verificare il tasto premuto Print "E' stato premuto il tasto n. " & tasti.Find(Last) |2| End
Creare un array di dimensioni definite a priori
In questo caso viene posto a priori un limite massimo agli elementi dell'array. L'array sarà riempito di volta in volta che si preme un tasto:
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.
[2] tasti.Find(Last) ritorna la posizione nell'array del "Button" creato che è stato premuto.