Differenze tra le versioni di "Creare array di oggetti"

Da Gambas-it.org - Wikipedia.
Riga 1: Riga 1:
Nel seguente esempio verrà mostrato un semplice codice per la creazione di un oggetto (nel caso specifico delle ''Label'') mediante l'uso di un array. |[[#Note|1]]|
+
Verranno mostrati alcuni esempi per la creazione di oggetti mediante l'uso di un array. |[[#Note|1]]|
  
  
<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()
+
==Semplice codice basilare per la creazione di un array del tipo di un oggetto==
 +
Uso del metodo ''.Add'' con una variabile array del medesimo tipo dell'oggetto che sarà ivi contenuto:
 +
  '''Public''' Sub Form_Open()
 
   
 
   
 
   Dim bt As Button
 
   Dim bt As Button
Riga 25: Riga 27:
 
   Next
 
   Next
 
   
 
   
  End
+
  '''End'''
  
  
  
Nei due esempi che seguono, verrà creato un array indefinito di oggetti. Per fare ciò sarà necessario l'uso del metodo ''.add'' con una variabile array di tipo "''oggetto''".
+
==Creazione di un array indefinito di oggetti==
 
+
===Creare un array indefinito di oggetti mediante l'uso del metodo ''.add'' con una variabile array di tipo "''oggetto''" e con specificazione dell'elemento dell'array nel quale inserire l'oggetto medesimo===
<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()
 
   
 
   
Riga 54: Riga 55:
 
      
 
      
 
  <Font Color= #006400>' ''Viene incrementata la variabile relativa alla cella dell'array di indice 0:''</font>
 
  <Font Color= #006400>' ''Viene incrementata la variabile relativa alla cella dell'array di indice 0:''</font>
Inc i
+
  Inc i
 
   
 
   
 
  '''End'''
 
  '''End'''
Riga 60: Riga 61:
  
  
<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:
+
===Uso del metodo ''.Add'' con una variabile array di tipo "''oggetto''" e senza specificazione dell'elemento dell'array nel quale inserire l'oggetto medesimo===
  Private obja As New Object[]   
+
  '''Private''' obja As New Object[]   
  Private k As Integer   
+
  '''Private''' k As Integer   
  Private j As Byte   
+
  '''Private''' j As Byte
 +
   
 
   
 
   
 
  '''Public''' Sub Button1_Click()
 
  '''Public''' Sub Button1_Click()
 
   
 
   
Dim fo As Form   
+
  Dim fo As Form   
Dim box As New Form   
+
  Dim box As New Form   
 
        
 
        
 
  <Font Color= #006400>' ''istanzio un Form:''</font>
 
  <Font Color= #006400>' ''istanzio un Form:''</font>
Riga 100: Riga 102:
  
  
<FONT color=B22222>'''4'''</font> - In questo quarto esempio si eviterà l'uso della variabile di tipo "''oggetto''" e del relativo metodo ''.add'', ponendo un array di dimensioni <SPAN style="text-decoration:underline">definite</span>:
+
==Creare un array senza uso della variabile di tipo "''oggetto''" e del relativo metodo ''.add'', ponendo 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
  Private b As Integer
+
  '''Private''' b As Integer
 +
 
   
 
   
  Public Sub Button1_Click()  <Font Color= #006400>' ''Crea una Label ogni qualvolta viene premuto Button1''</font>
+
  '''Public''' Sub Button1_Click()  <Font Color= #006400>' ''Crea una Label ogni qualvolta viene premuto Button1''</font>
 
   
 
   
Dim c, d As Integer
+
  Dim c, d As Integer
 
    
 
    
b += 50
+
  b += 50
 
   
 
   
 
  <FONT color=006400>' ''La sintassi "New Label(Me)" istruisce l'interprete''
 
  <FONT color=006400>' ''La sintassi "New Label(Me)" istruisce l'interprete''

Versione delle 18:17, 13 ott 2012

Verranno mostrati alcuni esempi per la creazione di oggetti mediante l'uso di un array. |1|


Semplice codice basilare per la creazione di un array del tipo di un oggetto

Uso del metodo .Add con una variabile array del medesimo tipo dell'oggetto che sarà ivi 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


Creazione di un array indefinito di oggetti

Creare un array indefinito di oggetti mediante l'uso del metodo .add con una variabile array di tipo "oggetto" e con specificazione dell'elemento dell'array nel quale inserire l'oggetto medesimo

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


Uso del metodo .Add con una variabile array di tipo "oggetto" e senza specificazione dell'elemento dell'array nel quale inserire l'oggetto medesimo

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


Creare un array senza uso della variabile di tipo "oggetto" e del relativo metodo .add, ponendo 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.