Autore Topic: [RISOLTO] Passaggio dati tra due Form  (Letto 9084 volte)

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
[RISOLTO] Passaggio dati tra due Form
« il: 20 Dicembre 2014, 18:52:29 »
Buonasera a tutti,
scusate se apro una discussione già trattata e ritrattata in varie forme, ma di tutte quelle che ho letto sul Forum
nessuna mi ha illuminato (salvo non aver capito come applicarla, in tal caso chiedo anticipatamente scusa) riguardo
una funzione "stupida" di passaggio dati tra due Form come quella che voglio ottenere io, ed essendomi a forza di provare
e riprovare incartato, chiedo un vostro aiuto.
Vi allego due esempi che vi fanno capire in modo eplicito quello che voglio ottenere.
L' esempio 1 funziona perfettamente (serve solo come spiegazione), a me serve implementare l'esempio 2 che non sono riuscito a far funzionare.

« Ultima modifica: 21 Dicembre 2014, 00:05:53 da tornu »
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.723
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Passaggio dati tra due Form
« Risposta #1 il: 20 Dicembre 2014, 20:50:18 »
1) Nell'uso di funzioni da richiamare fra Classi e Moduli è opportuno attribuire un nome privo di trattino in basso.

Pertanto nella Classe Form2.class bisognerà modificare la funzione passdati() come segue:
Codice: gambas [Seleziona]
Private Sub passdati(string1 As String, string2 As String)

  Form1.PassaDati(string1, string2)
 
End


così, nella Classe Form1.class la funzione passa_dati() assumerà il nome: PassaDati()


2) nella funzione PassaDati() della Classe Form1.class il Form1 va richiamato attraverso la sua variabile di tipo Form1, dichiarata e creata nella Classe principale. La proprietà .Text del TextBox va utilizzata ripercorrendo l'intera gerarchia.
Pertanto questa funzione sarà così modificata:
Codice: gambas [Seleziona]
Public Sub PassaDati(dato1 As String, dato2 As String)
 
  FMain.Frm1.TextBox1.Text = dato1
  FMain.Frm1.TextBox2.Text = dato2

End



3) La dichiarazione della variabile di tipo Form1 va posta come Globale e Pubblica:
Codice: gambas [Seleziona]
Public Frm1 As Form1
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Passaggio dati tra due Form
« Risposta #2 il: 20 Dicembre 2014, 22:53:02 »
scusate se apro una discussione già trattata e ritrattata in varie forme.......

Vi allego due esempi che vi fanno capire in modo eplicito quello che voglio ottenere.
L' esempio 1 funziona perfettamente (serve solo come spiegazione), a me serve implementare l'esempio 2 che non sono riuscito a far funzionare.

Il passaggio di dati fra due Form funziona sia in fase di chiamata del nuovo Form, sia al rientro da esso. Occorre però compilare la tabella dei parametri da passare. Il metodo è ampiamente dettagliato qui.

Ho guardato il tuo Esempio2 ed ho notato che usi solo in parte il metodo spiegato nel suindicato link. Secondo me, riguardandolo, dovresti risolvere.
 :ciao:
:ciao:

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re: Passaggio dati tra due Form
« Risposta #3 il: 21 Dicembre 2014, 00:05:07 »
Ho guardato il tuo Esempio2 ed ho notato che usi solo in parte il metodo spiegato nel suindicato link. Secondo me, riguardandolo, dovresti risolvere.
 :ciao:
Come ho premesso nel post di apertura sicuramente nel leggere i vari messaggi a riguardo, compreso quello che tu mi hai
indicato qualche passaggio mi è sfuggito o non ho ben compreso. Comunque con le indicazioni di vuott ho risolto.
Grazie
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re: [RISOLTO] Passaggio dati tra due Form
« Risposta #4 il: 24 Dicembre 2014, 18:00:32 »
Ciao Tornu,
guardando un po al passato ho constatato che non è la prima volta che ti “picchi” con questi concetti. Questo mi ha permesso di comprendere che anche io non capivo. :)

