Autore Topic: Variabili [Risolto]  (Letto 401 volte)

Offline Karl

  • Gamberetto
  • *
  • Post: 35
  • l'è meij un dì da leun che cent'dì da pegura
    • Mostra profilo
Variabili [Risolto]
« il: 29 Luglio 2017, 08:40:09 »
[Risolto] Innanzitutto mi scuso di tutte queste domande ma come avete capito sono nuovo.

Ho letto sulle pagine di chi delle variabili pubbliche o private io ho capito come mettere le variabili ma sinceramente non riesco a capire come rendere pubblica una variabile in modo che possa essere utilizzata sia da un pulsante che da un TextBox che è da un altro qualunque componente avrei bisogno cortesemente un esempio pratico con una variabile qualsiasi, oltre a questo vorrei sapere perché alcune variabili hanno il simbolo di dollaro o il cancelletto grazie per la risposta
« Ultima modifica: 29 Luglio 2017, 18:43:06 da Karl »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Variabili
« Risposta #1 il: 29 Luglio 2017, 12:05:31 »
Innanzitutto mi scuso di tutte queste domande ma come avete capito sono nuovo.

Ho letto sulle pagine di chi delle variabili pubbliche o private io ho capito come mettere le variabili ma sinceramente non riesco a capire come rendere pubblica una variabile in modo che possa essere utilizzata sia da un pulsante che da un TextBox che è da un altro qualunque componente avrei bisogno cortesemente un esempio pratico con una variabile qualsiasi, oltre a questo vorrei sapere perché alcune variabili hanno il simbolo di dollaro o il cancelletto grazie per la risposta

Creare un progetto con una finestra FMain contenente un pulsante e una textbox, aggiungere al progetto una classe Class1:

In FMain inserire questo codice:
Codice: [Seleziona]
Private $sNome As String

Public Sub Form_Open()

  $sNome = "Giovanna"
  TextBox1.Text = $sNome

End

Public Sub Button1_Click()
 
  Dim hClass As New Class1
 
  If TextBox1.Text = $sNome Then
    TextBox1.Text = hClass.sNomePubblico
  Else
    TextBox1.Text = $sNome
  Endif
 

End

in Class1 solo questo:
Codice: [Seleziona]
Public sNomePubblico As String = "Filippo"

Riguardo al resto vi è ampia documentazione e fraseggio.
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Variabili
« Risposta #2 il: 29 Luglio 2017, 17:46:52 »
come rendere pubblica una variabile
Quanto scritto e spiegato da Gianluigi va ben compreso.

Ritengo vada distinta la... "Globalità" di una variabile dalla sua "Pubblicità".
A grandi linee possiamo dire che la "Globalità" attiene all'attitudine, alla capacità di una variabile di essere vista (scope) all'interno di una Classe o di un Modulo da noi creati. Al riguardo va detto che anche la Classe FMain o il Modulo Main.module sono, in fondo, da noi generati, seppur automaticamente.
Pertanto, una variabile meramente "Globale" sarà visibile (ossia potrà essere invocata ed utilizzata) in un qualunque parte della Classe o del Modulo ove essa è stata "dichiarata".

La "Pubblicità" di una variabile è l'attitudine a essere "vista"  (ossia ad essere invocata ed utilizzata) anche nelle altre Classi o Moduli da noi creati.
Va sottolineato che una variabile "Pubblica" è di per sé anche "Globale".



perché alcune variabili hanno il simbolo di dollaro
E' semplicemente e soltanto una mera scelta di alcuni programmatori al fine - per lo più - di distinguere visivamente il tipo di una variabile da un altro tipo (senza che vi sia la necessità di andare a vedere come è stata dichiarata la variabile).
Se dunque per mio personale costume sono solito ad esempio anteporre ogni variabile di tipo String con il simbolo del dollaro, quando nel corpo del codice - soprattutto se molto vasto - vedrò quel simbolo, saprò immediatamente anche dopo molto tempo che quel nome identificatore si riferisce ad una variabile di tipo String.
Insomma non esiste un protocollo ufficiale, una norma stringente del linguaggio, né alcuna necessarietà (fatta eccezione per alcuni caratteri particolari, nonché per le parole-chiave).

Si potrebbe obiettare che esiste una convenzione per nominare le variabili, in virtù della quale per esempio il dollaro serve a distinguere le variabili globali Private.
A ciò si può agevolmente rispondere che la "convenzione" è un "venire insieme", un accordo, in questo caso extra-linguaggio, non vincolante.
Infatti se io dichiaro:
 Private numero As String
non commetto alcun errore di sintassi, fatta eccezione - come già detto - per alcuni caratteri particolari, nonché per le parole-chiave.
A conferma di ciò v'è la prima riga della pagina che ho sopra segnalato, che così recita:
"The naming conventions are not required by the compiler."
Anche la Convenzione conferma, dunque, in sé l'arbitrarietà della scelta da parte del programmatore dell'identificatore di una area di memoria ad allocazione automatica, ...fatta ovviamente  eccezione per alcuni caratteri particolari, nonché per le parole-chiave


...peraltro, nulla osta che si possa anche adottare l'elenco della rappresentazione testuale dei tipi di dati di Gambas indicato alla riga 1202 nel file header sorgente: " .../main/share/gambas.h ".



perché alcune variabili hanno il simbolo .... cancelletto
In questo caso, contrariamente al simbolo del dollaro, il cancelletto #, come prefisso temporaneo di una variabile, è specifico e richiesto dal linguaggio Gambas nella gestione - in particolare "lettura" e "scrittura" - dei flussi di dati con variabili di tipo "File", "Stream" o "Process".
Il simbolo del cancelletto è dunque in questi casi necessario, pena la sollevazione di un errore.
Non è possibile adottarlo, però, come normale carattere facente parte del nome di una Variabile, né di una Costante, a pena di sollevazione di un "Errore di sintassi".



« Ultima modifica: 29 Luglio 2017, 18:56:53 da vuott »
« 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 Karl

  • Gamberetto
  • *
  • Post: 35
  • l'è meij un dì da leun che cent'dì da pegura
    • Mostra profilo
Re:Variabili
« Risposta #3 il: 29 Luglio 2017, 18:41:50 »
Chiari esaurienti e ......grazie che altro?

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Variabili
« Risposta #4 il: 29 Luglio 2017, 20:01:56 »
« 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 Karl

  • Gamberetto
  • *
  • Post: 35
  • l'è meij un dì da leun che cent'dì da pegura
    • Mostra profilo
Re:Variabili [Risolto]
« Risposta #5 il: 30 Luglio 2017, 08:06:25 »
Prometto che sara' adesso per me PRIORITARIA (la visita)