Newsgroup: it.comp.appl.access
Titolo: variabile "persistente" (non deve svuotarsi alla chiusura della applicazione)

salve a tutti,
è possibile definire una variabile il cui valore, una volta impostato, venga 
mantanetuto anche alla chiusura della applicazione?
L'esigenza nasce dal fatto che dovrei far usare lo stesso db in diverse 
occasioni (campagne archeologiche), vorrei che fosse possibile, per l'utente 
impostare il nome della località dello scavo per cui sta catalogando i 
reperti. Una volta impostato il nome della località, a meno di un nuovo 
intervento dell'utente, dovrebbe rimanere memorizzato anche se si chiude 
l'applicazione.
Il valore mi serve per impostare la cption di alcune etichette nelle 
maschere che fungono da intestazione.
grazie a tutti e buona serata
Andrea 

(.....)

In qualunque linguaggio di programmazione, una variabile, per definizione, è un puntatore ad una posizione di memoria
RAM all'interno dell'area riservata al programma che la definisce.
Quindi ogni variabile ha vita strettamente limitata all'esecuzione del programma.
Quando questo termina la memoria ad esso riservata viene rilasciata e riutilizzata per altre applicazioni.
Qunidi l'unico modo per mantenere traccia di un valore fra due diverse esecuzioni del programma è scriverlo da qualche
parte su disco fisso.
Qui hai varie possibilità:
- puoi usare un file .ini
- puoi usare il registro di Windows
- puoi usare una tabella
A secondo della scelta la tecnica varia molto, quindi ... decidi cosa vuoi fare e riposta.
Vincenzo Turturro
Certificato Eucip Core Level
ITA 0000-002299 del 14/05/2007
---------------------------------------------
il sito comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------
risorse Access:
http://www.accessgroup.it
---------------------------------------------
Il sito comune di it.comp.as400
http://www.faq400.com
---------------------------------------------


Puoi utilizzare una marea di modi diversi.
Quello più semplice penso che sia l'utilizzo di una tabella dove vai a
memorizzare tutti i parametri che ti pare.
Ma se proprio non ti piace.....
....file esterno....
....registry....
-- 
PBsoft di Gabriele Bertolucci
www.pbsoft.it
skype:pbsoftsolution

 ha scritto nel messaggio 
news:e7r2m3po5043qeurf...@4ax.com...

innanzi tutto grazie,
mi rendo conto di aver usato la parola variabile in modo del tutto 
inappropriato ma non sapevo come spiegarmi. Sinceramente non saprei valutare 
la migliore delle soluzioni da te proposte, penso, tuttavia, che per uno non 
molto pratico come me la via tabella sia quella più facilmente 
praticabile... Magari mi sbaglio...
Un saluto Andrea. 

Un saluto Andrea. 


 ha scritto nel messaggio 
news:pvs2m396jmk5d77pu...@4ax.com...

Di voglia ce ne è, tempo pure, magari un poco meno...
con la tabella ho risolto magari in maniera molto poco elegante... in 
pratica una funzione che prende il primo record della tabella e tramite 
quella lo spedisco su apertura alle etichette delle varie maschere.
una maschera per cambiare il valore del record... si apre sul primo e non ci 
si può spostare (ma solo perché ho tolto i pulsanti per lo spostamento).
Così funziona, ma mi redo conto che è cosa molto rozza...
Mi piacerebbe tentare le altre vie indicate ma non so neanche da dove 
cominciare. Se ti va e hai tempo, solo l'indicazione per sapere da dove 
cominciare.
Un enorme ringraziamento, come al solito siete preziosissimi...
Andra
P.S. auguri di buone feste. 

P.S. auguri di buone feste. 
C'è tempo, c'è tempo ...
Vedrai la prossima settimana !


 Quello più semplice penso che sia l'utilizzo di una tabella dove vai a
qualcuno recentemente ha citato il "rasoio di occam".
-- 
ac
y-1=x

(.....)

Entia non sunt multiplicanda praeter necessitatem !
Quanto è vero !


 
-- 
ac
y-1=x

 mantanetuto anche alla chiusura della applicazione?
Il sistema piu' spiccio e comodo IMHO e' definire una proprieta' del
database, mi sembra che non si siano ancora citate nel thread:
Dim O as Object
Set O =
currentdb.Createproperty("NomeProperty",dbText,"ValoreIniziale")
e accodarla all'insieme properties
Currentdb.properties.append O
da questo momento puoi utilizzarla liberamente proprio come se fosse
una variabile... ehm... "resistente allo spegnimento":
Currentdb.Properties("NomeProperty")= "Nuovo Valore"
if VariabileA= Currentdb.Properties("NomeProperty")  then ecc. ecc.
cia'
Max

Questo non e' il "rasoio di occam"! :)
Ehm ... e quale sarebbe ?


 y-1=x
-- 
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.alessandrobaraldi.it
---------------------------------------------------------------------------

 Ehm ... e quale sarebbe ?
Veramente la mia era riferita al latino. L'ho fatto a dieci anni alle 
medie. Potrai ben capire quanto puo' essere complicato.
-- 
ac
y-1=x

 P.S. è dialetto pugliese... vero...? Preferisco la pizza con le acciughe.
Barlettano. Precisamente.
-- 
ac
y-1=x

Sembra che 'Roccia' Max abbia detto :

l'accesso al registro di sistema è altrettanto semplice basta invocare 
il metodo savesetting
savesetting("nomeprog","nomeSezione","NomeKey","Valore")
all'apertura del tuo db leggerai questo valore tramite
getsetting("nomeprog","nomesezione","nomekey",[valoreDefault])
per metterlo dentro una variabile globale.
con tutti questi metodi non hai che l'imbarazzo della scelta. :D
-- 
ignazioc

 ha scritto nel messaggio 
news:mn.733a7d7c9...@gmail.it...

grazie a tutti per le soluzioni suggerite, ho davvero l'imbarazzo della 
scelta :-)
un saluto e auguri.
Andrea