Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick
Dim str As String
str = RiceviDati()
TextBox1.Text += str ' tuo monitor
Dim valoriDivisi() As String ' matrice senza dimensione
valoriDivisi = str.Split(";") ' puntovirgola separa le stringhe: in valoriDivisi(0) ci va il codice identificativo (B = gradi bussola, P = potenziometro, N = null, E = errore) e in valoriDivisi(1) ci va il valore relativo
If valoriDivisi.Length <> 2 Then Exit Sub ' se str non è stato diviso in due stringhe si esce
If valoriDivisi(0) = "B" Then
' Il dato è riferito ai gradi della bussola
' se la conversione è possibile avanzamento prende il valore dei primi tre caratteri della stringa
If Integer.TryParse(valoriDivisi(1).Substring(0, 3), avanzamento) Then
lblgradi.Text = avanzamento.ToString("000°")
Pcboxbussola.Invalidate() ' scatena il paint
End If
End If
If valoriDivisi(0) = "P" Then
' Il dato in: valoriDivisi(1), è riferito al volume e è una stringa
Dim controllo As Integer
' se la conversione è possibile, controllo prende il valore della stringa in valoriDivisi(1)
If Integer.TryParse(valoriDivisi(1), controllo) Then
If controllo >= 0 And controllo <= 100 Then ' se il valore è nel range 0-100 si imposta il volume
media_pleyer.lb_volume.Text = valoriDivisi(1) + "%"
media_pleyer.Volume_control1.value = valoriDivisi(1)
lb_volume.Text = valoriDivisi(1) + "%"
Volume_control1.value = valoriDivisi(1)
media_pleyer.Timer3.Start()
media_pleyer.AxWindowsMediaPlayer1.settings.volume = media_pleyer.Volume_control1.value
AxWindowsMediaPlayer1.settings.volume = media_pleyer.Volume_control1.value
video.Wmp1.settings.voume = video.Volume_control1.value
End If
End If
End If
' possibili usi degli errori ritornati se ometti li ignori
If valoriDivisi(0) = "N" Then
' Il dato è riferito a nessun valore ricevuto
lblgradi.Text = valoriDivisi(1) ' l'info su lblgradi, oppure dove vuoi
End If
If valoriDivisi(0) = "E" Then
' Il dato è riferito a errore sulla seriale
lblgradi.Text = valoriDivisi(1) ' il tipo d'errore su lblgradi, oppure dove vuoi
End If
Label1.Text = "NORD"
End Sub