Creare array di oggetti: differenze tra le versioni

Da Gambas-it.org - Wikipedia.
Vai alla navigazione Vai alla ricerca
Nessun oggetto della modifica
Nessun oggetto della modifica
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''".
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''".




Riga 113: Riga 113:
   
   
  '''End'''
  '''End'''
----
Note:
[1] Un ''Array'' è un insieme di elementi del medesimo tipo. Pertanto un ''Array'' del tipo Integer sarà un insieme di valori ''interi''.

Versione delle 06:18, 6 mag 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 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)
' 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


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 array 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

' 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.