Neokortex
13.06.2009, 21:33
Hallo,
mein Roboter fährt soweit schon ganz gut, allerdings möchte ich ihm (per RS232) mitteilen wie schnell er fahren soll. Dazu ist das rn-controll mit einem EeePC verbunden während der Fahrt.
Wie kann ich aus einem String, der mehrere Stellen hat nur einzlne chars per if abfragen und nur bestimmte Zeichen auslesen bzw. kopieren?
z.B.:
Sub Serial0charmatch()
Local Incoming_data As String * 30
'Daten vom Buffer auslesen
Input Incoming_data Noecho
If Incoming_data [...und hier nur Feld 1] = "x" Then
[...und jetzt die restlichen 1-3 Felder mit Zahlen in eine Variable schreiben]
In dem Beispielcode dachte ich daran die Werte für das PWM Signal zu schicken und um es von Steuerbefehlen unterscheiden zu können eben zuvor mit einem Zeichen wie 'x' zu versehen.
Steuercodes werden wie folgt abgefangen:
If Incoming_data = "v" Then
Call Mvor
Elseif Incoming_data = "z" Then
Call Mzur
Elseif Incoming_data = "l" Then
Call Mlin
Elseif Incoming_data = "r" Then
Call Mrec
Elseif Incoming_data = "o" Then
Pwm1a = 0
Pwm1b = 0
End If
unter c++ geht sowas mit [pos] oder MFC String.Right(n) usw. aber wie in Bascom? Hat jemand nen Tip?
mein Roboter fährt soweit schon ganz gut, allerdings möchte ich ihm (per RS232) mitteilen wie schnell er fahren soll. Dazu ist das rn-controll mit einem EeePC verbunden während der Fahrt.
Wie kann ich aus einem String, der mehrere Stellen hat nur einzlne chars per if abfragen und nur bestimmte Zeichen auslesen bzw. kopieren?
z.B.:
Sub Serial0charmatch()
Local Incoming_data As String * 30
'Daten vom Buffer auslesen
Input Incoming_data Noecho
If Incoming_data [...und hier nur Feld 1] = "x" Then
[...und jetzt die restlichen 1-3 Felder mit Zahlen in eine Variable schreiben]
In dem Beispielcode dachte ich daran die Werte für das PWM Signal zu schicken und um es von Steuerbefehlen unterscheiden zu können eben zuvor mit einem Zeichen wie 'x' zu versehen.
Steuercodes werden wie folgt abgefangen:
If Incoming_data = "v" Then
Call Mvor
Elseif Incoming_data = "z" Then
Call Mzur
Elseif Incoming_data = "l" Then
Call Mlin
Elseif Incoming_data = "r" Then
Call Mrec
Elseif Incoming_data = "o" Then
Pwm1a = 0
Pwm1b = 0
End If
unter c++ geht sowas mit [pos] oder MFC String.Right(n) usw. aber wie in Bascom? Hat jemand nen Tip?