Newsgroup: it.comp.lang.visual-basic
Titolo: [OT?] Quelli che... io uso il registry per salvare le impostazioni

http://blogs.msdn.com/oldnewthing/archive/2006/02/22/536920.aspx
Leggete, leggete quanto "costa" in termini di performance la
lettura di quelle chiavi :D
Saludos,
Andrea

 lettura di quelle chiavi :D
E se non ricordo male un thread di epoca preistorica, paradossalmente le
prestazioni peggiorano nel compilato.
-- 
Salutoni
Sergio
..Nessun baol esiste.
Non sei mai esistito, Baol, se non nei nostri sogni.
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 lettura di quelle chiavi :D
Non vorrei fare il pignolo, ma quando M$ ha tirato fuori il registry in giro 
c'era pieno di gente che sfotteva chi usava gli INI perche' troppo 
antiquati...

 troppo antiquati...
la moda adesso e' usare l'xml... peccato che ... e' scomodissimo cavolo !
il registry tutt'oggi rimane il metodo + veloce per memorizzare e ripescare
informazioni secondo me.
Con savesetting getsetting ci fai di tutto !
io ho un piccolo gestionale tutto parametrizzato, per passare da un cliente
ad un altro clicco semplicemente nella cartella
"/reg/applicazione/clienteXXX/setting.reg" ed apro sempre la stessa cartella
in /sviluppo....
con l'ini o xml gia' ti devi mettere a rinominare o spostare i file...
poi la lettura dell'ini e' orrenda, la prima cosa da fare e' scrivere 2 func
di lettura e scrittura su ini che poi velocizzano l'utilizzo, l'xml come
l'ini....
non so, correttamente gestito secondo me il registry e' ancora il metodo +
"comodo" e funzionale anche se va a inzozzare un file molto scomodo per
l'architettura win.
Voi cosa usate prevalentemente ?
La mia classifica e' :
1) Reg
2) Testo
3) Ini
4) Xml
-- 
-Gigio@work-
G2k Blog : 
http://www.g2kweb.it/?3098
G2k Snip Url : 
http://www.g2kweb.it/?3015
G2k Free Gallery : 
http://www.g2kweb.it/?218

 2) Testo
Io uso semplicemente un file di testo .. anche se sto iniziando ad usare 
un file xml .. ma come tu hai detto è difficile da usare, ma visto che 
mi ci troverò a combattere con l'xml anche per altri progetti e non solo 
per creare file di configurazione .. allora mi ci sto mettendo di 
impegno .. :)
--
SEZIONE OMICIDI:
Nuova strepitosa offerta, porta 2 amici e vinci. 3 suocere al prezzo di 2.
[CapoBecchino] - hotmail/msn: capobecchino [@] hotmail [.] com

Io uso sempre un bel file INI, non ho capito quali limitazioni accenni
con il discorso
di cambiare o rinominare...???
Io lo creo dal file di installazione pertanto viene parametrizzato a
seconda di come
l'utente esegue l'installazione.
Per leggere e scrivere in un INI è la stessa cosa che usare GetSetting
e SaveSetting
che poi prova ad usare le API direttamente invece che quelle funzioni
native, e testalo
su 10000 letture e dimmi cosa vedi...!!!
Saluti
@Alex

 4) Xml
Non ho una classifica, il supporto utilizzato dipende molto dal tipo di
informazione che devo memorizzare. Molto spesso in una stessa applicazione ci
sono 2 o anche 3 supporti di configurazione diversi.
- INI per i settaggi dinamici e/o frequenti e/o condivisi in rete.
- Registry per le impostazioni "statiche" (es. configurazione applicazione) e/o
"delicate" (così l'utente smanettone non le trova facilmente)
- File binari, criptati, per le impostazioni "critiche" (es. licenze d'uso)
I file di testo non trovano un grande utilizzo nelle mie app, si possono (quasi)
sempre rimpiazzare con un file INI.
Non ho ancora trovato un valido motivo per usare l'XML come supporto per
memorizzare impostazioni dell'applicazione, mentre ad esempio come formato di
"documento" sì.
Bye
Raf

 "documento" sì.
Questo potrebbe essere interessante .. :)
domanda: come fai a parsarti il file xml ti sei scritto te alcune 
funzioni o usi le librerie di mamma m$?? Io sto provando con mamma m$ ma 
sono alquanto ostiche .. :( ma potrebbe essere che oggi sono 
particolarmente stanco ;)
--
SEZIONE PICCOLI ACCORGIMENTI: "Chiamami un tassì", mi disse prima di 
morire e sulla sua lapide ho scritto: "Qui riposa in pace Untassì".


 su 10000 letture e dimmi cosa vedi...!!!
si infatti uso solo le api dirette parsate dietro a funzioni mie tipo
g2kWriteReg.. e g2kReadReg...
savesetting e co li uso solo in casi di piccoli settaggi.


 particolarmente stanco ;)
