Raccogliere solo alcune righe all'interno di un file di testo

Da Gambas-it.org - Wikipedia.

Mostreremo di seguito un possibile algoritmo per raccogliere da un file di testo solo alcune righe, individuando la prima riga da raccogliere non da un numero d'indice (ad esempio: la 20a riga), bensì dal proprio testo.


Uso dell'operatore "Begins"

In questo caso utilizzeremo l'operatore "Begins" per filtrare le righe da raccogliere.

Come esempio prederemo dal file header /usr/include/alsa/mixer.h soltanto le righe che iniziano con i caratteri "typedef ":

Public Sub Main()

 Dim fl As File
 Dim s As String

 fl = Open "/usr/include/alsa/mixer.h" For Read

 Repeat 
' Legge ogni riga del file di testo:
   s = fl.ReadLine()
' Raccoglie solo le righe che cominciano con "typedef":
   If s Begins "typedef" Then Print s
' Quando si raggiunge la fine del file di testo, si esce dal ciclo:
 Until fl.EndOfFile

 fl.Close

End


Uso dell'operatore "Ends"

In questo caso utilizzeremo l'operatore "Ends" per filtrare le righe da raccogliere.

Come esempio prederemo dal file header /usr/include/alsa/mixer.h soltanto le righe che terminano con i caratteri "value); ":

 Public Sub Main()

 Dim fl As File
 Dim s As String

 fl = Open "/usr/include/alsa/mixer.h" For Read

 Repeat 
' Legge ogni riga del file di testo:
   s = fl.ReadLine()
' Raccoglie solo le righe che terminano con "value);":
   If s Ends "value);" Then Print s
' Quando si raggiunge la fine del file di testo, si esce dal ciclo:
 Until fl.EndOfFile

 fl.Close

End