Variabile del tipo di una Classe specifica creata
Come è noto, è possibile creare, cliccando con il tasto destro del mouse nella parte sinistra dell'IDE di Gambas su "FMain --> Nuovo--> Classe...", una particolare Classe, fornita di Proprietà, Metodi ed Eventi. [nota 1]
Come per ogni Classe, anche la Classe specifica, da noi creata, può essere gestita soltanto attraverso sue Istanze (Oggetti), sotto forma di variabili individuate con un proprio nome identificatore, appositamente create con la parola-chiave "NEW".
Indice
Variabili del tipo della Classe specifica creata
La variabile per gestire le risorse (Proprietà, Metodi, Eventi, Variabili e Costanti) di una Classe particolare, da noi creata, deve essere del tipo di detta Classe particolare.
Essa andrà "dichiarata" formalmente e quindi creata con la parola-chiave "NEW".
Nell'esempio in ambiente grafico, che segue, dobbiamo aver creato una Classe specifica attribuendo a essa il nome identificatore "Clcreata.class ".
Tale Classe secondaria specifica avrà - ad esempio - una variabile pubblica di tipo Byte, una variabile pubblica di tipo Integer, una variabile pubblica di tipo String e una variabile pubblica di tipo Button:
Public b As Byte Public i As Integer Public s As String Public bt As Button
Nella Classe principale FMain.class, invece, inseriremo il seguente codice per gestire la Classe specifica da noi creata:
' Dichiara formalmente la variabile del tipo della Classe specifica: Private cl As Clcreata Public Sub Button1_Click() ' Crea un istanza (Oggetto) del tipo della Classe specifica, attribuendole il nome identificatore "cl": cl = New Clcreata ' Sono altresì in questo caso assegnati alcuni valori alle variabili pubbliche della Classe specifica: With cl .b = 1 .i = 10011001 .s = "prova" & CStr(.b) End With ' Gestiamo ora la variabile di tipo "Button", presente nella Classe specifica, creandone un paio e assegnandoli a un unico Gruppo di Eventi: With cl.bt = New Button(Me) As "Butt" .X = 10 .Y = 10 .W = 100 .H = 100 .Text = "Button1" End With With cl.bt = New Button(Me) As "Butt" .X = 200 .Y = 10 .W = 100 .H = 100 .Text = "Button2" End With End Public Sub Butt_Click() Print Last.Text With cl Print .b Print .i Print .s End With Print End
Utilizzare una Classe particolare con una variabile di tipo Variant
Possiamo caricare anche in una variabile di tipo Variant le Proprietà e gli elementi che costituiscono la nostra Classe particolare creata:
Public Sub Button1_Click() Dim va As Variant With va = New Clcreata .b = 19 .i = 190000 .s = "prova " & CStr(.b) End With With va Print .b Print .i Print .s End With End
Uso di una variabile del tipo della Classe particolare e di una variabile di tipo Variant
Public Sub Button1_Click() Dim cl As Clcreata Dim va As Variant With cl = New Clcreata .b = 1 .i = 1001 .s = "prova " & CStr(.b) End With ' Assegniamo la variabile del tipo della Classe specifica alla variabile di tipo "Variant": va = cl With va Print .b Print .i Print .s End With End
Variabile array di tipo di una Classe creata
Possiamo gestire le proprietà di una particolare Classe, da noi creata, anche mediante una variabile array.
Nella Classe principale "FMain.Class" andiamo ad utilizzare la Classe particolare da noi creata, semplicemente creandone una variabile array e caricando i valori negli elementi di tale variabile array:
' Dichiara una variabile array di tipo classe "Clval": Private ccll As Clcreata[] Public Sub Form_Open() ' Istanzia la variabile array "ccll" del tipo della Classe "Clval": ccll = New Clcreata[100] For b As Byte = 0 To 99 ' Assegna i valori ai campi della variabile di tipo classe "Clval": With ccll[b] = New Clcreata .b = b .i = 100000 + CInt(b) .s = "prova " & Str(b) End With Next End Public Sub Button1_Click() ' Mostra in console i risultati: For b As Byte = 0 To ccll.Max With ccll[b] Print .b Print .i Print .s End With Next End
Note
[1] Al riguardo vedere la seguente pagina: Creare da codice una Classe specifica