Uso la libreria MSXML3 "as is"... non è il più bell'object model che abbia mai
visto, ma per i miei scopi è stato meno ostico del previsto.
Bye
Raf

> Voi cosa usate prevalentemente ?
A parte casi particolari ho sempre ritenuto gli INI più pratici ed eleganti
del registro.
Il registro ha lo svantaggio di essere poco accessibile, per cui, trasferire
i parametri da un PC all'altro o anche riusarli sullo stesso PC dopo una
formattazione diventa abbastanza complicato. Anche il debug di un file INI è
più veloce.
L'unico vantaggio del registro, IMO, è che, se si disinstalla e poi si
reinstalla il sw, i parametri possono rimanere memorizzati. La stessa cosa
che si faceve una volta salvando il file INI nella dir di windows, allora
questa veniva considerata una brutta abitudine visto che tende a sporcare il
sistema, col registro non è cambiato niente, solo che la sporcizia è più
nascosta...

 file INI nella dir di windows...
Cosa che comunque si può evitare, aggiungendo App.Path
al nome file, mentre lo "sporcamento" arrecato usando
il registro non è evitabile in alcun modo.
Ciao.
Mauro

 4) Xml
Allora, usare XML per i files di configurazione secondo me è una
cretinata. Perché?
1) Perché parsare l'XML è lento
2) Perché basta nulla per renderlo non valido e far "saltare"
    l'applicazione
3) Per i problemi di encoding
4) Perché l'infrastruttura necessaria è comunque maggiore di INI o
    altri sistemi, con potenziali problemi.
Usare il registry altrettanto secondo me non è molto intelligente,
perché:
1) La configurazione non è spostabile
2) Non puoi mettere in condivisione un file con le impostazioni
    base da far copiare all'utente pronti via
3) Quando si hanno esigenze più specifiche si possono usare i DB
    oppure LDAP o quel che vuoi, a seconda dei casi.
4) Perché ormai non è più come un tempo e ci sono tantissimi
    smanettoni che sanno usare il registry
Usare un file di testo normale è già più logico se non che:
1) Devi scriverti tu le classi per la loro gestione, quindi perdi
    tempo e le devi anche mantenere -> altra perdita di tempo
2) Se non pianifichi bene tutto, probabilmente finirai a dover
    rifare il sistema 3 o 4 volte almeno, rendendo incompatibili i
    formati precedenti
3) E' altamente probabile che si finisca ad emulare i files INI :D
Vantaggi degli ini:
- Esporti ed importi configurazioni SENZA bisogno di una funzionalità
   dedicata
- Puoi usare i commenti(e mettere un bel NON TOCCARE dove ti serve,
   questo spaventerà buona parte degli utenti non smanettoni)
- QUASI NESSUNO degli utenti non smanettoni sa che razzo è un file INI
- Occupa poco spazio, si comprime con facilità e si trasferisce in
   rete senza problemi
Tutto ovviamente, imho.
Ciao,
Andrea

 ha
scritto:

Quoto tutto.
Sono d'accordissimo !!
Io ho sempre usato files di testo (quasi sempre .INI e qualche volta files di
testo criptati) e non mi sono neanche mai sognato di cambiare.
--
ciao
  Stefano

 stanco ;)
Per .Net io mi sono scritto la mia libreria che permette la serializzazione 
in xml di una qualsiasi classe evitando tutte le paturnie di ISerializable 
che sembra che faccia tutto lui ma in pratica ti costringe a scriverti a 
mano tutto il codice.
Devo dire che probabilmente non ho molta dimestichezza con gli xml, ma c'č 
da sputare sangue a gestirli, anche perchč le classi si comportano in modo 
(IMHO) poco razionale e ti costringono a fare un mucchio di controlli.
A chi interessasse č NeoDataType.Serialization.dll incluso nel pacchetto 
scaricabile nel mio sitarello (vedi firma).
Per il salvataggio di impostazioni credo che l'uso di ApplicationSettingBase 
non sia male (My.Settings con VB.Net).
Ciao
-- 
Free .Net Reporting Tool - 
http://www.neodatatype.net
 

 il registro non è evitabile in alcun modo.
Purtroppo ormai le cose sono più complesse.
Da win2000 e la gestione dei permessi è molto probabile che l'utente non 
abbia i permessi di scrivere nella cartella Programmi.
Le impostazioni andrebbero salvate nella cartella Documents and Settings 
sotto l'utente corretto.


 Voi cosa usate prevalentemente ?
I vecchi e bravi file .ini