Differenze tra le versioni di "Creare array di oggetti"
Da Gambas-it.org - Wikipedia.
Riga 1: | Riga 1: | ||
− | + | Nei primi due esempi che faremo, verrà creato un array indefinito di oggetti. Per fare ciò sarà necessario l'uso del metodo ''.add'' con una variabile array di tipo "''oggetto''". | |
− | |||
Riga 28: | Riga 27: | ||
c += 30 | c += 30 | ||
+ | <Font Color= #006400>' ''Viene incrementata la variabile relativa alla cella dell'array di indice 0:''</font> | ||
Inc i | Inc i | ||
Riga 65: | Riga 65: | ||
.H = 150 | .H = 150 | ||
.X = k | .X = k | ||
− | .Y = k | + | .Y = k |
+ | .Caption = "Nuovo Form" | ||
.Show | .Show | ||
− | .TopOnly = True | + | .TopOnly = True |
End With | End With | ||
− | + | ||
+ | <Font Color= #006400>' ''Viene incrementata la variabile relativa alla cella dell'array di indice 0:''</font> | ||
Inc j | 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 arrai di dimensioni definite. | ||
+ | |||
+ | <Font Color= #006400>' ''Gambas class file''</font> | ||
+ | |||
+ | 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() <Font Color= #006400>' ''Crea una Label ogni qualvolta viene premuto Button1''</font> | ||
+ | |||
+ | Dim c, d As Integer | ||
+ | |||
+ | b += 50 | ||
+ | |||
+ | Lblarray[a] = New Label(Me) | ||
+ | |||
+ | <Font Color= #006400>' ''Viene mostrata la Label sul Form:''</font> | ||
+ | With Lblarray[a] | ||
+ | .Border = Border.Raised <Font Color= #006400>' ''sono definite le caratteristiche della label...''</font> | ||
+ | .W = 100 | ||
+ | .H = 20 | ||
+ | .X = b | ||
+ | .Y = b | ||
+ | .text = "Nuova Label" | ||
+ | End With | ||
+ | |||
+ | <Font Color= #006400>' ''Viene incrementata la variabile relativa alla cella dell'array di indice 0:''</font> | ||
+ | Inc a | ||
'''End''' | '''End''' |
Versione delle 08:19, 15 apr 2012
Nei primi due esempi che faremo, verrà creato un array 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 di tipo "oggetto" e con specificazione dell'elemento dell'array nel quale inserire la Label:
' Gambas class file Private obj As New Object[] c As Integer i As Integer Public Sub Button1_Click() obj.Add(Label) 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
2 - Uso del metodo .Add con una variabile array di tipo "oggetto" e senza specificazione dell'elemento dell'array nel quale inserire un Form:
' Gambas class file 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 arrai di dimensioni definite.
' Gambas class file 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 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