.ReadLine()

Da Gambas-it.org - Wikipedia.
Versione del 10 giu 2024 alle 14:39 di Vuott (Discussione | contributi)

(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

La sintassi del Metodo .ReadLine() della Classe File e della Classe Stream è:

variabile_File.ReadLine([Escape]) As String

Se il parametro Escape non è specificato, allora il metodo .ReadLine() legge una sola intera riga dal flusso similmente all'istruzione Line Input, ossia fino al carattere escape di "fine riga e a capo" (rappresentato in esadecimale dal valore 0A).


Se, invece, il parametro viene specificato, ed è presente esso nel flusso di dati almeno due volte, allora il metodo .ReadLine() legge tante righe dal flusso fino al valore di "fine riga e a capo" della seconda riga contenente il carattere escape specificato nel parametro del metodo.

Bisogna sottolineare che è condizione essenziale che il primo riscontro del parametro escape debba essere posto all'interno della prima riga dell'intero testo.


Mostriamo un esempio pratico.
Poniamo che il file abbia il seguente testo:

Lo scopo di questa Wiki è quello di condividere,
scambiare, immagazzinare la conoscenza in modo collaborativo
grazie alle potenzialità offerte dalla Wiki stessa,
una collezione di documenti ipertestuali.

Il suddetto file avrà 4 caratteri escape di "fine riga e a capo", e più precisamente immediatamente dopo le parole: "condividere," - "collaborativo" - "stessa," ed "ipertestuali." .

Se il parametro escape del metodo .ReadLine() non fosse specificato, tale metodo leggerebbe soltanto l'intera prima riga. Poniamo, però, per esempio questo codice:

Public Sub Main()

 Dim fl As File
 
 fl = Open "/percorso/del/file/di/testo"  ' Con il metodo "ReadLine()" non è necessario: "For Read"

' Poniamo come argomento "escape" il carattere "W":
 Print fl.ReadLine("W")

 fl.Close

End

Il carattere "W", oltre che nella prima riga, è presente anche nella terza riga del file di testo. Pertanto, il metodo .ReadLine() leggerà i dati testuali dal primo carattere della prima riga sino al carattere escape di "fine riga e a capo" della terza riga, ignorando così i valori di "fine riga a capo" presenti al termine della prima e della seconda riga.
Successivamente il metodo .ReadLine() per i restanti dati continuerà a comportarsi come di norma, cioè arrestandosi al carattere di "fine riga e a capo" presente al termine della terza riga (ossia immediatmente dopo la parola: "stessa,").

Pertanto, il risultato in console di quel codice sarà il seguente:

Lo scopo di questa Wiki è quello di condividere,
scambiare, immagazzinare la conoscenza in modo collaborativo
grazie alle potenzialità offerte dalla Wiki stessa,


Il presupposto (e limite) dell'uso corretto del Metodo ".ReadLine()" con l'argomento escape specificato sta nella circostanza che detto carattere escape sia presente due volte nel file e in due righe diverse, o meglio: i due identici caratteri escape devono essere separati da uno o più caratteri escape di "fine riga e a capo".