Differenze tra le versioni di "Line Input"

Da Gambas-it.org - Wikipedia.
Riga 1: Riga 1:
'''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 <SPAN style="text-decoration:underline">fino</span> al carattere non stampabile di ''ritorno a capo''.
+
'''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 <SPAN style="text-decoration:underline">fino</span> 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.
 
Ponendo eventualmente la funzione ''Seek'', si va a leggere dal byte puntato da Seek sino al primo dato avente valore x0A.

Versione delle 09:52, 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