Input
L'istruzione Input legge una stringa in un file di testo fino all'interruzione dello spazio o al carattere di "nuova linea" (ritorno a capo), e le immette ciascuna in una variabile.
Se non viene definito nessuno stream, allora viene utilizzato lo standard input.
Esempio.
Poniamo di avere un file, creato con un editor di testo, contenente la seguente stringa di caratteri: gallo gatto ratto.
Leggendo con Input:
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 sottostringa "gallo", poiché "Input" leggerà la stringa fino al primo carattere dello spazio, e sarà inserita nella variabile "a$".
Con Input possiamo inserire anche più variabili, ove caricare i valori, ossia le varie sottostringhe presenti nel file di testo e separate ciascuna dall'altra da uno spazio o da un carattere di "nuova riga":
Public Sub Main() 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, che saranno poste rispettivamente nelle variabili a$, b$, c$.
Volendo usare un ciclo For, si potrà, per leggere ogni sottostringa, usare invece ovviamente una sola variabile stringa:
Public Sub Main() 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 il ciclo "While...Wend":
Public Sub Main() 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 Main() 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, oppure al carattere ritorno a capo nuova riga, che incontrerà nel file di testo.
Con il seguente codice:
Public Sub Main() 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: ratto
Uso di INPUT per porre il programma in attesa sino alla pressione del tasto "Invio"
L'istruzione Input può essere utile per porre il programma in attesa sino alla pressione del tasto "Invio" della tastiera da parte dell'utente. In tal caso il programma proseguirà nel processo del proprio codice, solo quando l'utente avrà premuto il tasto "Invio" della tastiera.
Esempio pratico:
Public Sub Main() Dim s As String Print "In attesa della pressione del tasto \"Invio\" della tastiera......" Input s Print "E' stato premuto il tasto \"Invio\" della tastiera." End