Autore Topic: Consente l'inizializzazione delle variabili associate alla dichiarazione di prop  (Letto 453 volte)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.331
  • Ne mors quidem nos iunget
    • Mostra profilo
Consente l'inizializzazione delle variabili associate alla dichiarazione di Proprietà:

    https://gitlab.com/gambas/gambas/commit/55d7f20d80192df8e533fb517364d7c48a662b9d
« 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 Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.158
  • Tonno verde
    • Mostra profilo
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
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.703
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Grazie per la spiegazione!  :-*
 :ciao:
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.158
  • Tonno verde
    • Mostra profilo
: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
« Ultima modifica: 14 Novembre 2019, 10:00:51 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro