Differenze tra le versioni di "Richiamare un Metodo o una Proprietà della Classe di un Oggetto inserito in una Collection"

Da Gambas-it.org - Wikipedia.
(Creata pagina con "Per richiamare ed utilizzare un Metodo o una Proprietà della Classe di un Oggetto, la cui variabile è inserita in una Collection, si potranno utilizzare almeno due modalità...")
 
Riga 11: Riga 11:
 
  Public Sub Form_Open()
 
  Public Sub Form_Open()
 
   
 
   
   Dim CollezioneForm As New Collection
+
   Dim cl As New Collection
 
   
 
   
 
   With Form_1 = New Form
 
   With Form_1 = New Form
Riga 21: Riga 21:
 
   End With
 
   End With
 
   
 
   
   With CollezioneForm
+
   With cl
 
     .Add(Form_1, "chiave_Form_1")
 
     .Add(Form_1, "chiave_Form_1")
 
     .Add(Form_2, "chiave_Form_2")
 
     .Add(Form_2, "chiave_Form_2")
Riga 29: Riga 29:
 
  <FONT color=gray>' ''Richiama il metodo ''.Show()'' del "Form" per farlo aprire.''
 
  <FONT color=gray>' ''Richiama il metodo ''.Show()'' del "Form" per farlo aprire.''
 
  ' ''Se il Metodo possiede anche uno o più parametri, saranno specificati anche i valori da passare.''</font>
 
  ' ''Se il Metodo possiede anche uno o più parametri, saranno specificati anche i valori da passare.''</font>
   CollezioneForm["chiave_Form_1"]<FONT color=B22222>.Show()</font>
+
   cl["chiave_Form_1"]<FONT color=B22222>.Show()</font>
 
   
 
   
 
   <FONT color=gray>' ''Analogamente per richiamare una Proprietà, assegnandole un valore:''</font>
 
   <FONT color=gray>' ''Analogamente per richiamare una Proprietà, assegnandole un valore:''</font>
Riga 40: Riga 40:
 
In quest'altro esempio si utilizzerà il Metodo "Object.Call()", per richiamare un Metodo della Classe dell'Oggetto considerato, nonché il Metodo "Object.SetProperty()" per assegnare un valore a una Proprietà dell'Oggetto.
 
In quest'altro esempio si utilizzerà il Metodo "Object.Call()", per richiamare un Metodo della Classe dell'Oggetto considerato, nonché il Metodo "Object.SetProperty()" per assegnare un valore a una Proprietà dell'Oggetto.
 
<BR>Questa modalità risulta utile soprattutto se i ''Form'' secondari sono stati creati dall'IDE di Gambas e non da codice, come invece nella modalità precedente.
 
<BR>Questa modalità risulta utile soprattutto se i ''Form'' secondari sono stati creati dall'IDE di Gambas e non da codice, come invece nella modalità precedente.
  Private CollezioneForm As New Collection
+
  Private cl As New Collection
 
   
 
   
 
   
 
   
 
  Public Sub Form_Open()
 
  Public Sub Form_Open()
 
   
 
   
   With CollezioneForm
+
   With cl
 
     .Add(Form1, "chiave_Form1")
 
     .Add(Form1, "chiave_Form1")
 
     .Add(Form2, "chiave_Form2")
 
     .Add(Form2, "chiave_Form2")
Riga 58: Riga 58:
 
  <FONT color=gray>' ''Richiama il metodo ".Show()" del "Form" per farlo aprire:''
 
  <FONT color=gray>' ''Richiama il metodo ".Show()" del "Form" per farlo aprire:''
 
  ' ''Se il Metodo possiede anche uno o più parametri, saranno specificati anche i valori da passare.''</font>
 
  ' ''Se il Metodo possiede anche uno o più parametri, saranno specificati anche i valori da passare.''</font>
   <FONT color=B22222>Object.Call</font>(CollezioneForm["chiave_Form1"], "Show", Null)
+
   <FONT color=B22222>Object.Call</font>(cl["chiave_Form1"], "Show", Null)
 
   
 
   
 
   <FONT color=gray>' ''Richiama la Proprietà ".Background" del "Form" e le assegna un valore:''
 
   <FONT color=gray>' ''Richiama la Proprietà ".Background" del "Form" e le assegna un valore:''
   <FONT color=B22222>Object.SetProperty</font>(Form1, "Background", Color.Green)
+
   <FONT color=B22222>Object.SetProperty</font>(cl["chiave_Form1"], "Background", Color.Green)
 
   
 
   
 
  End
 
  End

Versione delle 04:33, 14 dic 2023

Per richiamare ed utilizzare un Metodo o una Proprietà della Classe di un Oggetto, la cui variabile è inserita in una Collection, si potranno utilizzare almeno due modalità.


1a modalità

Facciamo l'esempio in cui, oltre al Form principale, l'applicazione possiede anche tre Form secondari, le cui variabili sono poste in una Collection. Si intende, usando la Collection, richiamare il Metodo ".Show()" della Classe Form per aprire il primo dei Form secondari, a una Proprietà del quale si attribuirà anche un valore.

Public Form_1 As New Form
Public Form_2 As New Form
Public Form_3 As New Form


Public Sub Form_Open()

 Dim cl As New Collection

 With Form_1 = New Form
   .W = 100
   .H = 100
   .x = 100
   .Y = 100
   .Title = "Testo qualsiasi Form_1"
 End With

 With cl
   .Add(Form_1, "chiave_Form_1")
   .Add(Form_2, "chiave_Form_2")
   .Add(Form_3, "chiave_Form_3")
 End With

' Richiama il metodo .Show() del "Form" per farlo aprire.
' Se il Metodo possiede anche uno o più parametri, saranno specificati anche i valori da passare.
 cl["chiave_Form_1"].Show()

 ' Analogamente per richiamare una Proprietà, assegnandole un valore:
 cl["chiave_Form_1"].Background = Color.Green

End


2a modalità

In quest'altro esempio si utilizzerà il Metodo "Object.Call()", per richiamare un Metodo della Classe dell'Oggetto considerato, nonché il Metodo "Object.SetProperty()" per assegnare un valore a una Proprietà dell'Oggetto.
Questa modalità risulta utile soprattutto se i Form secondari sono stati creati dall'IDE di Gambas e non da codice, come invece nella modalità precedente.

Private cl As New Collection


Public Sub Form_Open()

 With cl
   .Add(Form1, "chiave_Form1")
   .Add(Form2, "chiave_Form2")
   .Add(Form3, "chiave_Form3")
 End With

End


Public Sub Button1_Click()

' Richiama il metodo ".Show()" del "Form" per farlo aprire:
' Se il Metodo possiede anche uno o più parametri, saranno specificati anche i valori da passare.
 Object.Call(cl["chiave_Form1"], "Show", Null)

 ' Richiama la Proprietà ".Background" del "Form" e le assegna un valore:
 Object.SetProperty(cl["chiave_Form1"], "Background", Color.Green)

End