21/10/11 18:40
TermYnator
Se hai molti dati da memorizzare, l'approccio di Nessuno è senz'altro la soluzione più razionale.
Se devi invece memorizzare poche proprietà o risultati, esiste un approccio alternativo, che non richiede l'uso di un file di supporto. Supponendo che il il risultato da memorizzare sia un valore Integer, e che il label si chiami Label1:
private sub Form_Load()
label1.caption =Label1Value
end sub
private property let Label1Value (Vdata as integer)
label1.caption=vdata
SaveSetting "Myapp", "Settings", "Label1", Vdata
end property
private property get Label1Value() as integer
Label1Value= GetSetting("MyApp", "Settings", "Label1", 0)
end property
La prima routine, al caricamento del form imposta la proprietà caption sul valore precedentemente memorizzato nel registro di configurazione. Il valore "0", è un valore di default, che verrà letto se non ci sono valori memorizzati.
La seconda routine (property let), visualizza il valore nel label, e lo memorizza nel registro.
I dati scritti nel registro, sono di tipo string, ma VB opera conversioni implicite che rendono superfluo (ma non inutile concettualmente) l'uso di funzioni di conversione quali Cstr.
Attenzione ai riferimenti circolari fra routines quando si usa questo tipo di approccio.
Se devi invece memorizzare poche proprietà o risultati, esiste un approccio alternativo, che non richiede l'uso di un file di supporto. Supponendo che il il risultato da memorizzare sia un valore Integer, e che il label si chiami Label1:
private sub Form_Load()
label1.caption =Label1Value
end sub
private property let Label1Value (Vdata as integer)
label1.caption=vdata
SaveSetting "Myapp", "Settings", "Label1", Vdata
end property
private property get Label1Value() as integer
Label1Value= GetSetting("MyApp", "Settings", "Label1", 0)
end property
La prima routine, al caricamento del form imposta la proprietà caption sul valore precedentemente memorizzato nel registro di configurazione. Il valore "0", è un valore di default, che verrà letto se non ci sono valori memorizzati.
La seconda routine (property let), visualizza il valore nel label, e lo memorizza nel registro.
I dati scritti nel registro, sono di tipo string, ma VB opera conversioni implicite che rendono superfluo (ma non inutile concettualmente) l'uso di funzioni di conversione quali Cstr.
Attenzione ai riferimenti circolari fra routines quando si usa questo tipo di approccio.
Ultima modifica effettuata da TermYnator 21/10/11 18:52
aaa