n questo tutorial impareremo a caricare un file di testo come una lista, ovvero se abbiamo un file scritto così:

Codice:
num1
num2
num3
num4

Ovvero varie parole una sotto l’altro le caricheremo in una ListBox. E’ molto semplice da fare, iniziamo.

Inanzitutto dobbiamo aprire il file in modalità Input, perchè andremo a leggere solo il contenuto, quindi mettiamo:

Codice:
Open "C:\prova.txt" For Input As #1

Dopodichè dobbiamo prendere tutto il contenuto riga per riga e salvare ogni riga nella listbox, fino alla fine del file. Quindi sembra
opportuno utilizzare un ciclo While – Wend. Ma per prima cosa dichiaramo la variabile temporanea (quella dove si andrà a memorizzare ogni
riga letta).

Codice:
Dim data As String

Ora creiamo il ciclo, sfrutteremo la funzione EOF che significa End Of File, ovvero la fine del file. Se EOF = True vuol dire che il
file è finito, altrimenti ancora no. Quindi useremo l’operatore Not.

Codice:
While Not EOF(1)
Input #1, data
Wend

La funzione EOF prende come argomento il numero del file, in questo caso 1. Facciamo una piccola modifica al pezzo di codice per ottenere il
valore finale:

Codice:
While Not EOF(1)
Input #1, data
List1.AddItem data
Wend

Ecco in questo modo non solo l’input viene salvato nella variabile, ma viene anche aggiunta alla listbox! Creiamo una procedura nostra:

Codice:
Private Sub LoadFileInList(thelist As ListBox, ByVal file As String)
Dim data As String
Open file For Input As #1
While Not EOF(1)
Input #1, data
thelist.AddItem data
Wend
Close #1
End Sub

e si richiama così

Codice:
Call LoadFileInList(List1, "C:\prova.txt")

If you enjoyed this post, make sure you subscribe to my RSS feed!
Share

Lascia un commento

You must be logged in to post a comment.