Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    455

    [VB08]Salvare dati listbox

    Ciao a tutti,devo salvare il contenuto di una lista in un file txt e per far questo sto usando questo codice che mi da errore:
    codice:
        Private Sub SaveList(ByVal lst As ListBox, ByVal file As String)
            On Error GoTo err
            Dim I As Integer
            Dim a As String
    Open file For Output As #1
            For I = 0 To lst.Items.Count - 1
                a = lst.Items(I)
    Print #1, a
            Next
            Close(1)
            Exit Sub
    err:
            MsgBox("There has been a error!", vbOKOnly, "Error")
        End Sub
    Gli errori che mi da li ho sottolineati

  2. #2
    Utente di HTML.it L'avatar di FETBIG
    Registrato dal
    Jul 2008
    Messaggi
    29
    Ciao

    Open File non credo sia più supportata da VB08. Usa invece

    per scrivere e leggere
    FileOpen(1, "TESTFILE", OpenMode.Output)
    Write(1, "hello") 'scrive nel file
    Write(1, 14)
    FileClose(1)
    Dim s As String = "teststring"
    Dim i As Integer
    FileOpen(1, "TESTFILE", OpenMode.Input)
    Input(1, s) 'legge dal file
    MsgBox(s)
    Input(1, i)
    MsgBox(i)
    FileClose(1)


    per leggere una riga
    Dim TextLine As String
    ' Open file.
    FileOpen(1, "TESTFILE", OpenMode.Input)
    ' Loop until end of file.
    While Not EOF(1)
    ' Read line into variable.
    TextLine = LineInput(1)
    ' Print to the console.
    WriteLine(1, TextLine)
    End While
    FileClose(1)

    Inoltre puoi usare i metodi e le proprietà di My.Computer.Filesystem

    Ciao
    La coscienza al di sopra di ogni azione e di ogni parola

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    455
    Credo che i tuoi codici non centrino a niente...io devo salvare il contenuto di un listbox in un file txt tramite pulsante ma il codice che mi hai dato tu non capisco cosa faccia...avvia solo una MsgBox e mi scrive un 14.

  4. #4
    Utente di HTML.it L'avatar di FETBIG
    Registrato dal
    Jul 2008
    Messaggi
    29
    Ciao

    ovviamente te li devi personalizzare. Ti ho solo dato la farina per fare il pane.
    I metodi sono quelli corretti per scrivere e leggere in/da un file testo con VB08, giacchè open file. input# e close non sono più supportati. Ciao
    La coscienza al di sopra di ogni azione e di ogni parola

  5. #5
    Utente di HTML.it L'avatar di FETBIG
    Registrato dal
    Jul 2008
    Messaggi
    29
    Ciao di nuovo

    specifico meglio:
    al posto di open file ci va fileopen
    al posto di input # 1 ci devi mettere write(numerofile, stringa presa dalla lista tramite il ciclo)
    al posto di close(numerofile) ci va fileclose

    Infine l'esempio che ti ho postato ti ha sicuramente creato un file chiamato 'Testfile' nella cartella dell'applicazione. Ciao
    La coscienza al di sopra di ogni azione e di ogni parola

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    455
    Originariamente inviato da FETBIG
    Ciao di nuovo

    specifico meglio:
    al posto di open file ci va fileopen
    al posto di input # 1 ci devi mettere write(numerofile, stringa presa dalla lista tramite il ciclo)
    al posto di close(numerofile) ci va fileclose

    Infine l'esempio che ti ho postato ti ha sicuramente creato un file chiamato 'Testfile' nella cartella dell'applicazione. Ciao
    Ciao

    Grazie per la tua ultima risposta che mi ha fatto notare quanto puo' essere utile il tuo codice base.Però purtroppo non sono riuscito ancora a salvare la mia lista,ho fatto come hai detto tu ma ottengo sempre alcuni errori.Il codice è questo:

    codice:
            On Error GoTo err
            Dim I As Integer
            Dim a As String
    FileOpen For Output As #1 ' Ho lasciato output as #1 perchè non da errori (l'errore è il For)
            For I = 0 To lst.Items.Count - 1
                a = lst.Items(I)
    Print #1, a
            Next
            FileClose()
            Exit Sub
    err:
            MsgBox("There has been a error!", vbOKOnly, "Error")
    E mi da ancora errore la riga Print #1, a (per la precisione solo il #1 del print) e mi continua a dare errore anche il For...

  7. #7
    Utente di HTML.it L'avatar di FETBIG
    Registrato dal
    Jul 2008
    Messaggi
    29
    Ciao sei sulla buona strada.
    Ti posto la sub rifatta

    Private Sub SaveList(ByVal lst As ListBox, ByVal file As String)

    Dim I As Integer
    Dim a As String

    On Error GoTo err

    FileOpen(1, file, openmode.output) file For Output As #1
    For I = 0 To lst.Items.Count - 1
    a = lst.Items(I)
    Write(1, a)
    Next
    FileClose(1)
    Exit Sub
    err:
    MsgBox("There has been a error!", vbOKOnly, "Error")
    End Sub

    Ciao
    La coscienza al di sopra di ogni azione e di ogni parola

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    455
    Grazie mille!Funziona,ora cercherò di fare anche la funzione per aprirlo!

  9. #9
    Utente di HTML.it L'avatar di FETBIG
    Registrato dal
    Jul 2008
    Messaggi
    29
    Scusami deve essere rimasto qualcosa in mezzo ai denti

    Non

    Private Sub SaveList(ByVal lst As ListBox, ByVal file As String)

    Dim I As Integer
    Dim a As String

    On Error GoTo err

    FileOpen(1, file, openmode.output) file For Output As #1
    For I = 0 To lst.Items.Count - 1
    a = lst.Items(I)
    Write(1, a)
    Next
    FileClose(1)
    Exit Sub
    err:
    MsgBox("There has been a error!", vbOKOnly, "Error")
    End Sub


    ma (il testo sottolineato apparteneva alla vecchia sub)

    Private Sub SaveList(ByVal lst As ListBox, ByVal file As String)

    Dim I As Integer
    Dim a As String

    On Error GoTo err

    FileOpen(1, file, openmode.output)
    For I = 0 To lst.Items.Count - 1
    a = lst.Items(I)
    Write(1, a)
    Next
    FileClose(1)
    Exit Sub
    err:
    MsgBox("There has been a error!", vbOKOnly, "Error")
    End Sub


    Ciao
    La coscienza al di sopra di ogni azione e di ogni parola

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    455
    Originariamente inviato da FETBIG
    Scusami deve essere rimasto qualcosa in mezzo ai denti

    Non

    Private Sub SaveList(ByVal lst As ListBox, ByVal file As String)

    Dim I As Integer
    Dim a As String

    On Error GoTo err

    FileOpen(1, file, openmode.output) file For Output As #1
    For I = 0 To lst.Items.Count - 1
    a = lst.Items(I)
    Write(1, a)
    Next
    FileClose(1)
    Exit Sub
    err:
    MsgBox("There has been a error!", vbOKOnly, "Error")
    End Sub


    ma (il testo sottolineato apparteneva alla vecchia sub)

    Private Sub SaveList(ByVal lst As ListBox, ByVal file As String)

    Dim I As Integer
    Dim a As String

    On Error GoTo err

    FileOpen(1, file, openmode.output)
    For I = 0 To lst.Items.Count - 1
    a = lst.Items(I)
    Write(1, a)
    Next
    FileClose(1)
    Exit Sub
    err:
    MsgBox("There has been a error!", vbOKOnly, "Error")
    End Sub


    Ciao
    Si avevo notato,avevo capito subito che quello era un errore infatti l'ho tolto e ha funzionato alla perfezione!E come ho già detto ora tenterò di fare la funzione per caricare la lista.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.