Differenze tra le versioni di "Richiamare e gestire più oggetti assegnati a variabili con medesimo identificatore"
(6 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