Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Loop per salvataggi

  1. #1

    Loop per salvataggi

    Ciao.
    Qualuno sa se è possibile fare un loop per salvare dei dati in un file .txt?
    Mi spiego meglio: ho dei numeri in una listbox e dovrei salvarli sul file esterno...... visto che possono essere anche tanti nn mi sembra il caso di scrivere "print" per ogni riga. C'è una soluzione alternativa?

    A proposito..... un file .txt esterno fino a quante righe può contenere senza creare problemi?


    Grazie ciao.:gren:

  2. #2
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    codice:
    Dim x as integer
    For x = 0 to NumeroMaxDiIndici( non mi ricordo, mi pare ListBox.ListCount -1 :master: )
       'ovviamente hai già aperto il file...
       Print ... , ValoreCorrenteListIndex
    next x

  3. #3
    Una cosa simile l'avevo già provata.... il problema è che così salva sempre sulla stessa riga, quindi resta nel file solo l'ultimo elemento della lista...... che fare?:gren:

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    53
    *** il ciclo devi aprirlo perima di lavorare sul file ***

    For i = 1 To List1.ListCount -1

    List1.ListIndex = i

    Open TuoFile For Append As #1
    Print #1, List1.Text
    Close

    Next i

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    53
    ...scusa
    For i = 0 To List1.ListCount -1

  6. #6
    Ehi funziona! Wonderful!

    A questo punto, però, "mi sorge spontanea" qualche altra domanda:

    1. Un file .txt quante righe può contenere senza far impallare il programma?
    2. Che differenza c'è tra "Open for append" e "Open for Output"?
    3. C'è un modo per cancellare completamente il contenuto di un file .txt?

    Grazie a tutti

  7. #7
    Utente bannato
    Registrato dal
    Sep 2001
    Messaggi
    413
    risposta 1- pressochè ... il resto dello spazio del tuo HD - lo spazio di swap di windows? :gren:

    risposta 2- append continua a scrivere dall'ultimo byte scritto + 1 in poi.....
    output inizia a scrivere da 0.

    risposta 3 - di conseguenza per sbiancare il file lo apri per output e ci putti "" ok? :metallica

  8. #8
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    @ Jonny:
    guarda che non scrive sulla stessa riga se usi print



    @ janx:
    con il codice che hai postato tu (apri il file dentro il ciclo) se devi scrivere 1000 righe ti apre e chiude il file 1000 volte!

    che senso ha?


    LEGGETE MEGLIO IL MIO 1° POST :tongue:



  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    53
    @ darkblOOd

    ...siccome Jonny Gulash ha scritto:

    " Una cosa simile l'avevo già provata.... il problema è che così salva sempre sulla stessa riga "

    non ci ho pensato molto, quindi ho detto "così scrive riga per riga per forza", anche se a pensarci nn capisco come il tuo (giustissimo) codice nn funzioni nel caso di Jonny Gulash

  10. #10
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    Originariamente inviato da janx
    @ darkblOOd

    ...siccome Jonny Gulash ha scritto:

    " Una cosa simile l'avevo già provata.... il problema è che così salva sempre sulla stessa riga "

    non ci ho pensato molto, quindi ho detto "così scrive riga per riga per forza", anche se a pensarci nn capisco come il tuo (giustissimo) codice nn funzioni nel caso di Jonny Gulash
    perchè probabilmente non l'ha neanche provato (o non ha interpetrato correttamente il non-codice che ho scritto)


    in + nel codice cha hai postato tu, se non apri il file for append, ti ritrovi solo l'utlima riga salvata.

    :gren:

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 © 2024 vBulletin Solutions, Inc. All rights reserved.