Il blog per tutti gli smanettoni del pc

Salvare le impostazioni di una applicazione VB.NET

gen 4

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 .

Download progetto

2 Commenti a “Salvare le impostazioni di una applicazione VB.NET”

  1. manuel
    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?

  2. Gregorio
    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

Lascia un Commento