JavascriptProva

sabato 7 settembre 2013

Copiare un ArrayList in una matrice (array) e riempire un ArrayList con linee di un file di testo, da trasferire in un array.

Public Class Form1
    Dim insieme As ArrayList
    Dim matrice As String()
    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
        insieme = New ArrayList
        insieme.Add("gongolo")
        insieme.Add("mammolo")
        insieme.Add("pisolo")
        ReDim matrice(insieme.Count)
        insieme.CopyTo(matrice)
        Debug.Print(matrice(0) & " " & matrice(1) & " " & matrice(2))
    End Sub
End Class
gongolo mammolo pisolo
Bene. Con questo codice ho trascritto il valore di un ArrayList in un array di stringhe.

Adesso il codice che anzichè immettere manualmente gli elementi in un ArrayList li prende da un file.
Creo il file settenani.txt
gongolo
pisolo
mammolo
eolo
dotto
brontolo
cucciolo
E adesso lo "prendo" con l'istruzione FileOpen, trascrivendo ogni linea del file in una variabile stringa e apponendolo all'ArrayList, quindi ridimensiono un array di stringhe alla stessa lunghezza dell'ArrayList e vi trascrivo i valori di questo:
Public Class Form1
    Dim insieme As New ArrayList
    Dim matrice As String()
    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim str As String = String.Empty
        Dim n As Integer = 1
        FileOpen(1, "C:\Users\Antonello\Desktop\settenani.txt", OpenMode.Input)
        Do Until EOF(1)
            str = LineInput(1)
            insieme.Add(str)
        Loop
        ReDim matrice(insieme.Count)
        insieme.CopyTo(matrice)
        For Each elemento In matrice
            Debug.Print(elemento)
        Next
    End Sub
End Class
Ecco il risultato nella finestra di debug, dove il programma dice di stampare gli elementi della matrice di stringhe:
gongolo
pisolo
mammolo
eolo
dotto
brontolo
cucciolo
Dunque l'aver preso le linee del file di testo, l'averle messe in un ArrayList e quindi trascritte in un array di stringhe funziona.
Si potrebbe chiedersi perchè non mettere direttamente tutto in un array di stringhe: il problema è che a ogni mutamento di dimensioni di un array questo viene ritrascritto di sana pianta in un'altra locazione della memoria, e l'operazione è poco efficiente.

Nessun commento:

Posta un commento