Avatar billede hitman3k Nybegynder
07. april 2008 - 10:13 Der er 10 kommentarer og
1 løsning

Få data ud fra et text felt

Hej Eksperter..

Jeg sidder og roder med en GPS og jeg har fået forbindelse til GPS'en og fået noget data ud i et text, men der er flere linjer der kommer ud og jeg skal kun bruge en hvor der står $GPGGA også kommder er en masse data, den næste linjer starer igen med $**** og der skal den så slut med at hente mere data. Det er ikke altid samme text der kommer som næste linje :(

det jeg vil med det er at den linje med $GPGGA skal over i et andet text felt´og kun den linje..

og derefter skal jeg have soterte i den data så jeg fx får det ud jeg skal bruge..
Avatar billede hitman3k Nybegynder
07. april 2008 - 13:45 #1
hvis du har en anden ide til det så bare kom med den.. fx. hvis man kan nøjes med at få den linje ud med $GPGGA og ikke andet
Avatar billede hitman3k Nybegynder
07. april 2008 - 15:35 #2
Skriv hvis i skal se koden.

jeg har fået den til at hente data hvergang den sender noget min enhed, men der er mere end jeg skal bruge. jeg skal kun bruge det efter den har skrevet $GPGGA og der efter er der 71 Tegn jeg skal bruge..
Avatar billede kabbak Professor
07. april 2008 - 15:48 #3
Jeg vil godt se den del, hvor du sender og henter fra rs232.
Avatar billede hitman3k Nybegynder
07. april 2008 - 15:53 #4
nu når det er en GPS så henter jeg kun data sender ingen ting.. :D

$GPGGA,135057.195,5654.6044,N,00940.9321,E,1,03,10.5,107.8,M,42.6,M,0.0,0000*43
$GPGSA,A,2,02,04,13,,,,,,,,,,22.6,10.5,20.0*07
$GPRMC,135057.195,A,5654.6044,N,00940.9321,E,0.00,221.37,070408,,*05

det får jeg fra GPS'en plus mere..

Men det er kun den hvor der står $GPGGA plus resten af den linje jeg skal bruge
Avatar billede hitman3k Nybegynder
07. april 2008 - 15:53 #5
nåå koden :-S

Private Sub Command1_Click()
PortTimeout = False
If MSComm1.PortOpen = True Then MSComm1.PortOpen = False
    MSComm1.CommPort = 9
    MSComm1.Settings = "9600,N,8,1"
    MSComm1.InBufferSize = 1
    MSComm1.PortOpen = True
    MSComm1.RThreshold = 0
   

End Sub

Private Sub MSComm1_OnComm()
Text1.Text = MSComm1.Input
End Sub
Avatar billede kabbak Professor
07. april 2008 - 19:14 #6
Private Sub MSComm1_OnComm()
Text1.Text = MSComm1.Input
Hent Data
End Sub

Public Sub Hent(Data As Variant)
Dim Linje As Variant, I As Integer, Uddata As Variant
    Linje = Split(Data, "$")
    For I = 0 To UBound(Linje)
        If Left(Linje(I), 5) = "GPGGA" Then
            Uddata = Split(Linje(I), ",")
          Exit For
        End If
    Next
    msg = "Uddata("
    For I = 0 To UBound(Uddata)
    msg = msg & I & ") = " & Uddata(I) & vbCrLf & "Uddata("
    Next
    msg = Left(msg, Len(msg) - 7)
    MsgBox msg
End Sub


Ok jeg skriver værdierne ud i en msgbox, til dig, jeg har skrevet i starten af hver, hvor de findes "Uddata(x) ="

Kan du så selv kode videre ??
Avatar billede kabbak Professor
07. april 2008 - 19:17 #7
Jeg glemte at rette i denne

Private Sub MSComm1_OnComm()
Text1.Text = MSComm1.Input
Hent Text1.Text
End Sub
Avatar billede hitman3k Nybegynder
08. april 2008 - 12:43 #8
Hmm sys ikke rigtig det virker.. :S
Avatar billede hitman3k Nybegynder
08. april 2008 - 12:55 #9
eheh fik det til at virke, det virker ikke rigtig før man har trykket på en knap hvor der står det der Hent Text1.text i så kommer msg Box'en...
Avatar billede hitman3k Nybegynder
08. april 2008 - 13:32 #10
hehe nu skal jeg så bare til at rode med at få en af de linjer ud i et felt.. men nu må vi se om jeg ikke finder ud af det.. men skal på arbejde i dag så får nok ikke lige tid til at kigge så meget på det :P
Avatar billede kabbak Professor
10. april 2008 - 15:25 #11
Et svar ;-))
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester