Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [VB.NET] "Salvare" dati all'interno dell'applicazione

    Eccomi con un altra domandina...

    Ho la necessità di salvare dei dati all'interno della mia applicazione in modo da riaverli alla successiva apertura del programma stesso, possibilmente evitando un database esterno.

    Se può essere di aiuto i dati saranno praticamente solo valori numerici (il programma serve per tenere conto delle "spese" giorno per giorno.

    Chi mi puo dare una spintarella?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    un semplice file di testo o meglio un file xml.
    I got the remedy

  3. #3
    Ci avevo gia pensato, ma dal un file di testo come faccio poi a recuperare il dato giusto e "infilarlo" nella label o nelle variabili che mi interessano una volta che lo tiro su?

  4. #4
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    si infila si infila, non ti preoccupare basta leggere come infilarlo
    I got the remedy

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Detto tra noi, e' piu' difficile per te "recuperare" e "infilare" i dati da un file di testo piuttosto che da un db ... fossi in te, farei uno sforzo per iniziare a trattare i db ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Perfortuna mia me la cavo meglio a "infilare" altro anzichè delle stringhe

    Allora... sono riuscito a capire come scrivere nel mio bel file XML i dati da salvare, per provare ho scritto questo:

    codice:
         Sub write_value()
    
            Dim Writer As New XmlTextWriter("Resources\db.xml", UTF8Encoding.UTF8)
    
            With Writer
         
                .Indentation = 2
                .IndentChar = " "
    
                .WriteStartDocument()
    
                .WriteStartElement("gruppodati1")
    
                .WriteElementString("dato1", txtin0.Text)
                .WriteElementString("dato2", txtin1.Text)
                .WriteElementString("dato3", txtin2.Text)
    
                .WriteEndDocument()
                .Close()
            End With
    ed ho ottenuto il risultato che volevo:

    codice:
      <?xml version="1.0" encoding="utf-8" ?> 
      <gruppodati1>
           <dato1>a</dato1> 
           <dato2>b</dato2> 
           <dato3>c</dato3> 
      </gruppodati1>
    ora però viene il bello... come faccio a "leggere" la struttura? ho cercato un po per il web ma non ci ho capito una mazza...

  7. #7
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    Originariamente inviato da Ricky_85
    Perfortuna mia me la cavo meglio a "infilare" altro anzichè delle stringhe
    bravo per te

    Originariamente inviato da Ricky_85
    ...
    ora però viene il bello... come faccio a "leggere" la struttura? ho cercato un po per il web ma non ci ho capito una mazza...
    con la classe fratello maggiore di XmlTextWriter che si chiama XmTextReader
    I got the remedy

  8. #8
    l'avevo immaginato che fosse quello

    Ma sono ancora troppo impedito e non riesco ad usarlo correttamente ><

  9. #9
    Ci sono riuscito

    Ricapitolo come ho fatto, magari in futuro può tornare utile a qualcun'altro ^^

    Ho usato i seguenti imports
    codice:
    Imports System.Xml
    Imports System.Text
    Per scrivere...
    codice:
     
    Sub write_value()
    
            Dim Writer As New XmlTextWriter("Resources\db.xml", UTF8Encoding.UTF8)
    
            With Writer
    
                .Indentation = 2
                .IndentChar = " "
    
                .WriteStartDocument()
    
                .WriteStartElement("gruppodati1")
    
                .WriteElementString("dato1", txtin0.Text)
                .WriteElementString("dato2", txtin1.Text)
                .WriteElementString("dato3", txtin2.Text)
    
                .WriteEndDocument()
                .Close()
            End With
    
        End Sub
    Per leggere...
    codice:
        Sub Reader()
    
            ds.ReadXml("Resources\db.xml")
            Dim dato1letto As String = ds.Tables("gruppodati1").Rows(0).Item("dato1")
            Dim dato2letto As String = ds.Tables("gruppodati1").Rows(0).Item("dato2")
            Dim dato3letto As String = ds.Tables("gruppodati1").Rows(0).Item("dato3")
    
            Label1.Text = dato1letto
            Label2.Text = dato2letto
            Label3.Text = dato3letto
    
    End Sub
    Per salvare il file xml da codice...
    codice:
        Sub save_xml()
    
            ds.WriteXml("Resources\db.xml")
    
        End Sub
    Ovviamente è necessario dichiarare il DataSet in modo che sia visibile a tutti

    codice:
    Dim ds As New Data.DataSet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.