Applicazione del 18-10-2011
Ciclo di lettura dei dati
Per leggere il contenuto di un file di testo in una stringa, si utilizza il metodo ReadAllText dell’oggetto My.Computer.FileSystem, specificandone il percorso.
Dim fileReader As String fileReader = My.Computer.FileSystem.ReadAllText(“C:\test.txt”)
NB. Il file potrebbe anche essere inserito nelle risorse e caricato nel programma
Programma:
1. Si crea un form al quale vengono applicati:
- Bottone: utilizzando l’applicazione “Button” dalla casella degli strumenti;
- Casella di testo: utilizzando l’applicazione “TextBox” dalla casella degli strumenti;
2. Si crea la classe “osservazione_prezzo” con le proprietà :
- Ora
- Minuti
- Millisecondi
- Tipo di prezzo
- Prezzo
Public Class osservazione_prezzo Public ora As Integer Public minuti As Integer Public millisecondi As Integer Public tipo_di_prezzo As Boolean Public prezzo As Decimal End Class
3. Lettura del file
Public Class Form1 ‘Evento Click del bottone’ Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button1.Click ‘Lettura del file’ Dim testo_letto As String testo_letto = My.Computer.FileSystem.ReadAllText(“C:…”) ‘poichè il file viene visualizzato in una stringa ‘ ‘è necessario splittare le righe.’ ‘il seguente comando restituisce un array’ Dim righe() As String = testo_letto.Split(vbCrLf.ToCharArray,StringSplitOptions.RemoveEmptyEntries) ‘vbCrLf.ToCharArray= separa le righe e trasforma le righe in caratteri’ ‘StringSplitOptions.RemoveEmptyEntries= elimina gli spazi vuoti’ ‘legge il file e lo visualizza nel textBox:’ Me.RichTextBox1.Text = testo_letto ‘creazine della lista lista_osservazioni’ Dim lista_osservazioni As New List(Of osservazione_prezzo) For Each riga As String In righe Dim valori As String() = riga.Split(” “.ToCharArray,StringSplitOptions.RemoveEmptyEntries) Dim oss As New osservazione_prezzo With oss .ora = CInt(valori(0)) ‘ cint converte in intero visto che prima era una stringa’ .minuti = CInt(valori(1)) .millisecondi = CInt(valori(2)) .tipo_di_prezzo = valori(3) .prezzo = Decimal.Parse(valori(4), System.Globalization.CultureInfo.GetCultureInfo(“EN-US”)) End With lista_osservazioni.Add(oss) Next ‘Calcola il prezzo medio e lo visualizza nel textbox’ Dim somma As Integer Dim cont As Integer For Each oss As osservazione_prezzo In lista_osservazioni somma = somma + oss.prezzo cont = cont + 1 Next Dim media_prezzo As Double = somma / cont Me.RichTextBox1.Text = media_prezzo End Sub End Class