Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    65

    Archiviazione dati in file di testo

    hola
    Uso VB2010 express.
    Ho la necessità di archiviare dei dati in un semplice file di testo.
    Nessun problema sia nel crearlo che le leggerlo, se ogni riga contenesse un unico valore.
    In realtà per me ogni riga corrisponde ad un record (quindi diversi valori per ogni riga) di dati.
    Per la lettura mi sembra di aver capito che posso usare solo StreamReader e Readline ma così mi legge tutta la riga in luogo dei singoli valori.
    Avete qualche suggerimento?
    Grazie

  2. #2
    Utente di HTML.it L'avatar di ShaleN
    Registrato dal
    Aug 2010
    Messaggi
    517

    Re: Archiviazione dati in file di testo

    Originariamente inviato da olmof
    Avete qualche suggerimento?
    A parte usare un database? Salvare tutto il contenuto del file di testo (se non è troppo grosso) in un array di stringhe. Sulle varie componenti di questo array potrai poi usare la funzione .Split della classe String.
    Ancora meglio sarebbe creare una classe "Record" che espone un campo per ognuno dei campi dei tuoi "record" scritti sul file di testo. Poi, scrivi una funzione che all'avvio del programma legge il file di testo e ne salva il contenuto in una List(Of Record) che poi potrai scorrere come meglio ti aggrada. Nella routine che chiude il programma non farai altro che fare il processo inverso, ossia scrivere il file a partire dalla lista.

    Spero di averti aiutato

    Le vie del Signore sono infinite. È la segnaletica che lascia a desiderare.
    La luce viaggia più veloce del suono. Per questo alcune persone sembrano brillanti finchè non parlano.
    Occhio per occhio uguale... occhio al quadrato

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    65
    Si, certo niente database.
    Sinceramente non ho capito moltissimo, però ho preso spunto dalla parolina magica .Split , sono andato a googlare un pò ed ecco la soluzione:
    codice:
            Dim openFileDialog As New OpenFileDialog()
            openFileDialog.InitialDirectory = pathMDb & "temp"
            openFileDialog.Filter = "lst file|*.lst"
            openFileDialog.FilterIndex = 1
            openFileDialog.RestoreDirectory = True
            openFileDialog.Title = "Elenco file etichette"
            Dim a() As String
            If openFileDialog.ShowDialog() = DialogResult.OK Then
                Using readfromfile As New IO.StreamReader(openFileDialog.FileName)
                    While readfromfile.Peek <> -1
                        a = (readfromfile.ReadLine.Split(New String() {","}, StringSplitOptions.None))
                        DataGridView1.Rows.Add(a(0), a(1), a(2))
                    End While
                    readfromfile.Close()
                End Using
            End If
    e la cosa grandiosa è che funziona!
    C'è qualcosa da perfezionare?
    Grazie

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.