
'codice concettuale
'array di variabili
dim nome as string
dim cognome as string
dim eta as integer
persona [nome, cognome, eta] 'questa sarebbe l'array di variabili pronto a ricevere i dati
'quello che vorrei è che con un'istruzione di questo tipo:
persona = array("mario", "rossi", 35)
'mi ritrovassi i valori dell'array rispettivamente nelle variabili
'nome, cognome, eta
'senza dover passare da qualcosa tipo:
nome = persona(0)
cognome = persona(1)
eta = persona(2) |
| scossa's web site |
| Se tu hai una mela, ed io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw) |
'definisco la struttura o variabile di tipo Persona
Public Type Persona
nome As String
cognome As String
eta As Integer
End Type
'dichiaro la variabile Persona1
Public persona1 As Persona
'creo la sub di assegnazione
Public Sub FILL_PERS(ByRef PERS As Persona, nom, cog, eta)
With PERS: .nome = nom: .cognome = cog: .eta = eta: End With
End Sub
'nel codice scrivo solo:
Call FILL_PERS(persona1, "mario", "rossi", 36)
|
| scossa's web site |
| Se tu hai una mela, ed io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw) |
' in un modulo standard
Option Explicit
Private Type tyPersona
Nome As String
Cognome As String
Eta As Byte
End Type
Private Function FeedPersona(sNome As String, sCognome As String, nEta As Byte) As tyPersona
Dim uPersona As tyPersona
With uPersona
.Nome = sNome
.Cognome = sCognome
.Eta = nEta
End With
FeedPersona = uPersona
End Function
Sub prova()
Dim Persona As tyPersona
Persona = FeedPersona("mario", "Rossi", 35)
Debug.Print Persona.Nome & " " & Persona.Cognome & " (anni " & Persona.Eta & ")"
End Sub
Sub prova2()
Dim Persona(1 To 3) As tyPersona
Dim j As Long
Persona(1) = FeedPersona("Mario", "Rossi", 35)
Persona(2) = FeedPersona("Pippo", "Bianchi", 46)
Persona(3) = FeedPersona("Luigi", "Verdi", 72)
For j = 1 To 3
Debug.Print Persona(j).Nome & " " & Persona(j).Cognome & " (anni " & Persona(j).Eta & ")"
Next
Erase Persona
End Sub
|
'nelle variabili dichiaro una persona 'dalle mie prove credo abbia tutti i suoi valori nulli Public Persona_vuota As tyPersona 'così in qualunque momento voglia cancellare tutti i dati 'contenuti all'interno della variable UDT "Persona", utilizzo Persona = Persona_vuota |
| scossa's web site |
| Se tu hai una mela, ed io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw) |
