Newsgroup: it.comp.lang.visual-basic
Titolo: Salvare impostazioni livello PC in VB.NET

Ciao a tutti,
sto affrontando il tema del salvataggio delle impostazioni in un programma
client/server 
VB.NET
.
Attualmente ho ustilizzato My.Settings per la connessione al DB (a livello
di "applicazione", dato che ogni utente deve avere la stessa impostazione).
Poi sul DB mi sono costruito una tabella di settaggi, a livello di
applicazione o di singolo utente.
Nel primo caso ci vanno ad esempio le configurazioni di programma, nel
secondo le opzioni personali. Con una classe gestisco tutto.
Ho la necessit� di salvare dei nomi di stampante predefiniti, questi
settaggi quindi non sono a livello utente, ma a livello di PC (tutti gli
utenti di quel PC useranno la stessa stampante). Mi domandavo quale fosse
il metodo pi� corretto.
NB: con utenti intendo utenti del gestionale, non utenti di windows.
Grazie a tutti.

 il metodo piï¿œ corretto.
IMHO gestendo una tabella "pc"
fatti una tabella (dove vuoi file xml, db, file) in cui metti tutto 
quello che un pc deve condividere...ed ovviamente un flag "PCaccesso" e 
"PConline"!
da li in poi la puoi complicare come vuoi la questione:
un Utente ï¿œ Collegato ad un pc....recuperi i dati comuni e imposti il 
tutto
Un Utente con privilegiuo "DataEntry" accede ad un pc...recuperi i dati 
compresi quelli della stampante per dargli modo di stampare
Un Utente con privilegio "Admin" accede ad un pc...recuperi anche il 
nome dell'eseguibile per stampare i pdf...o quello che vuoi...
e via andare!
Io ho sempre messo un DBdedicato alla personalizzazione...era in 
Access...ora ï¿œ un po che uso SQLite...mi stanno sulle palle i file XML 
(da sempre)! Perï¿œ ï¿œ fattibile (sopratutto se li usi con Linq to XML)
Saluti
-- 
----- Italliaaaaa 3227! -----
Il coraggio ce l'ho. E' la paura che mi frega.
(Totï¿œ)

 (da sempre)! Per� � fattibile (sopratutto se li usi con Linq to XML)
Ma mi conviene metterlo in locale (in una cartella comune a tutti e aperta
in lettura/scrittura), oppure una tabella nel DB del server?
Nel secondo caso � tutto centralizzato, ma ho il problema che se cambio
macchine/NomeComputer o simili, devo rigenerare tutte le impostazioni, col
file locale mi basta farlo recuperare in caso di cambio macchina, e non far
nulla in caso di cambio settaggi di rete.
In locale devo trovare una folder comune e r/w a utenti limitati, dovrebbe
esser questa una:
Environment.SpecialFolder.CommonApplicationData

 Il Tue, 02 Aug 2011 11:29:23 +0200, Wodka40ï¿œ ha scritto:
zac
Bisogna intendersi su cosa sono i settaggi! E su cosa vuoi ottenere!
Se l'hai centralizzato arriverai al classico scenario 
bancario/supermarket
qualsiasi utente a qualsiasi terminale accreditato non fa nulla di piï¿œ 
o nulla di meno che non sia previsto dal suo livello di privilegio!
Se perï¿œ ï¿œ il path di una stampante LOCALE....ï¿œ ovvio...un file in uno 
special folders
http://msdn.microsoft.com/it-it/library/system.environment.specialfolder.aspx
Se perï¿œ tutto il sistema ha bisogno di sapere se sul pc a cui sei 
accrediato c'ï¿œ una stampante attiva....si ritorna daccapo!
Tabella centralizzata!
La differenza sta qui: deve sappere tutto il sistema cosa c'ï¿œ nel 
singolo pc?
NO....file locale
SI...."file"/tabella centralizzata
Ciao!
-- 
----- Italliaaaaa 3227! -----
Bisogna sempre dare spontaneamente quello che non si puï¿œ impedire ti 
venga tolto.
(Vittorio Alfieri)

 SI...."file"/tabella centralizzata
Nel mio caso allora direi file locale, in quanto il PC-1 potrebbe stampare
su una stampante, mentre il PC-2 potrebbe esser configurato su un'altra. 
Per render questo centralizzato sarebbe necessario salvare in un campo di
quella tabella un IDENTIFICATIVO_PC che potrebbe essere il nome computer
con ovvi problemi.
Mi potevano pure andare bene i My.Settings a livello di applicazione se non
fosse che sono readaonly e qualche settaggio potrebbe nascere o cambiare a
runtime.
Grazie per l'aiuto.