RE:Extraer coordenadas de GPS. con Visual Basic 6.
Pues aquí lo tienes:
tmrGPS es un control timer.
Private s As String
Private Sub tmrGPS_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmrGPS.Tick
If s = "" Then Exit Sub
Dim LastSt As String = s
Dim Fields() As String
Dim Lecturas() As String
Dim Lectura As String
'Sumamos uno para asegurarnos que tenemos al menos un $
LastSt = LastSt.Substring(0, LastSt.LastIndexOf("$"))
'vaciamos la cadena original quedandonos con el último $
'TODO:
'Comprobar que s contiene lo que debería contener.
s = s.Substring(LastSt.Length)
'Cojemos las lecturas en un Array
Lecturas = LastSt.Split(search)
For Each Lectura In Lecturas
'Procesamos cada una de las lecturas
Fields = Lectura.Split(",")
Select Case Fields(0)
Case "GPGGA"
'Los indices que nos interesan, de momento son:
'1.- Hora (hhmmss.ss)
'2.- Latitud (dddmm.mmm) grados y minutos
'3.- N o S (latitud)
'4.- Longitud (dddmm.mmm) grados y minutos
'5.- E o W (longitud)
'7.- Numero de Satelites.
'9.- Altitud sobre el nivel del mar
'10.- Unidades de la altitud, deberían ser M
Me.lblTime.Text = Formatos.strTime(Fields(1))
Me.lblLatitud.Text = Fields(2)
Me.lblLat.Text = Fields(3) 'Norte (N) o Sur (S)
Me.lblLongitud.Text = Fields(4)
Me.LblLong.Text = Fields(5) 'Este (E) u Oeste (W)
Me.lblSatelites.Text = Fields(7)
Me.lblAltitud.Text = Fields(9)
Me.lblUnits.Text = Fields(10)
Conversion.ToUTM(Me.lblLatitud.Text, Me.lblLongitud.Text)
Case Else
'De momento ignoramos el resto de lecturas.
'Es posible que en un futuro queramos hacer algo con otras lecturas
'Por eso de momento usamos un SELECT CASE en ve de un IF.
End Select
Next Lectura
Me.txtLed.Visible = Not Me.txtLed.Visible
End Sub
final de tabla