Oppure

Loading
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.
Ultima modifica effettuata da TermYnator 21/10/11 18:52
aaa
22/10/11 8:58
j7-na
Allora ho provato a fare in questo modo:

Dim rec As Integer
rec = Label1.Caption

Open (App.Path & "/prova.txt") For Output As #1
Print #1, rec
Close #1


Il programma mi salva il contenuto nella cartella del progretto e va bene. Ora vorrei creare il pulsante che carica quel dato...anzi precisamente una volta avviato il programma il dato nella Label1 deve essere caricato in automatico, quindi credo bisogna inserire questo codice nel form, giusto?

Esempio:

Se il giorno 07/11//2011 salvo il contenuto della label con un numero intero o double o altro...il giorno 08/11/2011 quando apro il programma devo visualizzare quel numero nella Label1 direttamente, senza che premo qualche pulsante. Come fare? :k:
aaa
22/10/11 10:49
Nel Form_Load inserisci il codice che legge ...

In modo analogo a quanto hai già fatto per la scrittura, utilizza la Open per la lettura e la Line Input # di cui già ti ho detto ...
24/10/11 10:01
j7-na
Ho scritto:

Private Sub Form_Load()
Dim rec As String
rec = Label1.Caption

Open (App.Path & "/prova.txt") For Input As #1

End Sub



Come devo continuare???
aaa
24/10/11 10:14
Leggi le risposte .... ti ho detto di usare la

Line Input #
24/10/11 10:31
j7-na
Ho capito, ma non so come scrivere...è quello il problema. :k:
aaa
24/10/11 11:15
Ma non esplode il PC se ci provi !

Studia la documentazione e guarda gli esempi in

Line Input #
msdn.microsoft.com/en-us/library/…(v=VS.60).aspx

25/10/11 10:05
j7-na
Si lo so che non esplode. :rofl:


Comunque ecco come ho fatto:

Private Sub Form_Load()

Dim rec As String
Open (App.Path & "/prova.txt") For Input As #1
Line Input #1, rec
Label1.Caption = rec
Close #1
End Sub



In questo modo funziona molto bene. Grazie. :k:
aaa