Public Class Form1
Public Const vocal As Int16 = 0
Public Const consonant As Int16 = 1
Public Const space As Int16 = 2
Public Const unknown As Int16 = 3
Public Const pointer As Int16 = 4
Private Sub apri_f_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles apri_f.Click
If apri.ShowDialog = DialogResult.OK Then
name_f.Text = apri.FileName
analizza_f.Enabled = True
End If
End Sub
Public Function analize(ByVal c As Char) As Int16
If c = "a" Or c = "i" Or c = "e" Or c = "o" Or c = "u" Then
Return vocal
End If
If c = "A" Or c = "I" Or c = "E" Or c = "O" Or c = "U" Then
Return vocal
End If
If Asc(c) > Asc("a") And Asc(c) < Asc("z") + 1 Then
Return consonant
End If
If Asc(c) > Asc("A") And Asc(c) < Asc("Z") + 1 Then
Return consonant
End If
If c = "!" Or c = "'" Or c = "?" Or c = "." Or c = ":" Or c = ";" Or c = "," Or c = "(" Or c = ")" Or c = "[" Or c = "]" Or c = "{" Or c = "}" Or Asc(c) = 34 Then
Return pointer
End If
If c = " " Then
Return space
End If
Return unknown
End Function
Private Sub analizza_f_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles analizza_f.Click
Dim re As New System.IO.StreamReader(name_f.Text)
Dim c As Char
Dim cons, voca, unkn, poin, spac As Double
While Not re.EndOfStream
c = ChrW(re.Read)
Select Case analize(c)
Case vocal : voca += 1
Case consonant : cons += 1
Case unknown : unkn += 1
Case pointer : poin += 1
Case space : spac += 1
End Select
End While
re.Close()
re = Nothing
output_f.Items.Clear()
output_f.Items.Add("Numero totale di caratteri: " & voca + cons + unkn + spac + poin)
output_f.Items.Add("Numero totale di parole: " & spac)
output_f.Items.Add("Numero di vocali: " & voca)
output_f.Items.Add("Numero di consonanti: " & cons)
output_f.Items.Add("Numero di segni di punteggiatura: " & poin)
output_f.Items.Add("Numero di caratteri speciali: " & unkn)
End Sub
End Class