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:
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 19: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.