Ho fatto un paio di esperimenti che sottopongo a te e a tutti gli uomini e donne di buona volontà per avere dei pareri così se vorrete potrete evitarci delle brutte figure con la stesura del libro.

Sembra proprio che le finestre siano delle classi speciali, infatti puoi aggiungere delle proprietà senza il bisogno di ereditarle. Anzi pare proprio che non si debbano ereditare.

Posto e allego due esempi, il secondo prende spunto da quanto suggerito da vuott, il primo ricorre come detto alle proprietà.

In tutti e due gli esempi occorre creare due finestre la FMain con due label riquadrate e testo centrale rinominate rispettivamente lblNome e lblCognome e un pulsante non rinominato (Button1).
La seconda finestra rinominata Form2 con due TextBox (1 e 2) e un Pulsante (Button1).

Questo il codice del primo esempio (per i principianti rammento che non bisogna cancellare questa scritta dal modulo di classe: ' Gambas class file):

Codice Finestra Fmain:
Codice: gambas [Seleziona]

' Esponendo queste proprietà consentiamo alle altre finestre
' di inviarci dei dati che possiamo controllare prima di esporli.
' NB: In qualunque modo noi cambieremo in futuro il controllo
' interno dei dati questo non inciderà sul passaggio stesso.

Property sNome As String
Property sCognome As String
Private $sNome As String
Private $sCognome As String


Public Sub _new()

End

Public Sub Form_Open()
  Me.Center
End


Private Function sNome_Read() As String
  
  ' Restituisce il valore controllato da Write.
  Return $sNome
 
End

Private Sub sNome_Write(Value As String)

  ' Legge il valore, lo controlla (!?) per poterlo restituire corretto
  If Value <> "" Then
    $sNome = Value
  Else
    $sNome = "#Dato mancante"
  Endif
  
End

Private Function sCognome_Read() As String

  Return $sCognome
  
End

Private Sub sCognome_Write(Value As String)

  If Value <> "" Then
    $sCognome = Value
  Else
    $sCognome = "#Dato mancante"
  Endif
  
End


Public Sub Button1_Click()
  
  ' La finestra in modalità dialogo (ShowDialog) o modale (ShowModal) stessa cosa significa che fino a quando non l'abbiamo chiusa
  ' non permetterà al programma di andare avanti. Questo metodo termina solo quando la finestra è chiusa, e il valore intero
  ' passato al metodo Close viene restituito.  
  
    Form2.ShowDialog    
    
    '' NB: Se noi passiamo una finestra non modale queste istruzioni
    '' non verranno eseguite.
    
    lblNome.Text = Me.sNome
    lblCognome.Text = Me.sCognome
    
End

Codice Finestra Form2:
Codice: gambas [Seleziona]

Public Sub Form_Open()
  
  Me.Center
  
End

Public Sub Button1_Click()

  Me.Close

End

Public Sub Form_Close()
  
' Usiamo il metodo Close per passare i dati comunque,
' anche in caso di chiusura della finestra.
 With FMain
  .sNome = TextBox1.Text
  .sCognome = TextBox2.Text
 End With
 
  
End

E questo il secondo esempio:

Codice finestra Fmain:

Codice: gambas [Seleziona]

Public Sub Form_Open()
  Me.Center
End

Public Sub Passameli(sNome As String, sCognome As String)
  
  lblNome.Text = sNome
  lblCognome.Text = sCognome
  
End

Public Sub Button1_Click()
  
  ' La finestra in modalità dialogo (ShowDialog) o modale (ShowModal) stessa cosa significa che fintanto che non l'abbiamo chiusa
  ' non permetterà al programma di andare avanti. Questo metodo termina solo quando la finestra è chiusa, e il valore intero
  ' passato al metodo Close viene restituito..

  ' La finestra in modalità normale (Show) è senza priorità.
  ' NB: Se la finestra già aperta è modale, allora la finestra verrà
  ' visualizzata comunque in modalità modale anche se chiamata con Show.
  
    'Form2.ShowDialog    
    Form2.Show
 
End

Questo il codice della finestra Form2:
Codice: gambas [Seleziona]


Private $sNome As String
Private $sCognome As String

Public Sub Form_Open()
  
  Me.Center
  
End



Private Sub Nome()

  ' Legge il valore della textbox, lo controlla (!?) per poterlo restituire corretto
  
  If TextBox1.Text <> "" Then
    $sNome = TextBox1.Text
  Else
    $sNome = "#Dato mancante"
  Endif
 
End


Private Sub Cognome()

  If TextBox2.Text <> "" Then
    $sCognome = TextBox2.Text
  Else
    $sCognome = "#Dato mancante"
  Endif
 
End

Public Sub Button1_Click()

    Me.Close

End

Public Sub Form_Close()  
    
    ' Usiamo il metodo Close per passare i dati comunque
    ' anche in caso di chiusura della finestra.
    
    ' Chiamiamo i metodi che controllano le textbox e
    ' restituiscono il valore alle variabili private
    Nome()
    Cognome()
    ' Passiamo direttamente il valore alle label
    ' della FMain attraverso il metodo pubblico.
    FMain.Passameli($sNome, $sCognome)
    
End

Lo so è un post molto lungo e visto gli allegati lo potevo risparmiare ma credo ci siano gamberetti timidi che prima di iscriversi vogliono capire un po quindi...

Ora però vado ad ubriacarmi e ad ingozzarmi... Buona Vigilia a Tutti.
 :ciao:
PS: Mi sono scordato di precisare che tu questo lo sai già fare, era che volevo metterlo giù per il libro. Se torno sobrio poi studio il tuo caso con quello che qui è stato già detto.
« Ultima modifica: 24 Dicembre 2014, 18:22:23 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re: [RISOLTO] Passaggio dati tra due Form
« Risposta #5 il: 25 Dicembre 2014, 00:23:37 »
Ciao ragazzi,
essendo stato moderato col vino (neanche 4 quartini) vi posso aggiornare sul codice precedente per ottenere il passaggio di dati fra tre form (In effetti come giustamente dice il titolo il passaggio è fra 2 con coinvolta la FMain)  cambiando leggermente i progetti PassaggioFraFinestre_1 e  2 :
L'attuale FMain diventa Form1
Aggiungiamo una form al programma rinominandola Fmain facendola diventare Classe di avvio. Quindi scriviamo al suo interno questo codice:

Codice: gambas [Seleziona]

Public Frm1 As Form1


Public Sub Form_Open()  
    
  Frm1 = New Form1(FMain) As "Frm1"
  FMain.Title = "Form1"
  Me.Center
  
End


Poi solo in PassaggioFraFinestre_1 occorre:
La Form1 ex Fmain rimane invariata e nella Form2 andiamo a inserire nel metodo di chiusura
Codice: gambas [Seleziona]

With Fmain.Frm1 'al posto del solo With FMain


lasciando invariato il resto del codice.

Invece per PassaggioFraFinestre_2 occorre:
La Form1 ex Fmain rimane sempre invariata e nella Form2 andiamo a inserire sempre nel metodo di chiusura il riferimento Frm1 fra FMain e Passameli così:
Codice: gambas [Seleziona]

FMain.Frm1.Passameli($sNome, $sCognome)


Bene ora che mi sono svegliato vado a dormire.  :sleepy:
 :ciao:
PS: Malgrado lo credessi non ero poi così sobrio :).
Ti vorrei chiedere se mi puoi spiegare il motivo che ti spinge a “camuffare” una form per un'altra.
« Ultima modifica: 25 Dicembre 2014, 10:37:00 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: [RISOLTO] Passaggio dati tra due Form
« Risposta #6 il: 25 Dicembre 2014, 11:07:53 »
@ Gianluigi

