Differenze tra le versioni di "Input"

Da Gambas-it.org - Wikipedia.
Riga 83: Riga 83:
 
   Dim a$ As String
 
   Dim a$ As String
 
   
 
   
 
+
 
   f = Open "percorso_del_file_da_aprire" For Input
 
   f = Open "percorso_del_file_da_aprire" For Input
 
   
 
   

Versione delle 11:35, 4 set 2012

Input legge le stringhe in un File di testo fino all'interruzione dello spazio o al carattere di "nuova linea", e le immette ciascuna in una propria variabile.


Esempio.
Poniamo di avere un file, creato con un editor di testo, contenente queste tre stringhe: gallo gatto ratto. Leggendo con Input avremo:

Public Sub Button1_Click()

Dim f As File
Dim a$ As String


 f = Open "percorso_del_file_da_aprire" For Input

 Input #f, a$

 Print a$

End

sarà letta soltanto la stringa "gallo", e sarà inserita nella variabile "a$".


Con Input possiamo inserire anche più variabili, ove caricare i valori, ossia le varie stringhe presenti nel file di testo e separate ciascuna dall'altra da uno spazio o da un carattere di "nuova riga":

Public Sub Button1_Click()

 Dim f As File
 Dim a$, b$, c$ As String

 
 f = Open "percorso_del_file_da_aprire" For Input

 Input #f, a$, b$, c$

 Print a$, b$, c$

End

saranno lette: gallo gatto ratto.


Volendo usare un ciclo For, si potrà, per leggere ogni stringa, usare invece ovviamente una sola variabile stringa:

Public Sub Button1_Click()

 Dim f As File
 Dim a$ As String
 Dim j As Byte


 f = Open "percorso_del_file_da_aprire" For Input

  For j = 0 to 2
   Input #f, a$
   Print a$
  Next

End

Avremo in console:
gallo
gatto
ratto


Possiamo usare, per compiere il ciclo, ovviamente anche "While......Wend":

Public Sub Button1_Click()

 Dim f As File
 Dim a$ As String
 

 f = Open "percorso_del_file_da_aprire" For Input

  While Not Eof(f)
    Input #f, a$
    Print a$
  Wend

End


Con Input possiamo usare anche la funzione Seek per spostare il puntatore all'interno del File di testo:

Public Sub Button1_Click()

 Dim f As File
 Dim a$ As String


 f = Open "percorso_del_file_da_aprire" For Input

  Seek #f, 3
   Input #f, a$

  Print a$

End

in console avremo: lo
La lettura anche con l'utilizzo della funzione Seek si arresterà al primo spazio che incontrerà nel file di testo.


Se facciamo:

Public Sub Button1_Click()

 Dim f As File
 Dim a$ As String


 f = Open "percorso_del_file_da_aprire" For Input

  Seek #f, 12
   Input #f, a$

  Print a$

End

avremo in console: matto