Gambas-it

Archivi (sola lettura) => Programmazione (Gambas 2) => Topic aperto da: wattstorm - 10 Febbraio 2013, 21:54:28

Titolo: Definizione Globale di una variabile [Risolto]
Inserito da: wattstorm - 10 Febbraio 2013, 21:54:28
Salve e un grazie anticipatamente
Come faccio a condividere una variabile su tutti i form che creo ?
ho letto il comando Public ma non funziona es:
Form1
Public vedo as string
vedo="ciao"
Form2
la variabile vedo non esiste mi dice che non è definita ?

In Visual Basic c'era il comando type
es:
type pippo
 nome as string *10
 cognome as string *10
end type

Esiste un comando simile in gambass3 ?
Titolo: Re: Definizione Globale di una variabile
Inserito da: vuott - 10 Febbraio 2013, 23:09:06
Nel codice relativo al Form2 dovrai così richiamare la variabile globale presente nel Form1:

(facciamo finta che vuoi stampare in console la stringa contenuta nella variabile globale "vedo")
Codice: gambas [Seleziona]

   Print Form1.vedo



Esempio pratico con due Form: il principale FMain ed il secondario Form2:

(codice del Form principale, FMain)
Codice: gambas [Seleziona]

Public vedo As String

Public Sub Form_Open()

    vedo = "ciao, wattstorm !"

' Vado a far mostrare il Form secondario:
     Form2.Show

End



Nel codice del Form secondario Form2:
Codice: gambas [Seleziona]

Public Sub form_Open()
  
  Print FMain.vedo
  
End




Se non tu non volessi utilizzare una variabile globale, potresti, ovviamente, passare al Form secondario il valore della variabile stringa attraverso un parametro.... ma questa è un'altra storia.
Titolo: Re: Definizione Globale di una variabile
Inserito da: vuott - 11 Febbraio 2013, 01:10:53

In Visual Basic c'era il comando type
es:
type pippo
 nome as string *10
 cognome as string *10
end type

Esiste un comando simile in gambas3 ?

In Gambas 3 esiste la Struttura.
Ti rinvio alla nostra WIKI:
   https://www.gambas-it.org/wiki/index.php/Strutture:_dichiarazione_ed_uso
Titolo: Re: Definizione Globale di una variabile [Risolto]
Inserito da: fsurfing - 11 Febbraio 2013, 10:13:42
 per usare le variabili globali  controlla di aver impostato a "si " le opzioni:

i simboli dei moduli sono public
i controlli dei form sono public

in proprieta>opzioni
Titolo: Re: Definizione Globale di una variabile [Risolto]
Inserito da: vuott - 11 Febbraio 2013, 16:10:55
per usare le variabili globali  controlla di aver impostato a "si " le opzioni:

i simboli dei moduli sono public
i controlli dei form sono public

in proprieta>opzioni

Anch'io pensavo così, ma stranamente a me funziona perfettamente anche senza impostare come Pubbliche quelle opzioni.  :-\
...e mi funziona così anche se, al posto del Form con la sua Classe, uso un semplice modulo,
Titolo: Re: Definizione Globale di una variabile [Risolto]
Inserito da: fsurfing - 11 Febbraio 2013, 16:29:55
a me invece non va
Titolo: Re: Definizione Globale di una variabile [Risolto]
Inserito da: vuott - 11 Febbraio 2013, 16:32:11
a me invece non va

Mistero dell'Universo !   :'(

Ad ogni modo, voglio precisare che quanto detto da fsurfing è la regola. Quindi lui ha detto una cosa che è stata sempre giusta.

Ora... non so perché a me funziona comunque.  :-\
Titolo: Re: Definizione Globale di una variabile [Risolto]
Inserito da: Gianluigi - 01 Maggio 2015, 15:58:39
Siccome quello che accade a vuott succede anche a me e cioè non devo impostare i simboli dei moduli a Si ecc. ecc. vorrei sapere se si è capito il perché.
Immagino che questo succeda solo in Ubuntu e sue derivate, oppure...
 :ciao: