Differenze tra le versioni di "Line Input"
Riga 4: | Riga 4: | ||
− | Se per esempio il file di testo è così strutturato: | + | ===Esempio di lettura con ''Line Input''=== |
+ | Se per esempio il file di testo è così strutturato con due righe: | ||
''Line Input legge'' | ''Line Input legge'' | ||
''all'interno di un file.'' | ''all'interno di un file.'' | ||
− | sarà letta la sola intera prima | + | ed andiamo a leggere con ''Line Input'' |
− | <BR>Infatti, se esaminiamo il file con un editor esadecimale, noteremo che immediatamente dopo i byte, che rappresentano i caratteri della parola "''legge''", è presente il carattere ''non stampabile'' esadecimale <FONT color=red>0A</font> (''Line feed character''), il quale | + | '''Public''' Sub Button1_Click() |
+ | |||
+ | Dim fl As File | ||
+ | Dim s As String | ||
+ | |||
+ | |||
+ | fl = Open "''/percorso/del/mio/file''" For Input | ||
+ | |||
+ | <FONT color=#B22222>Line Input</font> #fl, s | ||
+ | |||
+ | Print s | ||
+ | |||
+ | fl.Close | ||
+ | |||
+ | '''End''' | ||
+ | sarà letta la sola intera prima riga del file di testo: ''Line Input legge'' . | ||
+ | <BR>Infatti, se esaminiamo il file con un editor esadecimale, noteremo che immediatamente dopo i byte, che rappresentano i caratteri della parola "''legge''", è presente il carattere ''non stampabile'' esadecimale <FONT color=red>0A</font> (''Line feed character''), il quale rappresenta appunto il carattere ''escape'' di "''ritorno a capo''". | ||
− | ===Esempio di lettura con ''Line Input'' | + | ===Esempio di lettura dell'intero file con ''Line Input''=== |
− | + | Volendo, invece, leggere tutte le righe del file di testo, useremo ovviamente un ciclo: | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
'''Public''' Sub Button1_Click() | '''Public''' Sub Button1_Click() | ||
− | Dim | + | Dim fl As File |
− | Dim s | + | Dim s As String |
− | + | ||
− | + | ||
− | + | fl = Open "''/percorso/del/mio/file''" For Input | |
− | + | ||
− | + | While Not fl(Eof) <FONT color=gray>' ''Fin tanto che non si è giunti alla fine dei dati del file...''</font> | |
− | + | <FONT color=B22222>Line Input</font> #fl, s <FONT color=gray>' ''...legge un'intera riga''</font> | |
− | + | Print s | |
− | + | Wend | |
− | + | ||
− | + | fl.Close | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | While Not Eof | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
'''End''' | '''End''' |
Versione delle 09:50, 7 nov 2013
Line Input legge all'interno di un file di testo un'intera riga di caratteri non interrotta da un carattere non stampabile di "ritorno a capo" (ossia un byte avente valore x0A (Line feed character). Quindi la riga sarà letta tutta quanta fino al carattere non stampabile di ritorno a capo.
Ponendo eventualmente la funzione Seek, si va a leggere dal byte puntato da Seek sino al primo dato avente valore x0A.
Esempio di lettura con Line Input
Se per esempio il file di testo è così strutturato con due righe:
Line Input legge all'interno di un file.
ed andiamo a leggere con Line Input
Public Sub Button1_Click() Dim fl As File Dim s As String fl = Open "/percorso/del/mio/file" For Input Line Input #fl, s Print s fl.Close End
sarà letta la sola intera prima riga del file di testo: Line Input legge .
Infatti, se esaminiamo il file con un editor esadecimale, noteremo che immediatamente dopo i byte, che rappresentano i caratteri della parola "legge", è presente il carattere non stampabile esadecimale 0A (Line feed character), il quale rappresenta appunto il carattere escape di "ritorno a capo".
Esempio di lettura dell'intero file con Line Input
Volendo, invece, leggere tutte le righe del file di testo, useremo ovviamente un ciclo:
Public Sub Button1_Click() Dim fl As File Dim s As String fl = Open "/percorso/del/mio/file" For Input While Not fl(Eof) ' Fin tanto che non si è giunti alla fine dei dati del file... Line Input #fl, s ' ...legge un'intera riga Print s Wend fl.Close End