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.
 
(4 versioni intermedie di uno stesso utente non sono mostrate)
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.  |[[#Note|Nota 1]]| |[[#Note|Nota 2]]|
+
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 Form principale abbiamo un Button ed il codice:
 
Nel Form principale abbiamo un Button ed il codice:
  '''Public''' Sub Button1_Click()   
+
  Public Sub Button1_Click()   
 
    
 
    
 
   Dim f As Form1   
 
   Dim f As Form1   
 
   Dim s As New String[]   
 
   Dim s As New String[]   
 
    
 
    
  s.Add("Testo qualsiasi")   
+
  s.Push("Testo qualsiasi")   
 
    
 
    
  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.ShowModal()   
+
  f.<FONT color=#B22222>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[]   
 
        
 
        
 
        
 
        
  '''Public''' Sub _new(s As String[])   
+
  Public Sub _new(s As String[])   
     
+
    ps = s   
+
  ps = s   
     
+
  '''End'''
+
  End
     
+
     
+
  '''Public''' Sub Button1_Click()   
+
  Public Sub Button1_Click()   
     
+
    ps.Add(ps[0] & " stringa aggiunta")   
+
  ps.Add(ps[0] & " stringa aggiunta")   
     
+
    Me.Close()   
+
  Me.Close()   
     
+
  '''End'''
+
  End
  
  

Versione attuale delle 15:51, 25 giu 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 del seguente esempio. [nota 1] [nota 2|]

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


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).