Differenze tra le versioni di "Passare ad un Form un valore diverso da un Intero alla chiusura di un Form secondario"

Da Gambas-it.org - Wikipedia.
Riga 1: Riga 1:
Nel caso si debba passare ad un ''Form'' principale un valore ''diverso'' da un Intero all'atto della chiusura di un ''Form'' secondario, potrà essere utile l'indicazione del seguente esempio.  <SUP>&#091;[[#Note|nota 1]]&#093;</sup> <SUP>&#091;[[#Note|nota 2]]|&#093;</sup>
+
Nel caso si debba passare ad un ''Form'' principale un valore ''diverso'' da un Intero all'atto della chiusura di un ''Form'' secondario, potrà essere utile l'indicazione di almeno un paio di esempi.  <SUP>&#091;[[#Note|nota 1]]&#093;</sup> <SUP>&#091;[[#Note|nota 2]]|&#093;</sup>
  
Nel Form principale abbiamo un Button ed il codice:
+
===1° esempio===
 +
Nel ''Form'' principale abbiamo un ''Button'' ed il codice:
 
  Public Sub Button1_Click()   
 
  Public Sub Button1_Click()   
 
    
 
    
Riga 11: Riga 12:
 
   f = New Form1(s)   
 
   f = New Form1(s)   
 
    
 
    
  <FONT color=gray>' ''Un eventuale valore intero ritornato dal metodo ".ShowModal" in questo caso non è fondamentale:''</font>
+
  <FONT color=gray>' ''Un eventuale valore intero ritornato dal Metodo ".ShowModal()" in questo caso non è fondamentale:''</font>
   f.<FONT color=#B22222>ShowModal()</font>   
+
   f.<FONT color=red>ShowModal()</font>   
 
    
 
    
 
   Print "s = "; s[1]   
 
   Print "s = "; s[1]   
 
    
 
    
 
  End
 
  End
 
 
 
Mentre nel ''Form'' secondario (che chiamiamo ad esempio: ''Form1'') abbiamo un ''Button'' ed il seguente codice:
 
Mentre nel ''Form'' secondario (che chiamiamo ad esempio: ''Form1'') abbiamo un ''Button'' ed il seguente codice:
 
  Private ps As String[]   
 
  Private ps As String[]   
Riga 37: Riga 36:
 
   
 
   
 
  End
 
  End
 +
 +
 +
===2° esempio===
 +
Nel ''Form'' principale abbiamo un ''Button'' ed il codice:
 +
Public Sub Button1_Click() 
 +
 +
  Dim f As Form1 
 +
  Dim s As New String[] 
 +
 +
  s.Push("Testo qualsiasi") 
 +
 +
  f = New Form1(s) 
 +
 +
<FONT color=gray>' ''Un eventuale valore intero ritornato dal Metodo ".ShowModal()" in questo caso non è fondamentale:''</font>
 +
  f.ShowModal() 
 +
 +
  Print "s = "; s[0] 
 +
 +
End
 +
Mentre nel ''Form'' secondario (che chiamiamo ad esempio: ''Form1'') abbiamo un ''Button'' ed il seguente codice:
 +
Private ps As New String[] 
 +
 
 +
 +
Public Sub _new(s As String[]) 
 +
 +
  ps = ps.Insert(s)
 +
 +
End
 +
 +
 +
Public Sub Button1_Click() 
 +
 +
  Me.Close() 
 +
 +
End
 +
  
  

Versione delle 05:11, 22 lug 2024

Nel caso si debba passare ad un Form principale un valore diverso da un Intero all'atto della chiusura di un Form secondario, potrà essere utile l'indicazione di almeno un paio di esempi. [nota 1] [nota 2|]

1° esempio

Nel Form principale abbiamo un Button ed il codice:

Public Sub Button1_Click()  
 
 Dim f As Form1  
 Dim s As New String[]  
 
 s.Push("Testo qualsiasi")  
 
 f = New Form1(s)  
 
' Un eventuale valore intero ritornato dal Metodo ".ShowModal()" in questo caso non è fondamentale:
 f.ShowModal()  
 
 Print "s = "; s[1]  
 
End

Mentre nel Form secondario (che chiamiamo ad esempio: Form1) abbiamo un Button ed il seguente codice:

Private ps As String[]  
     
     
Public Sub _new(s As String[])  

 ps = s  

End


Public Sub Button1_Click()  

 ps.Add(ps[0] & " stringa aggiunta")  

 Me.Close()  

End


2° esempio

Nel Form principale abbiamo un Button ed il codice:

Public Sub Button1_Click()  

 Dim f As Form1  
 Dim s As New String[]  

 s.Push("Testo qualsiasi")  

 f = New Form1(s)  

' Un eventuale valore intero ritornato dal Metodo ".ShowModal()" in questo caso non è fondamentale:
 f.ShowModal()  

 Print "s = "; s[0]  

End

Mentre nel Form secondario (che chiamiamo ad esempio: Form1) abbiamo un Button ed il seguente codice:

Private ps As New String[]  
 

Public Sub _new(s As String[])  

 ps = ps.Insert(s)

End


Public Sub Button1_Click()  

 Me.Close()  

End



Note

[1] Riprendiamo il codice da questa discussione del forum: http://www.gambas-it.org/smf/index.php?topic=1312

[2] In realtà la modalità, descritta in questa pagina, va bene anche per tipi di valori numerali (come ad esempio l'Intero).