Differenze tra le versioni di ".ReadLine()"

Da Gambas-it.org - Wikipedia.
 
(10 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
La sintassi del metodo '''.ReadLine()''' di una variabile di tipo ''File'' o di tipo '''Stream''' è:
+
La sintassi del Metodo '''.ReadLine()''' della Classe ''File'' e della Classe ''Stream'' è:
 
  variabile_File.ReadLine([Escape]) As String
 
  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 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.  
+
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 <SPAN Style="text-decoration:underline">prima</span> riga dell'intero testo.
  
  
Riga 13: Riga 15:
 
  grazie alle potenzialità offerte dalla Wiki stessa,
 
  grazie alle potenzialità offerte dalla Wiki stessa,
 
  una collezione di documenti ipertestuali.
 
  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''.
+
Il suddetto file avrà 4 caratteri ''escape'' di "''fine riga e a capo''", e più precisamente immediatamente dopo le parole: "<FONT Color=#B22222>''condividere,''</font>" - "<FONT Color=#B22222>''collaborativo''</font>" - "<FONT Color=#B22222>''stessa,''</font>" ed "<FONT Color=#B22222>''ipertestuali.''</font>" .
  
 
Se il parametro ''escape'' del metodo ''.ReadLine()'' non fosse specificato, tale metodo leggerebbe soltanto l'intera prima riga. Poniamo, però, per esempio questo codice:
 
Se il parametro ''escape'' del metodo ''.ReadLine()'' non fosse specificato, tale metodo leggerebbe soltanto l'intera prima riga. Poniamo, però, per esempio questo codice:
Riga 23: Riga 25:
 
   
 
   
 
  <FONT Color=gray>' ''Poniamo come argomento "escape" il carattere "W":''</font>
 
  <FONT Color=gray>' ''Poniamo come argomento "escape" il carattere "W":''</font>
   Print fl.ReadLine("W")
+
   Print <FONT Color=#B22222>fl.ReadLine("W")</font>
 
   
 
   
 
   fl.Close
 
   fl.Close
Riga 29: Riga 31:
 
  '''End'''
 
  '''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.
 
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.
<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,''").
 +
 
 +
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''".

Versione attuale delle 06:15, 11 ott 2022

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