Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Vb6 gestione file

  1. #1

    Vb6 gestione file

    Ciao a tutti,
    Sono un utente nuovo registrato, frequento da tanto il vostro sito con le guide fatte benissimo, però ora ho un problema su cui sto fermo da 1 giorno.
    Sto creando una piccola rubrica telefonica constituita da nome/cognome/tel. gestita con i record.
    Fin qui tutto bene, solo che vorrei andare oltre, cioè salvare il contenuro del record in un file di testo.
    Supponiamo di avere
    codice:
    v(x).cognome                v(x).nome         v(x).telefono
    Rossi                              Pietro             11111
    Colombo                          Marco             22222
    Dovrei portare tutto in un documento di testo nel formato
    Data e ora giorno ->attraverso la funzione Time Date
    2 ->numero di dati contenuti in ogni vettore
    rossi
    colombo ->prima i cognomi
    Pietro
    Marco ->i nomi
    11111
    2222 ->ed i telefoni

    Per il caricamento uso

    codice:
    Private Sub Form_Load()     
    c=1
    n=2                                'i dati presenti
    Open "E:\esempio.txt" For Append As #1         
       Print #1, Date  + Time 
       Print #1, N 
       Do while c<=n    
          Print #1, v(c).cognome
          c=c+1
       Loop  
       c=1
       Do while c<=n    
          Print #1, v(c).nome
          c=c+1
       Loop 
       c=1
       Do while c<=n    
          Print #1, v(c).telefono
          c=c+1
       Loop    
    Close #1 
    End Sub
    Il problema sorge quando devo fare il procedimento contrario, premendo un pulsante

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,315

    Moderazione

    Spostato nel forum "Visual Basic e .NET Framework"

    In futuro, poni qui le domande relative a VB.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    scusate..

  4. #4
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Secondo me il problema sorge nella scelta di salvare i dati in quell'ordine.
    Per quale motivo li devi registrare in quel modo ?
    Ciao, Brainjar

  5. #5
    io avevo pensato a questo modo, se conoscete uno migliore , accetto volentieri nuovi suggerimenti

  6. #6

    Re: Vb6 gestione file

    Originariamente inviato da felixiuc91
    Ciao a tutti,
    Sono un utente nuovo registrato, frequento da tanto il vostro sito con le guide fatte benissimo, però ora ho un problema su cui sto fermo da 1 giorno.
    Sto creando una piccola rubrica telefonica constituita da nome/cognome/tel. gestita con i record.
    Fin qui tutto bene, solo che vorrei andare oltre, cioè salvare il contenuro del record in un file di testo.
    Supponiamo di avere
    codice:
    v(x).cognome                v(x).nome         v(x).telefono
    Rossi                              Pietro             11111
    Colombo                          Marco             22222
    Dovrei portare tutto in un documento di testo nel formato
    Data e ora giorno ->attraverso la funzione Time Date
    2 ->numero di dati contenuti in ogni vettore
    rossi
    colombo ->prima i cognomi
    Pietro
    Marco ->i nomi
    11111
    2222 ->ed i telefoni

    Per il caricamento uso

    codice:
    Private Sub Form_Load()     
    c=1
    n=2                                'i dati presenti
    Open "E:\esempio.txt" For Append As #1         
       Print #1, Date  + Time 
       Print #1, N 
       Do while c<=n    
          Print #1, v(c).cognome
          c=c+1
       Loop  
       c=1
       Do while c<=n    
          Print #1, v(c).nome
          c=c+1
       Loop 
       c=1
       Do while c<=n    
          Print #1, v(c).telefono
          c=c+1
       Loop    
    Close #1 
    End Sub
    Il problema sorge quando devo fare il procedimento contrario, premendo un pulsante
    Effettivamente ci sono un po' di incongruenze...

    Se usi variabili come:
    v(c).nome
    evidentemente hai organizzato i dati con un "tipo definito dall'utente", ed in questo caso verrebbe naturale leggere/scrivere i record come "file random" (v. la guida del VB6 di Open, ad es.), e non sequenziale.

    Poi elimina quel brutto "Date + Time" e usa "Now" che produce lo stesso risultato (e' anche meglio usare "&" anziche' "+" per unire...)

    Se proprio vuoi usare un file sequenziale di testo, dovresti:
    - usare Write# anziche' Print# per scrivere i dati (e' piu' sicuro, se l'utente usa delle virgole o car. strani con Print... )
    - sapendo gia' che i dati sono N, e' piu' comodo usare un ciclo For, anziche' l'equivalente struttura Do...Loop
    - usa poi Input# per rileggere i dati, ovviamente nello stesso ordine in cui li hai scritti.

    Perche' poi fare un ciclo su tutti i dati, ripetuto per ogni campo ? ...meglio un unico ciclo, no ?
    codice:
       For c = 1 To n
         Write #1, v(c).cognome
         Write #1, v(c).nome
         Write #1, v(c).telefono
       Next
    Ciao !
    IceCube_HT (VB6 fan Club)

  7. #7
    grz di tutti i consigli, ma quando provo Write#1, V(c).cognome non mi scrive niente nel documento di testo

    Scusa, funziona sono un pò sbadatto stasera...

  8. #8
    risolto

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.