Differenze tra le versioni di "Conoscere le risorse possedute da una Classe"
Riga 45: | Riga 45: | ||
La Classe "Class" possiede una Classe virtuale, chiamata "''.Symbol''", che fornisce alcune Proprietà sui simboli della Classe principale. | La Classe "Class" possiede una Classe virtuale, chiamata "''.Symbol''", che fornisce alcune Proprietà sui simboli della Classe principale. | ||
− | Per disporre di tali Proprietà | + | Per disporre di tali Proprietà bisognerà porre il nome della Classe da caricare tra due parentesi quadre: |
'''Public''' Sub Form_Open() | '''Public''' Sub Form_Open() | ||
Riga 53: | Riga 53: | ||
Print <FONT Color=#B22222>cl[</font>"RGB"<FONT Color=#B22222>].Type</font> | Print <FONT Color=#B22222>cl[</font>"RGB"<FONT Color=#B22222>].Type</font> | ||
+ | |||
+ | '''End''' | ||
+ | Di seguito un esempio più completo, nel quale vengono esclusi gli eventuali ''Metodi'' della Classe: | ||
+ | '''Public''' Sub Form_Open() | ||
+ | |||
+ | Dim cl As Class | ||
+ | Dim s As String | ||
+ | |||
+ | cl = Class.Load("Color") | ||
+ | |||
+ | For Each s In cl.Symbols | ||
+ | If cl[s].Kind = Class.Method Then Continue | ||
+ | Print Hex(Object.GetProperty(cl, s), 8), s | ||
+ | Wait 0.3 | ||
+ | Next | ||
+ | |||
+ | Me.Close | ||
'''End''' | '''End''' |
Versione delle 07:00, 29 ago 2019
Per conoscere tutti i simboli relativi alle risorse (Proprietà, Metodi e Eventi), che una Classe mette a disposizione del programmatore, si può utilizzare il seguente codice con la Classe Class.
Poniamo il caso di voler conoscere i simboli posseduti dalla Classe Button:
Public Sub Form_Open() Dim s As String For Each s In Class.Load("Button").Symbols Print s Next End
Ugualmente è possibile conoscere i simboli delle risorse possedute da una classe specifica da noi creata, purché tali risorse siano dichiarate Pubbliche.
Poniamo il caso di aver creato nel nostro progetto una specifica classe, chiamata Class1, e che il suo codice sia il seguente:
Public alfa As Integer Event Evento() ' La risorsa Event è di per sé "Pubblica" Public Procedure Prova() Print "Testo qualsiasi" End
Ebbene, il codice della Classe principale per conoscere i simboli delle risorse della Classe secondaria Class1 sarà semplicemente:
Public Sub Form_Open() Dim cl As New Class1 ' Dichiariamo la variabile della Classe secondaria "Class1", anche se ai fini dell'argomento di questa pagina non è necessario Dim s As String For Each s In Class.Load("Class1").Symbols Print s Next End
Le proprietà della classe virtuale ".Symbol"
La Classe "Class" possiede una Classe virtuale, chiamata ".Symbol", che fornisce alcune Proprietà sui simboli della Classe principale.
Per disporre di tali Proprietà bisognerà porre il nome della Classe da caricare tra due parentesi quadre:
Public Sub Form_Open() Dim cl As Class cl = Class.Load("Color") Print cl["RGB"].Type End
Di seguito un esempio più completo, nel quale vengono esclusi gli eventuali Metodi della Classe:
Public Sub Form_Open() Dim cl As Class Dim s As String cl = Class.Load("Color") For Each s In cl.Symbols If cl[s].Kind = Class.Method Then Continue Print Hex(Object.GetProperty(cl, s), 8), s Wait 0.3 Next Me.Close End