Differenze tra le versioni di "Scrivere all'interno di un file di testo"

Da Gambas-it.org - Wikipedia.
 
(6 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
 
In questa pagina prenderemo in considerazione il caso in cui si intende scrivere all'interno di un file di testo <SPAN style="text-decoration:underline">già</span> esistente.
 
In questa pagina prenderemo in considerazione il caso in cui si intende scrivere all'interno di un file di testo <SPAN style="text-decoration:underline">già</span> esistente.
 
 
 
==Aggiungere dati alla fine del file==
 
==Aggiungere dati alla fine del file==
Per scrivere ulteriori dati alla fine del file di testo, si potrà aprire con l'istruzione ''Open'' il file in scrittura aggiungendo anche la parola ''[[Append|Append]]'', oppure utilizzare il metodo ''.Save()'' della Classe ''File''.
+
Per scrivere ulteriori dati alla fine del file di testo, si potrà aprire con l'istruzione ''Open'' il file in scrittura aggiungendo anche la parola-chiave ''[[Append|Append]]'', oppure utilizzare il Metodo ".Save()" della Classe statica ''File''.
  
  
 
====Apertura del file in scrittura e con ''Append''====
 
====Apertura del file in scrittura e con ''Append''====
Mostriamo un codice esemplificativo, con il quale viene aperto un file di testo in scrittura e, per accodarvi dei dati, viene aggiunta la parola ''Append'':
+
Mostriamo un codice esemplificativo, con il quale viene aperto in ''Scrittura'' un file di testo, già esistente, e, per accodarvi dei dati, viene aggiunta la parola-chiave ''Append'':
  '''Public''' Sub Main()
+
  Public Sub Main()
 
   
 
   
 
   Dim fl As File
 
   Dim fl As File
 
    
 
    
 +
  fl = Open "<FONT Color=darkgreen>''/percorso/del/file/di/testo''</font>" For Write <FONT color=#B22222>Append</font>
 
   
 
   
  fl = Open "/tmp/nomefile" For Write <FONT color=#B22222>Append</font>
+
  Write #fl, "testo da accodare al file"
 
  Write #fl, "testo da accodare al file"
 
 
   
 
   
  fl.Close
+
  fl.Close
 
   
 
   
  '''End'''
+
  End
  
  
====Uso di ''File.Save()''====
+
====Uso del Metodo "File.Save()"====
 
Utilizzando il metodo ''Save()'' della Classe ''File'',  
 
Utilizzando il metodo ''Save()'' della Classe ''File'',  
  '''Public''' Sub Main()
+
  Public Sub Main()
 
   
 
   
 
   Dim percorsoFile As String
 
   Dim percorsoFile As String
 
 
  percorsoFile = "/percorso/del/file/di/testo"
 
 
    
 
    
  <FONT color=gray>' ''Il nuovo file di testo salvato è dato dal suo testo iniziale''
+
  percorsoFile = "<FONT Color=darkgreen>''/percorso/del/file/di/testo''</font>"
' ''più il testo da aggiungervi alla fine:''</font>
+
 
  File.Save(percorsoFile, File.Load(percorsoFile & "testo da accodare al file.")
+
  <FONT color=gray>' ''Il nuovo file di testo salvato è dato dal suo testo iniziale più il testo da aggiungervi alla fine:''</font>
 +
  File.Save(percorsoFile, File.Load(percorsoFile & "testo da accodare al file.")
 
   
 
   
  '''End'''
+
  End
 
 
  
  
Riga 43: Riga 37:
 
<BR>L'individuazione della posizione all'interno del file per la scrittura viene effettuata con l'istruzione ''Seek''.
 
<BR>L'individuazione della posizione all'interno del file per la scrittura viene effettuata con l'istruzione ''Seek''.
 
<BR>Esempio:
 
<BR>Esempio:
   '''Public''' Sub Main()
+
   Public Sub Main()
 
   
 
   
 
   Dim fl As File
 
   Dim fl As File
 
    
 
    
 +
  fl = Open "<FONT Color=darkgreen>''/percorso/del/file/di/testo''</font>" For Write
 
   
 
   
  fl = Open "/tmp/nomefile" For Write
+
  <FONT color=gray>' ''Imposta il puntatore al 10° byte all'interno del file:''</font>
+
  <FONT color=#B22222>Seek #fl, 9</font>
  <FONT color=gray>' ''Impostiamo il puntatore al 10° byte all'interno del file:''</font>
 
  <FONT color=#B22222>Seek #fl, 9</font>
 
 
   
 
   
  Write #fl, "nuovo testo in sostituzione del vecchio"
+
  Write #fl, "nuovo testo in sostituzione del vecchio"
 
   
 
   
  fl.Close
+
  fl.Close
 
   
 
   
  '''End'''
+
  End
  
  
Riga 63: Riga 56:
 
Prendiamo ora in considerazione il caso in cui si intende aggiungere una <SPAN style="text-decoration:underline">riga</span> all'interno (ossia ''nel mezzo fra le altre righe già esistenti'') di un file di testo, composto da più righe di testo.
 
Prendiamo ora in considerazione il caso in cui si intende aggiungere una <SPAN style="text-decoration:underline">riga</span> all'interno (ossia ''nel mezzo fra le altre righe già esistenti'') di un file di testo, composto da più righe di testo.
  
La ''riga'' si contraddistingue, oltre per il testo in sé, soprattutto per il carattere ''non stampabile'' di "''nuova riga a capo''", posto ovviamente alla fine dei dati che costituiscono la riga medesima.
+
La ''riga'' si contraddistingue, oltre per il testo in sé, soprattutto per il carattere ''non stampabile'' di "nuova riga a capo" (&h0A, "\n", "gb.NewLine), posto ovviamente alla fine dei dati che costituiscono la riga medesima.
  
Non esiste attualmente in Gambas un'istruzione per aggiungere una ''riga'' all'interno di un file di testo. Pertanto, tale risultato andrà conseguito attraverso l'uso di altre risorse, ed in particolare con le funzioni per la gestione delle stringhe caricando preliminarmente i dati del file in una variabile di tipo ''Stringa''.
+
Non esiste attualmente in Gambas un'istruzione per aggiungere una ''riga'' all'interno (ossia, come già detto, ''nel mezzo fra le altre righe già esistenti'') di un file di testo. Pertanto, tale risultato andrà conseguito attraverso l'uso di altre risorse, ed in particolare con le funzioni per la gestione delle stringhe caricando preliminarmente i dati del file in una variabile di tipo ''Stringa''.

Versione attuale delle 17:39, 24 giu 2024

In questa pagina prenderemo in considerazione il caso in cui si intende scrivere all'interno di un file di testo già esistente.

Aggiungere dati alla fine del file

Per scrivere ulteriori dati alla fine del file di testo, si potrà aprire con l'istruzione Open il file in scrittura aggiungendo anche la parola-chiave Append, oppure utilizzare il Metodo ".Save()" della Classe statica File.


Apertura del file in scrittura e con Append

Mostriamo un codice esemplificativo, con il quale viene aperto in Scrittura un file di testo, già esistente, e, per accodarvi dei dati, viene aggiunta la parola-chiave Append:

Public Sub Main()

 Dim fl As File
 
 fl = Open "/percorso/del/file/di/testo" For Write Append

 Write #fl, "testo da accodare al file"

 fl.Close

End


Uso del Metodo "File.Save()"

Utilizzando il metodo Save() della Classe File,

Public Sub Main()

 Dim percorsoFile As String
 
 percorsoFile = "/percorso/del/file/di/testo"
 
' Il nuovo file di testo salvato è dato dal suo testo iniziale più il testo da aggiungervi alla fine:
 File.Save(percorsoFile, File.Load(percorsoFile & "testo da accodare al file.")

End


Sostituzione di alcuni dati

Per effettuare la sostituzione di alcuni dati stringa presenti nel file di testo con altri nuovi, bisognerà individuare la posizione iniziale del primo byte da sostituire nel file medesimo; quindi far cominciare la scrittura dei nuovi dati da quella posizione.
L'individuazione della posizione all'interno del file per la scrittura viene effettuata con l'istruzione Seek.
Esempio:

 Public Sub Main()

 Dim fl As File
 
 fl = Open "/percorso/del/file/di/testo" For Write

' Imposta il puntatore al 10° byte all'interno del file:
 Seek #fl, 9

 Write #fl, "nuovo testo in sostituzione del vecchio"

 fl.Close

End


Aggiungere una riga ad un file

Prendiamo ora in considerazione il caso in cui si intende aggiungere una riga all'interno (ossia nel mezzo fra le altre righe già esistenti) di un file di testo, composto da più righe di testo.

La riga si contraddistingue, oltre per il testo in sé, soprattutto per il carattere non stampabile di "nuova riga a capo" (&h0A, "\n", "gb.NewLine), posto ovviamente alla fine dei dati che costituiscono la riga medesima.

Non esiste attualmente in Gambas un'istruzione per aggiungere una riga all'interno (ossia, come già detto, nel mezzo fra le altre righe già esistenti) di un file di testo. Pertanto, tale risultato andrà conseguito attraverso l'uso di altre risorse, ed in particolare con le funzioni per la gestione delle stringhe caricando preliminarmente i dati del file in una variabile di tipo Stringa.