Newsgroup: it.comp.lang.visual-basic
Titolo: File di configurazione

Ciao a tutti,
Ho la necessita di usare file di configurazione per le applicazioni(INI, XML 
o roba simile), bene...
In VB6 ho sempre usato un modulo che si appogiava a API di sistema quali 
WriteINI() e ReadINI()...
Questo modulo non funziona su .net...
C'è qualcosa di comodo e gia pronto su .net?
Inoltre, dovrebbe essere possibile cambiare l' estensione del file (ad 
esempio writeINI funzionava senza problemi se usavo come file ini ciao.dll 
(e non l' estensione *.ini)) Questo mi serve per nascondere alcuni file di 
configurazione. Idee?
Grazie in anticipo a tutti,
-- 
Carmine ( 
pikachu...@gmail.com
 (Togli la scritta NOSPAM) )
NUOVISSIMO SITO!!! The Total Site 4 : 
http://www.thetotalsite.it
MariokartDS Codice Amico: 532639027909 - CarmineC in MarioKartDS 

 configurazione. Idee?
Per nascondere il file,
penso, uno sguardo alle classi del namespace
System.IO.File.SetAttributes
Ave
giuseppeD
---
CCR

 C'è qualcosa di comodo e gia pronto su .net?
Se usi VB 2005 c'è qualcosa di comodissimo.
Vai su Project > Properties > Settings, definisci tutti i settaggi di 
proprietà che vuoi e poi li gestisci tramite My.Settings.
Oppure direttamente con la proprietà ApplicationSettings dei controlli.
-- 
Saluti
VITRIOL

 controlli.
Grazie,
E' piuttosto comodo, ma...
Con My.Settings vedo le varie proprietà... ma come crearne di nuove e 
modificare le altre a runtime?
Bye,


 NomeProgetto.exe.config
Ma poi funzionerà solo in quella form?
Bye,


 Ma poi funzionerą solo in quella form?
In tutta l'applicazione.
Essendo un file.xml potresti leggere i valori anche da altri progetti.
Ave
giuseppeD
---
CCR
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Essendo un file.xml potresti leggere i valori anche da altri progetti.
Ok, ma, emh...
Come imposto una proprietà in databindings?


 Come imposto una proprietà in databindings?
Usi vs 2003 o 2005 ?
Ave
giuseppeD
---
CCR 

 Usi vs 2003 o 2005 ?
Vs 2005.


 Vs 2005.
due possibilità:
1- Settings.settings
dopo la costruzione del progetto, clic sul tasto di Solution Explorer, "Show 
all files".
Verranno mostrati tutti i file, anche Settings.settings, presente nella 
cartella "My Project"
Tasto destro del mouse, Open, aggiungi il nome e il valore del settaggio
Con My.Settings.nomeChiave
rilevi il valore.
2- app.config
nel progetto, vs2005 lo aggiunge di default, trovi il file
nomeProgetto.exe.config
e in Solution il file app.Config
In app.Config
aggiungi:
<appSettings>
    <add key="MiaChiave" value="cccc dddd pppp" />
  </appSettings>
</configuration>
e per rilevare il valore:
  Dim aa As String = 
System.Configuration.ConfigurationSettings.AppSettings.Item("MainForm")
anche se il CLR avverte che il sistema è obsoleto.
Ave
giuseppeD
---
CCR 

 rilevi il valore.
Si, è quello che avevo fatto anche prima...
Ma poi non posso aggiungere chiavi a runtime...


 Ma poi non posso aggiungere chiavi a runtime...
quante seghe mentali... ma le nuove leve sono capaci di leggere
e scrivere un file o  fanno solo i fighi col drag  and drop dei
controlli su un form?
-- 
un hal che quando ci vuole, ci vuole!

 controlli su un form?
In che senso nuove leve?
Idrauliche?


 controlli su un form?
Stavo guardando il filmato del lancio di VS 2005,
impressionante gli esempi.
In pochi minuti si costruiscono portali verticali ed orizzontali
Il preoccupante, li possono vedere responsabili,  clienti e nuove leve.
L'idea è che con pochi clic puoi costruire un programma che gestisce i cc 
dei clienti di una banca.
Mi sembra che la realtà sia un pochino diversa.
Ave
giuseppeD
---
CCR

 Mi sembra che la realtŕ sia un pochino diversa.
Microsoft ha rovinato  il mercato del lavoro informatico, permettendo
a cani e porci di definirsi informatici  e favorendo cosi` la discesa
della remunerativita` della professione.
Non mi interessa cosa fara` da grande mio figlio, ma spero non faccia
l'informatico.
-- 
ciao, hal

> Ma poi non posso aggiungere chiavi a runtime...
Si puo', si puo'...
      Dim cfg As System.Configuration.Configuration = 
ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)
      Dim csg As ConfigurationSectionGroup = 
cfg.GetSectionGroup("applicationSettings")
      Dim css As ClientSettingsSection = 
TryCast(csg.Sections.Get("MyNameSpace.My.MySettings"), 
ClientSettingsSection)
      Dim se As New SettingElement("NewValue", SettingsSerializeAs.String)
      Dim sve As New SettingValueElement()
      sve.ValueXml = New XmlDocument().CreateElement("value")
      sve.ValueXml.InnerText = "Ciao"
      se.Value = sve
      css.Settings.Add(se)
A questo punto alcune precisazioni...
Q-E' consigliabile questa tecnica?
A-No, in quanto potrebbero esserci problemi di permissions se, come in 
questo caso si modifica il file .config
Q-E' vantaggiosa?
A-No perche' bisogna usare la stessa tecnica per leggere/verificare la 
presenza di un determinato setting perdendo il supporto a My.Settings
...era solo per dimostrare che si puo' fare...
-- 
Corrado Cavalli [Microsoft .NET MVP-MCP]
UGIdotNET - 
http://www.ugidotnet.org
Weblog: 
http://blogs.ugidotnet.org/corrado/


 l'informatico.
:-O Sacrilegggio !


 ecc...
non e` proprio questo il problema, prima ancora delle GUI c'e` la
comprensione delle *basi* della progettazione e dello sviluppo del software.
poi, la sintassi specifica e` una stupidaggine.
-- 
ciao, hal

 poi, la sintassi specifica e` una stupidaggine.
?


 ?
voglio dire che, una volta compreso come va scritto un programma e come
funziona un computer ( le basi, appunto), poco importa se il linguaggio  
in uso in un certo  momento richieda  il punto e virgola o la parentesi 
quadra piuttosto che tonda o graffa.
-- 
ciao, hal

 la parentesi quadra piuttosto che tonda o graffa.
Si, ovvio.
Infatti per passare ad esempio da Vb.net a C# non ci vuole niente.
E anche ad esempio per imparare C++ a partire da Vb.net basta solo 
apprendere la nuova sintassi e le librerie fondamentali, mentre la oop e i 
costrutti fondamentali si conoscono già.


 costrutti fondamentali si conoscono già.
a me era sembrato di capire che non si sapesse fare neanche un elementare
I/O su file... :>
-- 
ciao, hal

 presenza di un determinato setting perdendo il supporto a My.Settings
Ok, adesso faccio una domanda io.
Ho visto che per queste cose sembra (e sottolineo "sembra") essere una buona 
tecnica quella di derivare da System.Configuration.ApplicationSettingBase, 
anche perchè tutte le vecchie AppSettings & Co sono marcate come obsolete.
Aggiungi la tua prop e poi il fw fa tutto lui (ovviamente dopo un bel po' di 
sperimentazione poichè la documentazione su questo argomento è pressochè 
nulla).
Domande:
- funziona, ma non sono mica riuscito a capire dove accidenti vengono 
salvate le informazioni.
- Non capisco perchè salvare una proprietà a livello di utente non da 
problemi mentre se provo a salvarla a livello di app non funziona (non da 
errore, semplicemente non salva niente).
Questo anche se lo faccio come administrator.
Ciao
-- 
Free .Net Reporting Tool - 
http://www.neodatatype.net
 

 ha scritto nel messaggio 
news:slrndvgvou....@oistux.ace...

?!?!
FileOpen("...")...
Open "..."...
L' I/O è facilissimo...


 errore, semplicemente non salva niente).
