Oppure

Loading
Questo topic e' stato chiuso dal moderatore.
15/06/09 15:55
MrPaky
Ciao a tutti mi servirebbu un'altro aiutino sulle ListView in pratica ho 5 ListView vorrei sapere come posso salvare i dati di tutti i controlli in un file di testo per poi aprirlo di nuovo.
Ad esempio io utilizzo questo codice quà per salvare i dati di una sola listview:
Friend Sub CaricaLista(ByVal namefile As String)
        Try
                Dim read As New StreamReader(namefile)
                Dim numero As Integer = 0
                Dim item As String() = New String(11 - 1) {}
                Do While (read.Peek <> -1)
                    Dim stringa As String = read.ReadLine
                    Dim leng As Integer = stringa.Length
                    Dim obj As Object = Strings.Left(stringa, 1)
                    numero = numero
                    Dim input As String = stringa
                    stringa = read.ReadLine
                    item(0) = stringa
                    stringa = read.ReadLine
                    item(1) = stringa
                    stringa = read.ReadLine
                    item(2) = stringa
                    stringa = read.ReadLine
                    item(3) = stringa
                    stringa = read.ReadLine
                    item(4) = stringa
                    stringa = read.ReadLine
                    item(5) = stringa
                    Dim image As Integer = CInt(Math.Round(Conversion.Val(input)))
                    Dim items As New ListViewItem(item, image)
                    items.SubItems.Item(0).Tag = image
                    Lista.Items.Add(items)
                    numero = (numero + 6)
                Loop
                read.Close()
        Catch ex As Exception
End Try



con questo codice inserisco i dati su una listview.

Friend Sub SrivoFileTXT()
        Dim numeratore As IEnumerator
        Dim stringa As String = ""
        Try
            numeratore = ListaView.Items.GetEnumerator
            Do While numeratore.MoveNext
                Dim current As ListViewItem = numerato.Current, ListViewItem
                stringa = (stringa + Conversion.Str(current.ImageIndex) + ChrW(13) + ChrW(10))
                stringa = (stringa + current.SubItems.Item(0).Text + ChrW(13) + ChrW(10))
                stringa = (stringa + current.SubItems.Item(1).Text + ChrW(13) + ChrW(10))
                stringa = (stringa + current.SubItems.Item(2).Text + ChrW(13) + ChrW(10))
                stringa = (stringa + current.SubItems.Item(3).Text + ChrW(13) + ChrW(10))
                stringa = (stringa + current.SubItems.Item(4).Text + ChrW(13) + ChrW(10))
                stringa = (stringa + current.SubItems.Item(5).Text + ChrW(13) + ChrW(10))
            Loop
        Finally
            If TypeOf numerato Is IDisposable Then
                TryCast(numerato, IDisposable).Dispose()
            End If
        End Try
        TextBox1.Text = stringa
End Sub


Con questo codice invece scrivo il file TXT.

Ora il mio problema è che se sono 5 ListView come si fà ad salvare i dati delle "Liste" per poi ricaricarle??

Grazie tante per l'aiuto!

Ciao Ciao:pat::pat::-?:pat:
aaa
15/06/09 16:58
cassin.simone
Di XML non ne sò, ma io (sapendo come sono strutturati) userei quelli...:k:
aaa
15/06/09 17:33
MrPaky
va bene anche XML ma non sò come funziona.. Qualcuno che mi dà qualche aiutino??
aaa
15/06/09 18:05
GoLDBeRG
utilizza un semplice txt no? fai tipo

list1-campo1|list1-campo2|list1-campo3|$list2-campo1|list2-campo2|$list3-campo1.....
etc etc.... e poi fai uno split generale e ti riprendi tutto....
aaa
15/06/09 23:06
MrPaky
Per favore mi potresti fare un'esempio cn il codice?? Salvataggio e caricamento?? Poichè sn un principiante

Grazie del tuo aiuto;) :rotfl:
aaa
16/06/09 6:39
GoLDBeRG
Imports System
Imports System.IO

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        If File.Exists("ciao.txt") Then
            carica()
        Else
            Dim list(2) As String
            list(0) = "ciao"
            list(1) = "casa"
            Dim fr As New ListViewItem(list)
            ListView1.Items.Add(fr)
            Dim list2(2) As String
            list2(0) = "ciao2"
            list2(1) = "casa2"
            Dim fr2 As New ListViewItem(list2)
            ListView2.Items.Add(fr2)
        End If
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim sw As New StreamWriter("ciao.txt")
        For Each asd As ListViewItem In ListView1.Items
            sw.WriteLine(asd.SubItems.Item(0).Text & "|" & asd.SubItems.Item(1).Text)
        Next
        sw.WriteLine("$")
        For Each asd As ListViewItem In ListView2.Items
            sw.WriteLine(asd.SubItems.Item(0).Text & "|" & asd.SubItems.Item(1).Text)
        Next
        sw.Close()
    End Sub

    Sub carica()
        Dim sr As New StreamReader("ciao.txt")
        Dim str As String = sr.ReadToEnd
        sr.Close()
        Dim primo() As String = Split(str, "$")

        Dim pr1() As String = Split(primo(0), "|")
        Dim pr2() As String = Split(primo(1), "|")

        Dim list(2) As String
        list(0) = pr1(0)
        list(1) = pr1(1)
        Dim fr As New ListViewItem(list)
        ListView1.Items.Add(fr)
        Dim list2(2) As String
        list2(0) = pr2(0)
        list2(1) = pr2(1)
        Dim fr2 As New ListViewItem(list2)
        ListView2.Items.Add(fr2)
    End Sub
End Class
aaa
16/06/09 10:51
MrPaky
Grazie.... Da quanto programmi in vb?
aaa
17/06/09 9:40
GoLDBeRG
ho iniziato con il gwbasic nel 96 circa... ora siamo nel 2009... 2 conti XD
aaa