Verfasst: 17.02.2009 23:45
Vielleicht wurden die einzelnen Werte durch Tab getrennt, einfach wieder mit
entfernen.
Code: Alles auswählen
t.s = RemoveString(t.s, #TAB$)
Das deutsche PureBasic-Forum
https://www.purebasic.fr/german/
Code: Alles auswählen
t.s = RemoveString(t.s, #TAB$)
Code: Alles auswählen
If IsSerialPort (1)
nmea.s + GetTextSerial ()
EndIf
Code: Alles auswählen
Procedure.s getTextSerial(result.s)
Protected input.i, *mem, length.i
input = AvailableSerialPortInput(1)
If input > 0
*mem = AllocateMemory(input)
If *mem
length = ReadSerialPortData (1, *mem, input)
If length
result + PeekS(*mem, length, #PB_Ascii)
If Len(result) > 1024
result = Right(result, 1000)
EndIf
EndIf
FreeMemory(*mem)
EndIf
EndIf
ProcedureReturn result
EndProcedure
Define.i event
Define.s nmea
Repeat
event=WaitWindowEvent (20)
Select event
Case #PB_Event_CloseWindow
If IsSerialPort(1)
CloseSerialPort (1)
EndIf
ende=1
Case #PB_Event_Gadget
Select EventGadget ()
Case 20
;MessageRequester ("Info", "Koordinate erfassen")
;.
;.
;.
Case 21
ende=1
EndSelect
EndSelect
If IsSerialPort (1)
nmea = GetTextSerial (nmea)
EndIf
;.
;.
;.
Until ende=1