Newsgroup: it.comp.lang.visual-basic
Titolo: File sequenziali e ciclo For...Next

E' possibile con un ciclo For...Next saltare una riga?
    'Leggo il file:
Open App.Path & "\dati.dat" For Input As #1
    For I = 0 To 10
        Input #1, Nome, Cognome
    Next I
Close #1
Se volessi saltare una riga dell'elenco... c'č qualcuno che mi sa dire come
devo fare, non ho trovato sulla guida e su internet non ho trovato molti
riferimenti a cose che penso siano cosě semplici e che io non riesco a fare.
Grazie

E' possibile con un ciclo For...Next saltare una riga?
  No, il file sequenziale si chiama cosi' proprio perche' la lettura o
la scrittura e' rigorosamente sequenziale (al limite la lettura si
puo' cominciare in append ma sempre sequenzialmente).
  Ciao :-)
  Massimo
  Nell'indirizzo, inserire una "h" tra la "t" e la "u"
  In the address, insert an "h" between the "t" and the "u"

 wrote in message
news:ackrov$l31$1...@lacerta.tiscalinet.it...

ignorare i valori letti non basta?
del tipo
If Nome="Mario" Then
    ' non fai nulla
Else
    Debug.Print Nome
End if
ciao

 Grazie
Scusami un atimino dimmi quale sarebbe il motivo di saltare una linea e
quale la causale che dovrebbe provocare il salto della linea

 End if
Il problema sta anche nel fatto che i dati sono inseriti in una MHFlexGrid.
Praticamente torno al fatto che voglio emulare il comando elimina.
Infatti dovrei:
Leggere il file fino alla riga indicata nel controllo MHFlexGrid, saltare
questa e continuare a leggere fino alla fine, scrivendo tutto, tranne la
riga saltata, in un file temp che poi rinominerò sostituendo il precedente
file.

 file.
k=0
open FileIn for input as #1
    open FileOut for output as #2
        do
            Line input #1, Prova
            if k<>ValRigaMSHFlexGrid  then
                print #2, Prova
            end if
            k=k+1
        loop until eof(1)
    close #2
close #1
kill FileIn
'qui rinomini FileOut (ora non ho le MSDN a disposizione e non ricordo il
comando! :(  )
Spero funzioni (sono andato a memoria!)
Ciao,
- SonicBoom -

 Praticamente torno al fatto che voglio emulare il comando elimina.
E allora dillo :)
Se il file è a record a lunghezza fissa è piuttosto semplice (anche se basta
leggere tutto il file fino alla riga incriminata):
' file aperto con Open ... For Binary
Seek #numfile, Len(Record) * numrecordDaSaltare + 1
' file aperto con Open ... For Random Len = Len(Record)
Seek #numfile, numrecordDaSaltare + 1
Tra l'altro se non ti interessa l'ordine dei record (magari li ordini solo
in lettura con una funzione di sort, ne trovi parecchie sul sito comune) è
semplice anche eliminarne uno: prendi l'ultimo record e lo copi su quello da
cancellare, marchi l'ultimo come cancellato (non so ad es. tutto ad
asterischi).
Quando ne aggiungi uno nuovo guardi se l'ultimo è "cancellato" lo
sovrascrivi, altrimenti lo appendi.
Ciao
--
Questa è una risposta ritenuta inutile e maleducata da alcuni partecipanti.
(Campagna contro l'abuso del NewsGroup)
(Per informazioni: 
http://www.it-lang-vb.net/docs/Manifesto.txt
)

Salve, volevo ringraziare tutti per gli ottimi consigli che mi avete dato,
sono riuscito nel mio intento utilizzando questo codice fornito da
SonicBoom:
k=0
open FileIn for input as #1
    open FileOut for output as #2
        do
            Line input #1, Prova
            if k<>ValRigaMSHFlexGrid  then
                print #2, Prova
            end if
            k=k+1
        loop until eof(1)
    close #2
close #1
kill FileIn
    'Infine ho completato l'operazione rinominando il file come segue:
Name FileOut As FileIn
Grazie a tutti per la collaborazione.