Ciao ragazzi javascript:void(0); Stò realizzando un programma per la gestione delle prenotazioni per ristoranti, utilizzando il c++ visuale incluso nell'ambiente della Borland (versione 6) e devo dire che ho qualche problemino... In pratica, utilizzo 4 form, di cui 2 servono: una alla scrittura su file, l'altra alla lettura dal file e all'inserimento delle informazioni in una lista dinamica ordinata per campo nominativo. Dove è il prob? Allora, innanzitutto uso file binary, tramite libreria fstream, e lo apro nella form inserimento come fout.open("lista.dat", ios::binary | ios:ut), prima del metodo Show. Poi, al momento dell'inserimento dei dati, prima mi posiziono utilizzando fout.seekg(i*sizeof(tiporecord)) (i si incrementa dopo ogni inserimento) e poi scrivo utilizzando fout.write((char*)&nomerecord,sizeof(tiporecord)). Ripeto tutte le volte che mi serve, e utilizzando il debugger mi accordo effettivamente che i dati vengono inseriti. Poi al momento della pressione del pulsante exit, viene eseguita la linea di codice fout.close(), per la chiusura. Ora premo il pulsante per aprire la form di visualizzazione, riapro il file ma questa volta utilizzando INSERIMENTO->fout.open("lista.dat", ios::binary | ios::in), mi posizono prima alla fine fout.seekg(0, ios::end) e poi all'inizio fout.seekg(0) (così mi hanno detto a scuola): ora creo un ciclo che si ripete finchè può leggere while(fout.read((char*)&nomerecord,sizeof(tiporeco rd))), e quì iniziano i problemi: per farvi un esempio, se inserisco due record nel file, al momento della lettura, il primo ciclo viene utilizzato per leggere un record che risulta vuoto (tutti i campi NULL, tutti di tipo String), il secondo ciclo legge correttamente il secondo record immesso, poi termina senza lasciare traccia del primo record immesso. Naturalmente, prima di effettuare ogni lettura posiziono il puntatore interno (prima della lettura n° 1 uso fout.seekg(0, ios::end) e fout.seekg(0); prima di ogni lettura successiva fout.seekg(i*sizeof(tiporecord)) ). Io non ho molta esperienza in visuale, quindi magari devo utilizzare degli accorgimenti con il file che non conosco, magari durante il passaggio da una form all'altra. Qualunque aiuto verrà premiato con l'immortalità e l'iscrizione nell'albo degli uomini più importanti del mondo, che attualmente include solo me, Francesco Totti e Michael Jackson . Grazie comunque anche solo della pazienza.