06/04 10:35
Carlo
Ultima modifica effettuata da Carlo 06/04 19:33
in programmazione tutto è permesso
Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick Dim str As String = RiceviDati() str = str.Replace(vbCrLf, "|") ListBox1.Items.Add(DateTime.Now.ToLongTimeString & " - Ricevuto = " & str) ListBox1.TopIndex = ListBox1.Items.Count - 1 ListBox1.HorizontalScrollbar = True Dim righe() = str.Split("|") Dim uso = 0 ' la prima riga If righe.Length = 0 Then Return If righe.Length > 1 Then uso = 1 ' la seconda riga ' Elaboro la stringa Dim valoriDivisi() As String = righe(uso).Split(";") If valoriDivisi.Length <> 2 Then ListBox1.Items.Add(DateTime.Now.ToLongTimeString & " - Elaborato = Errore i valori non sono due") Return End If ListBox1.Items.Add(DateTime.Now.ToLongTimeString & " - Selezionato = " & righe(uso)) If valoriDivisi(0) = "E" Then lblgradi.Text = "errore" ' in valoriDivisi(1) ' il tipo d'errore da mostrare dove vuoi ListBox1.Items.Add(DateTime.Now.ToLongTimeString & " - Elaborato = Errore " & valoriDivisi(0) & " - " & valoriDivisi(1)) Else ' Il primo dato è riferito ai gradi della bussola valoriDivisi(0) = valoriDivisi(0).Replace(".", ",") ' se ci fosse il punto decimale viene sostituito con la virgola decimale If Double.TryParse(valoriDivisi(0), avanzamento) Then If avanzamento <= 0 Or avanzamento >= 360 Then ListBox1.Items.Add(DateTime.Now.ToLongTimeString & " - Elaborato Bussola = Errore il valore " & avanzamento.ToString() & " è fuori range") Else lblgradi.Text = avanzamento.ToString("000°") Pcboxbussola.Invalidate() ListBox1.Items.Add(DateTime.Now.ToLongTimeString & " - Elaborato Bussola = " & avanzamento.ToString("000°")) End If Else ListBox1.Items.Add(DateTime.Now.ToLongTimeString & " - Elaborato = Errore " & valoriDivisi(0).Substring(0, 3) & " non è un intero") End If '' Il dato in: valoriDivisi(1), è riferito al volume e è una stringa Dim volume As Integer = 0 If Integer.TryParse(valoriDivisi(1), volume) Then If volume < 0 Or volume > 100 Then ListBox1.Items.Add(DateTime.Now.ToLongTimeString & " - Elaborato Volume = Errore il valore " & volume.ToString() & " è fuori range") Else ListBox1.Items.Add(DateTime.Now.ToLongTimeString & " - Elaborato Volume = " & valoriDivisi(1)) 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.volume = video.Volume_control1.value End If Else ListBox1.Items.Add(DateTime.Now.ToLongTimeString & " - Elaborato = Errore " & valoriDivisi(1) & " non è un intero") End If End If End Sub
Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick Dim str As String = RiceviDati() Static volumeOld As Integer ' con static il valore non si perde str = str.Replace(vbCrLf, "|") ListBox1.Items.Add(DateTime.Now.ToLongTimeString & " - Ricevuto = " & str) ListBox1.TopIndex = ListBox1.Items.Count - 1 ListBox1.HorizontalScrollbar = True Dim righe() = str.Split("|") Dim uso = 0 If righe.Length = 0 Then Return ' forse non serve If righe.Length > 1 Then uso = 1 ' Elaboro la stringa Dim valoriDivisi() As String = righe(uso).Split(";") If valoriDivisi.Length <> 2 Then ListBox1.Items.Add(DateTime.Now.ToLongTimeString & " - Elaborato = Errore i valori non sono due") Return End If ListBox1.Items.Add(DateTime.Now.ToLongTimeString & " - Selezionato = " & righe(uso)) If valoriDivisi(0) = "E" Then lblgradi.Text = "errore" ' in valoriDivisi(1) ' il tipo d'errore da mostrare dove vuoi ListBox1.Items.Add(DateTime.Now.ToLongTimeString & " - Elaborato = Errore " & valoriDivisi(0) & " - " & valoriDivisi(1)) Else ' Il primo dato è riferito ai gradi della bussola valoriDivisi(0) = valoriDivisi(0).Replace(".", ",") ' se ci fosse il punto decimale viene sostituito con la virgola decimale If Double.TryParse(valoriDivisi(0), avanzamento) Then If avanzamento < 0 Or avanzamento > 360 Then ListBox1.Items.Add(DateTime.Now.ToLongTimeString & " - Elaborato Bussola = Errore il valore " & avanzamento.ToString() & " è fuori range") Else lblgradi.Text = avanzamento.ToString("000°") Pcboxbussola.Invalidate() ListBox1.Items.Add(DateTime.Now.ToLongTimeString & " - Elaborato Bussola = " & avanzamento.ToString("000°")) End If Else ListBox1.Items.Add(DateTime.Now.ToLongTimeString & " - Elaborato = Errore " & valoriDivisi(0) & " non è un intero") End If '' Il dato in: valoriDivisi(1), è riferito al volume e è una stringa Dim volume As Integer = 0 If Integer.TryParse(valoriDivisi(1), volume) Then If volume < 0 Or volume > 100 Then ListBox1.Items.Add(DateTime.Now.ToLongTimeString & " - Elaborato Volume = Errore il valore " & volume.ToString() & " è fuori range") Else ListBox1.Items.Add(DateTime.Now.ToLongTimeString & " - Elaborato Volume = " & valoriDivisi(1)) If volumeOld <> volume Then ' se il volume è cambiato volumeOld = volume ' memorizzo il valore ' aggiorno e visualizzo 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.volume = video.Volume_control1.value End If End If Else ListBox1.Items.Add(DateTime.Now.ToLongTimeString & " - Elaborato = Errore " & valoriDivisi(1) & " non è un intero") End If End If End Sub