credo che a questo punto che il problema non abbia nulla a che vedere con il titolo del post, nel senso che a te serve sapere come, data una certa stringa piuttosto che un'altra, cambi un immagine (o uno stato).Originariamente inviato da ClaudioMalorgio
UTilizzo già l'evento per scrivere in console, però come potrei fare per gestirlo questo è il codice
Dove receivedtext è questacodice:Private Sub Main_srlport_DataReceived(sender As System.Object, e As System.IO.Ports.SerialDataReceivedEventArgs) Handles Main_srlport.DataReceived ReceivedText(Main_srlport.ReadExisting()) End Sub
Ma se io appunto ora volessi, per esempio, creare un icona che varia in base allo stato del segnale?codice:Public Sub ReceivedText(ByVal [text] As String) If Me.Console_rtbox.InvokeRequired Then Dim x As New SetTextCallback(AddressOf ReceivedText) Me.Invoke(x, New Object() {(text)}) Else Me.Console_rtbox.Text &= [text] End If End Sub
Cioè creo un background worker con un loop di comandi "AT+CSQ" e cosi in base alla risposta cambia lo stato del segnale visibile all'utente...
comunque... se ti arriva una risposta come quella postata (potrebbe cambiare da device a device ma immaginiamo "+CSQ 22,0"), estrai il valore (22,0) e lo confronti con dei range di valori, i quali ognuno stabilisce un immagine (immagina 5 immagini che indicano da 0 tacchette fino a 4), una volta localizzato il renge corretto, mostri l'immagine relativa.

Rispondi quotando