Differenze tra le versioni di ".ReadLine()"

Da Gambas-it.org - Wikipedia.
Riga 31: Riga 31:
 
<BR>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''").
 
<BR>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''").
  
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 un carattere ''escape'' di "''fine riga e a capo''".
+
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''".

Versione delle 03:03, 28 ott 2014

La sintassi del metodo .ReadLine() di una variabile di tipo File o di tipo 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.


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à 5 caratteri escape di "fine riga e a capo", e più precisamente immediatamente dopo le parole: "testo", "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").

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".