Non ho fatto test approfonditi, pero' verifica che il file .config non venga 
rigenerato da VS (prova con l'eseguibile)
HTH


 L' I/O č facilissimo...
non sembrerebbe dal tipo di domande che vengono rivolte al newsgroup...
-- 
ciao, hal

 non sembrerebbe dal tipo di domande che vengono rivolte al newsgroup...
Tipo?


 Tipo?
la tua sul salvataggio della configurazione
-- 
ciao, hal

 ha scritto nel messaggio 
news:slrndvh80e....@oistux.ace...

Una cosa č scrivere e leggere un file, un altra č farsi un parser XML...
O INI...


 O INI...
non diciamo sciocchezze, per favore!
nessuno ti obbliga a salvare la configurazione in un formato specifico, 
quindi puoi scegliere cio` che ti e` piu` comodo.
e non mi dire che leggere/scrivere un ini e` difficile perche` altrimenti
i campi di pomodori ti aspettano per la prossima estate :-PPP
-- 
ciao, hal

 i campi di pomodori ti aspettano per la prossima estate :-PPP
sono piu' difficili, o almeno, sono molto bassi :)

 ciao, hal 

 Per quanto riguarda i pomodori, umhhh... il sugo in effetti mi piace...
vedi? braccia sottratte all'agricoltura :P
-- 
ciao, hal

 sono piu' difficili, o almeno, sono molto bassi :)
si parlava infatti di lavorare un po' a basso livello :P
-- 
ciao, hal

 funzioni di I/O.
Per me si...
Non ho mai avuto molta simpatia con le funzioni di I/O e ricerca all' 
interno di file.


 interno di file.
e pretendi di programmare?
-- 
ciao, hal

 e pretendi di programmare?
??????????????????!!!!!!!!!!!!!!!!!!!!!!!!!????????????????????


 ??????????????????!!!!!!!!!!!!!!!!!!!!!!!!!????????????????????
ho capito.
ci sei *E* ci fai.
-- 
ciao, hal