Gambas-it

Gambas3 => Programmazione => Topic aperto da: vuott - 13 Novembre 2019, 22:37:50

Titolo: Consente l'inizializzazione delle variabili associate alla dichiarazione di prop
Inserito da: vuott - 13 Novembre 2019, 22:37:50
Consente l'inizializzazione delle variabili associate alla dichiarazione di Proprietà:

    https://gitlab.com/gambas/gambas/commit/55d7f20d80192df8e533fb517364d7c48a662b9d
Titolo: Re:Consente l'inizializzazione delle variabili associate alla dichiarazione di prop
Inserito da: Gianluigi - 14 Novembre 2019, 00:03:02
Tanto per fare un esempio, se volessimo mostrare al di fuori della nostra classe la path del database attraverso una proprietà di sola lettura; all'inizio era:

Codice: [Seleziona]
Property Read sPathDB As String
Private $sPathDB As String

Private Function sPathDB_Read() As String

  $sPathDB = User.Home &/ Application.Name
  Return $sPathDB

End

Poi ultimamente si poteva abbreviare così:

Codice: [Seleziona]
Property Read sPathDB As String Use $sPathDB

Private Function sPathDB_Read() As String

  $sPathDB = User.Home &/ Application.Name
  Return $sPathDB

End

Ora possiamo fare:

Codice: [Seleziona]
Property Read sPathDB As String Use $sPathDB = User.Home &/ Application.Name
Titolo: Re:Consente l'inizializzazione delle variabili associate alla dichiarazione di prop
Inserito da: kicco - 14 Novembre 2019, 08:31:23
Grazie per la spiegazione!  :-*
 :ciao:
Titolo: Re:Consente l'inizializzazione delle variabili associate alla dichiarazione di prop
Inserito da: Gianluigi - 14 Novembre 2019, 09:59:08
:D Prego
Aprofitto della risposta per fare una precisazione:
Per brevità ho inserito il valore direttamente all'interno della funzione di assegnazione.
Questo normalmente non si fa specialmente se si deve, come nell'esempio, creare una nuova cartella, cosa che deve essere fatta all'apertura della classe (eventi Form_Open o _new).

Per chi come me è alle prime armi con le proprietà, suggerisco il vecchio sistema che è più comprensibile, inoltre era già possibile l'inizializzazione delle variabili associate (senza contare poi che basta scrivere prr e tabulare che fa tutto la IDE):

Codice: [Seleziona]
Property Read sPathDB As String
Private $sPathDB As String = User.Home &/ Application.Name

Public Sub Form_Open()

  If Not Exist($sPathDB) Then Mkdir $sPathDB

End

Private Function sPathDB_Read() As String

  Return $sPathDB

End