In tutta questa discussione il cui titolo si riverisce, almeno così ho capito, al passaggio di dati fra Form che, secondo me, significa: passaggio di dati dal Form chiamante al Form chiamato e viceversa, a chiusura del form chiamato, non ricordo che detto dettaglio, molto importante, sia stato indicato compiutamente.
Se tu però devi affrontare l'argomento nel libro a cui accenni, sarebbe bene che approfondissi il concetto, in quanto senza il giusto metodo, non ordinario,  non è possibile ricevere di ritorno dal Form chiamato dati da riprendere per utilizzarli nel proseguimento del flusso di istruzioni successive alla chiamata del Form appena dismesso.
 :ciao:
:ciao:

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re: [RISOLTO] Passaggio dati tra due Form
« Risposta #7 il: 25 Dicembre 2014, 18:47:23 »
@Picavbg

Intanto grazie per il suggerimento,  :)
purtroppo forse anche a causa delle eccessive libagioni oltre che del mio scarso grado di comprendonio non ho capito appieno il tuo consiglio.
Ti stai riferendo ai dati di ritorno da Form2 a Form1? Oppure intendi che non si è parlato del passaggio di dati da Form1 a Form2?
Se comunque ti fa piacere potresti completare tu l'esempio da me postato con la parte mancante, non potrei che ringraziarti.

 :ciao:

