Differenze tra le versioni di "Richiamare e gestire più oggetti assegnati a variabili con medesimo identificatore"
(Creata pagina con 'Tal volta, creando da codice più oggetti, si sente la necessità, ai fini della loro gestione, di poter aggiungere al nome di ciascuna variabile, che si riferisce a quegli og...') |
|||
(7 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 1: | Riga 1: | ||
− | + | Usando un ciclo per creare più Oggetti, è possibile attribuire a essi il medesimo identificatore di variabile. | |
− | |||
− | |||
− | Nell'esempio che segue, saranno creati sul Form cinque ''Button'', che verranno assegnati a cinque variabili del medesimo tipo ed aventi medesima denominazione (''identificatore''). Le cinque variabili saranno assegnate ad una variabile vettore (array) | + | Di seguito mostriamo due modalità per richiamare e gestire nel prosieguo del codice glli Oggetti creati come sopra descritto. |
− | + | ||
− | + | ||
+ | ===Assegnando gli Oggetti a un vettore del loro medesimo tipo=== | ||
+ | Affinché nel codice i suddetti Oggetti possano essere richiamati e gestiti, si potrà assegnare ciascuno di essi a un elemento di un vettore del medesimo tipo di dato. | ||
+ | <BR>In tal modo, pur non potendo via codice aggiungere all'identificatore di ciascuna variabile un numero progressivo, si utilizzerà - come alternativa - la progressività numerica del vettore. | ||
+ | |||
+ | Nell'esempio che segue, saranno creati sul Form cinque ''Button'', che verranno assegnati a cinque variabili del medesimo tipo ed aventi medesima denominazione (''identificatore''). Le cinque variabili saranno assegnate ad una variabile vettore (array) di tipo "Button[]". Ciascuna variabile così avrà come riferimento un indice del vettore. Ciascun ''Button'' potrà così essere gestito indirettamente: attraverso il vettore al quale è stato assegnato. In particolare, ogni variabile di tipo ''Button'' sarà individuata sulla base dell'<I>indice</i> dell'elemento che la contiene. | ||
+ | Private vettBt As New Button[] | ||
Riga 11: | Riga 15: | ||
Dim j As Byte | Dim j As Byte | ||
+ | Dim bt As Button | ||
− | + | For j = 0 To 4 | |
− | With bt = New Button(Me) As " | + | With bt = New Button(Me) As "Butt" |
.W = 30 | .W = 30 | ||
.H = 20 | .H = 20 | ||
Riga 19: | Riga 24: | ||
.Y = 50 | .Y = 50 | ||
End With | End With | ||
− | <FONT color= | + | <FONT color=gray>' ''Dopo aver creato il "Button", la rispettiva variabile viene assegnata ad un vettore di tipo "Button[]":''</font> |
− | + | <FONT color=#B22222>vettBt</font>.Push(bt) | |
− | vettBt. | + | Next |
− | |||
'''End''' | '''End''' | ||
− | + | '''Public''' Sub Butt_Click() | |
− | '''Public''' Sub | ||
Dim b As Byte | Dim b As Byte | ||
<FONT color=#006400>' ''Scegliamo il numero di "indice" dell'array:''</font> | <FONT color=#006400>' ''Scegliamo il numero di "indice" dell'array:''</font> | ||
− | + | b = Val(InputBox("Immetti un numero da 0 a 4:")) | |
− | <FONT color=#006400>' ''Così abbiamo la possibilità di individuare la variabile del "Button" | + | <FONT color=#006400>' ''Così abbiamo la possibilità di individuare la variabile del "Button" in base ad un numero comunque progressivo, e quindi gestire l'Oggetto:''</font> |
− | + | <FONT color=#B22222>vettBt['''b''']</font>.Delete | |
− | + | ||
+ | '''End''' | ||
+ | |||
+ | |||
+ | ===Usando l'Istruzione "Last"=== | ||
+ | Più semplicemente si potrà impegnare l'istruzione '''Last''', evitando così l'uso di un vettore. | ||
+ | '''Public''' Sub Form_Open() | ||
+ | |||
+ | Dim b As Byte | ||
+ | Dim bt As Button | ||
+ | |||
+ | For b = 0 To 4 | ||
+ | With bt = New Button(Me) As "Butt" | ||
+ | .W = 30 | ||
+ | .H = 20 | ||
+ | .X = 50 * b | ||
+ | .Y = 50 | ||
+ | End With | ||
+ | Next | ||
+ | |||
+ | '''End''' | ||
+ | |||
+ | '''Public''' Sub Butt_Click() | ||
+ | |||
+ | <FONT color=#B22222>Last</font>.Delete | ||
'''End''' | '''End''' |
Versione attuale delle 19:04, 2 ott 2022
Usando un ciclo per creare più Oggetti, è possibile attribuire a essi il medesimo identificatore di variabile.
Di seguito mostriamo due modalità per richiamare e gestire nel prosieguo del codice glli Oggetti creati come sopra descritto.
Assegnando gli Oggetti a un vettore del loro medesimo tipo
Affinché nel codice i suddetti Oggetti possano essere richiamati e gestiti, si potrà assegnare ciascuno di essi a un elemento di un vettore del medesimo tipo di dato.
In tal modo, pur non potendo via codice aggiungere all'identificatore di ciascuna variabile un numero progressivo, si utilizzerà - come alternativa - la progressività numerica del vettore.
Nell'esempio che segue, saranno creati sul Form cinque Button, che verranno assegnati a cinque variabili del medesimo tipo ed aventi medesima denominazione (identificatore). Le cinque variabili saranno assegnate ad una variabile vettore (array) di tipo "Button[]". Ciascuna variabile così avrà come riferimento un indice del vettore. Ciascun Button potrà così essere gestito indirettamente: attraverso il vettore al quale è stato assegnato. In particolare, ogni variabile di tipo Button sarà individuata sulla base dell'indice dell'elemento che la contiene.
Private vettBt As New Button[] Public Sub Form_Open() Dim j As Byte Dim bt As Button For j = 0 To 4 With bt = New Button(Me) As "Butt" .W = 30 .H = 20 .X = 50 * j .Y = 50 End With ' Dopo aver creato il "Button", la rispettiva variabile viene assegnata ad un vettore di tipo "Button[]": vettBt.Push(bt) Next End Public Sub Butt_Click() Dim b As Byte ' Scegliamo il numero di "indice" dell'array: b = Val(InputBox("Immetti un numero da 0 a 4:")) ' Così abbiamo la possibilità di individuare la variabile del "Button" in base ad un numero comunque progressivo, e quindi gestire l'Oggetto: vettBt[b].Delete End
Usando l'Istruzione "Last"
Più semplicemente si potrà impegnare l'istruzione Last, evitando così l'uso di un vettore.
Public Sub Form_Open() Dim b As Byte Dim bt As Button For b = 0 To 4 With bt = New Button(Me) As "Butt" .W = 30 .H = 20 .X = 50 * b .Y = 50 End With Next End Public Sub Butt_Click() Last.Delete End