Salvare le impostazioni di una applicazione VB.NET
A volte, quando realizziamo una applicazione è necessario creare una parte del programma dove l’utente modifica con facilità delle impostazioni.
Un esempio lampante è un programma che si collega a un database. L’utente deve modificare con facilità i dati per accedere al proprio database : host,user,password e database.
In visual studio disegniamo il seguente form con 4 texbox, 5 label e un button

Una tecnologia appropriata per questo scopo è certamente l’XML . Aggiungiamo un file xml al nostro progetto , andiamo in esplora soluzioni , “aggiungi nuovo elemento”, “file xml” e chiamiamolo con il nome di settings.xml

Nel file appena creato aggiungiamo la seguente struttura :
<?xml version="1.0" encoding="utf-8" ?> <Settings> <mysql> <server>myhost</server> <database>mydatabase</database> <user>myuser</user> <password>mypassword</password> </mysql> </Settings>
Come ci colleghiamo al file xml ? Il framework .net mette a disposizione per noi sviluppatori la classe DataSet. Subito dopo la dichiarazione del form instanziamo la classe e impostiamo la patch del file settings.xml
Public Class frm_setting Dim dbSet As New DataSet Dim patch As String = Application.StartupPath + "\settings.xml" ... ... End Class
Quando l’utente apre la finestra , le texbox devono contenere i valori memorizzati del file xml e quando clicca su Salva il file xml si deve aggiornare. Realizziamo quello che abbiamo appena scritto :
Private Sub frm_setting_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load dbSet.ReadXml(patch) txtServer.Text = dbSet.Tables("mysql").Rows(0).Item("server") txtDatabase.Text = dbSet.Tables("mysql").Rows(0).Item("database") txtPassword.Text = dbSet.Tables("mysql").Rows(0).Item("password") txtUser.Text = dbSet.Tables("mysql").Rows(0).Item("user") End Sub Private Sub btn_edit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_edit.Click dbSet.Tables("mysql").Rows(0).Item("server") = txtServer.Text dbSet.Tables("mysql").Rows(0).Item("user") = txtUser.Text dbSet.Tables("mysql").Rows(0).Item("password") = txtPassword.Text dbSet.Tables("mysql").Rows(0).Item("database") = txtDatabase.Text dbSet.WriteXml(patch) End Sub
Con dbSet.Readml(patch) leggiamo il file xml e con dbSet.WriteXml(patch) salviamo i nuovi dati .
00:20 on gennaio 28th, 2010
ciao,questo esempio calza a pennello ad una cosa che vorrei fare ma come fare in modo tale che il file xml invece che essere “fisso”, si possa scegliere?
17:12 on gennaio 28th, 2010
Ciao manuel.
Per selezionare dinamicamente il file xml puoi usare l’OpenFileDialog . Basta che lo inserisci dalla casella degli strumenti .
Quando vuoi scegliere il file inserisci il seguente codice :
OpenFileDialog1.ShowDialog()
Infine con
OpenFileDialog1.FileName()
ottiene il percorso del file
Se vuoi altri chiarimenti contattami in email all’indirizzo costagregorioalessio[kiocciola]gmail.com