PS: Certo che essere qui a parlare di Gambas anche a Natale la dice ... insomma non diciamolo in giro.
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re: [RISOLTO] Passaggio dati tra due Form
« Risposta #8 il: 25 Dicembre 2014, 19:23:21 »
Salve ragazzi,
in una pausa del magna magna e bevi bevi odierno, ho acceso il pc e dato uno sguardo al Forum e ho visto con piacere
che questo post si è ampliato con considerazioni interessanti.
Ciao Tornu,
guardando un po al passato ho constatato che non è la prima volta che ti “picchi” con questi concetti. Questo mi ha permesso di comprendere che anche io non capivo. :)
Si è vero, e tuttora il concetto non mi è chiaro completamente.

@ Gianluigi

In tutta questa discussione il cui titolo si riverisce, almeno così ho capito, al passaggio di dati fra Form che, secondo me, significa: passaggio di dati dal Form chiamante al Form chiamato e viceversa, a chiusura del form chiamato, non ricordo che detto dettaglio, molto importante, sia stato indicato compiutamente......
 :ciao:
Hai capito perfettamente ciò che chiedevo.

Ti vorrei chiedere se mi puoi spiegare il motivo che ti spinge a “camuffare” una form per un'altra.
Non ho capito, puoi essere più esplicito.

Provo a spiegare le "difficoltà/neccessità" in cui finora mi sono imbattuto:

1) Se devo passare dati tra due semplici Form, uno principale (impostata come classe di avvio) chiamante una secondaria dove elaboro dei dati che
    alla sua chiusura passo alla Form principale, non ho problemi in vari modi riesco ad ottenere il risultato.

2) Questo il caso per cui ho chiesto aiuto al Forum aprendo questo post:
    Una Form principale (impostata come classe di avvio), che fà da contenitore alla Form1 e alla Form2 richiamata dalla Form1 quando neccessario.
    La Form1 richiama la Form2 in cui inserisco/elaboro dei dati che alla sua chiusura deve passare alla Form1.Ora con il vostro aiuto sono riuscito ad
    ottenere ciò che volevo, però incuriosito da Pcavbg che mi ha indicato la possibilità di poter utilizzare il metodo sia in "andata" che in "ritorno" non
    sto riuscendo ad implementaro, anche leggendo il link da lui segnalatomi. Continuo a provare.

3) Dalla mia piccola esperienza penso di aver capito che finchè si tratta di due semplici Form "pulite" ci sono vari metodi abbastanza semplici per
    passare dati dall'una all'altra. La cosa si complica un pochino (almeno per me) quando le Form cominciano ad essere più di due e contengono
    Panel, TabStrip, ect... o Form "annidate" l'una dentro l'altra, ed in questi casi che le mie difficoltà cominciano.

P.S.: Naturalmente tutto ciò perchè non voglio assolutamente usare variabili globali, se non assolutamente neccessario.

Scusate la lungaggine....nel mentre ho cominciato a digerire.... :D
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re: [RISOLTO] Passaggio dati tra due Form
« Risposta #9 il: 25 Dicembre 2014, 20:07:35 »
@Tornu

Finalmente ho capito! Scusa sai ma la mia poca pratica con Gambas me lo aveva impedito.
Oddio capito è un parolone ma ora credo di aver capito anche cosa mi diceva Picavbg.
Mo mi metto a studiare bene cosa dire, però così d'acchito direi che il primo esempio quello con le proprietà dovrebbe funzionare per tutte le esigenze
Comunque come detto vado a studiare però prendete il mio mo come domani, dopodomani... appena smaltito il tour de forse forse :D
 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: [RISOLTO] Passaggio dati tra due Form
« Risposta #10 il: 25 Dicembre 2014, 23:50:02 »
Mi pare che ancora, pur essendo andati avanti coi ragionamenti e lo studio del materiale citato, non sia chiaro come costringere la form chiamata a restituire dati alla Form chiamante e come recepire detti dati quando la Form chiamante riprenderà il controllo del ciclo elaborativo.
Diciamo subito che il Form chiamante non deve essere necessariamente il FMain, ma può essere anche uno successivo, dipendente o meno dalla FMain. Il trucco per ottenere lo scambio dati sta nel tipo dati della variabile da passare al Form chiamato. Se i dati da passare e da ricevere indietro sono più di uno conviene costituire un array di un numero imprecisato di elementi. Essi saranno valorizzati al momento della chiamata e probabilmente non saranno di natura omogenea, percò:
Codice: [Seleziona]
Dim vDati As New Variant[]   

Dim iSwReturn as integer


Il secondo passo importante è quello di richiamare il costruttore della nuova classe FormX da chiamare:
Codice: [Seleziona]
  FrmX = New FormX(vDati)

seguito dalla classica istruzione di chiamata della Form, rispettando il seguente formato:
Codice: [Seleziona]
 iSwReturn = Frm7.showmodal()
dove iSwReturn conterrà un valore numerico utile per l'eventuale scelta successiva della funzione da sviluppare al rientro dal Form chiamato
In quest'ultima istruzione risiede la chiave risolutiva del meccanismo di andata e ritorno dei dati, perchè, al ritorno dal Form chiamato, l'array di partenza, vDati, conterrà non più i valori ceduti al programma chiamato, bensì quelli che quest'ultimo avrà modificato o anche aggiunto a quelli iniziali.

Supponiamo perciò di avere fornito due campi  coi seguenti valori
$Strimia = "andata"
iNum = 111
vDati.add($Strimia)
vDati.add(iNum)


Supponiamo ancora che il Form chiamato, nel corso della sua esecuzione, abbia modificato il contenuto di vDat[0] ed abbia aggiunto un valore booleano come terzo campo. Al rientro dalla chiamata del FormX l'array sarà così costituito:
vDati[0] = "ritorno"
vDati[1] = 111
vDati[2] = 0      'False
La prima istruzione dopo quella di chiamata della FormX sarà:
Codice: [Seleziona]
Select  Case iSwReturn
   Case 0
       print vDati[0]
   Case 1
       print vDati[1]
   Case 2
       print vDati[2]
End Select
Quello che occorre sviluppare dentro FormX è facile da intuire. Non credo perciò che valga la pena di illustrarlo.

Spero di avere dato il giusto aiuto per un corretto uso del metodo che ho imparato a suo tempo ed assimilato grazie alla paziente guida di md9327.
 :ciao:
« Ultima modifica: 25 Dicembre 2014, 23:53:46 da Picavbg »
:ciao:

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re: [RISOLTO] Passaggio dati tra due Form
« Risposta #11 il: 26 Dicembre 2014, 01:10:05 »
@Picavbg

Non so cosa mi è girato di guardare questa discussione prima di andare a dormire dopo essermi visto Downton Abbey (avete poco da sfottere a me piace molto :P).
Io mi scuso tanto con te ma non ho capito come il tuo codice si incastri con il mio.

Allego un programma che sulla falsariga di quanto richiesto da Tornu scambia i dati fra le TextBox di due form incorporati nella main form.

Ho usato le proprietà per garantire l'incapsulamento e la riutilizzabilità.

Vista l'ora impossibile riprenderò l'interessantissima discussione domani.
 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re: [RISOLTO] Passaggio dati tra due Form
« Risposta #12 il: 26 Dicembre 2014, 17:25:50 »
Mi pare che ancora, pur essendo andati avanti coi ragionamenti e lo studio del materiale citato, non sia chiaro come costringere la form chiamata a restituire dati alla Form chiamante e come recepire detti dati quando la Form chiamante riprenderà il controllo del ciclo elaborativo.............
Ciao Picavbg,
sì hai ragione, almeno a me non è ancora del tutto chiaro. Sto cercando di applicare il metodo da te descritto, ma ho bisogno ancora di alcune
delucidazioni.

Il secondo passo importante è quello di richiamare il costruttore della nuova classe FormX da chiamare:
Codice: [Seleziona]
  FrmX = New FormX(vDati)

seguito dalla classica istruzione di chiamata della Form, rispettando il seguente formato:
Codice: [Seleziona]
 iSwReturn = Frm7.showmodal()
dove iSwReturn conterrà un valore numerico utile per l'eventuale scelta successiva della funzione da sviluppare al rientro dal Form chiamato.
In quest'ultima istruzione risiede la chiave risolutiva del meccanismo di andata e ritorno dei dati, perchè, al ritorno dal Form chiamato, l'array di partenza, vDati, conterrà non più i valori ceduti al programma chiamato, bensì quelli che quest'ultimo avrà modificato o anche aggiunto a quelli iniziali.
Non ho capito l'utilità della variabile iSwReturn puoi essere più dettagliato.
La Form chiamata riceverà i dati dell'array con il metodo _new, ho capito bene?
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re: [RISOLTO] Passaggio dati tra due Form
« Risposta #13 il: 26 Dicembre 2014, 17:50:15 »
Accidenti,
da quello che dice Tornu a Picavbg ne deduco che il programma da me postato e che scambia dati in andata e ritorno fra due finestre incorporate nella Fmain non è quello desiderato?
Scusate ma allora occorre che vi spiegate meglio tutti.  :-\

Ne avevo creato un altro che scambiava dati fra tre diverse finestre ma a questo punto lascio perdere perché è evidente che non ho capito un tubo.

 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re: [RISOLTO] Passaggio dati tra due Form
« Risposta #14 il: 26 Dicembre 2014, 18:37:42 »
Accidenti,
da quello che dice Tornu a Picavbg ne deduco che il programma da me postato e che scambia dati in andata e ritorno fra due finestre incorporate nella Fmain non è quello desiderato?
Scusate ma allora occorre che vi spiegate meglio tutti.  :-\

Ne avevo creato un altro che scambiava dati fra tre diverse finestre ma a questo punto lascio perdere perché è evidente che non ho capito un tubo.

 :ciao:


Ciao Gianluigi,
se ti scarichi i due esempi che ho postato nel messaggio di apertura, lasciando perdere l'esempio1 che ho inserito solo
per spiegare ciò che intendevo ottenere, e apri l'esempio2 capirai dal semplice codice contenuto cosa intendevo per passaggio dati.
Così come da me postato vedrai che i dati inseriti nel Form2 non passano al Form1. Con le indicazioni suggerite da vuott quell'esempio
ad esso è funzionante, se vuoi provarlo modificalo con le istruzioni di vuott.
Visto che successivamente avete ampliato la discussione e con le indicazioni di Picavbg si può ottenere lo stesso risultato ma sicuramente
in modo più funzionale con la possibilità di passaggio dati in "andata" e "ritorno" e l'utilizzo di array stò cercando di implementare il metodo
da lui suggerito.
Comunque anche gli esempi da te postati possono tornare sempre utili (....non si butta via mai niente)  ;)
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)