Daten aufteilen
Daten aufteilen
Hallo,
ich stehe mal wieder vor einem Problem.
Über die serielle Schnittstelle erhalte ich folgenden Code:
0-0-28-24-0-1-0-105
Jede Zahl kann zwischen 1 und 3 Stellen haben. Sie sind immer durch einen - getrennt.
Ich möchte nun drei Varianlen V1, V2, V3, V4, V5, V6, V7 und V8 mit dem jeweiligen Zahlenwert füllen und breche mir ganz schön einen ab.
Sicher geht das ganz einfach
Kann mir jemand helfen?
Tobias
ich stehe mal wieder vor einem Problem.
Über die serielle Schnittstelle erhalte ich folgenden Code:
0-0-28-24-0-1-0-105
Jede Zahl kann zwischen 1 und 3 Stellen haben. Sie sind immer durch einen - getrennt.
Ich möchte nun drei Varianlen V1, V2, V3, V4, V5, V6, V7 und V8 mit dem jeweiligen Zahlenwert füllen und breche mir ganz schön einen ab.
Sicher geht das ganz einfach
Kann mir jemand helfen?
Tobias
StringField()?
EDIT: Oder halt noch ein Val drumrum, wenn du damit rechnen willst
Code: Alles auswählen
string.s="0-0-28-24-0-1-0-105"
V1.s=StringField(string,1,"-")
V2.s=StringField(string,2,"-")
V3.s=StringField(string,3,"-")
V4.s=StringField(string,4,"-")
V5.s=StringField(string,5,"-")
V6.s=StringField(string,6,"-")
V7.s=StringField(string,7,"-")
V8.s=StringField(string,8,"-")
Code: Alles auswählen
V1=Val(StringField(string,1,"-")) ;usw...
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
@TomS
du hast Val() vergessen
@TobiasR
für solche Fälle würde ich dir eher ein Array als getrennte Variablen empfehlen, das ist für viele Dinge praktischer.
Zum Beispiel kannst du schon beim Aufteilen eine Schleife benutzen.
du hast Val() vergessen
@TobiasR
für solche Fälle würde ich dir eher ein Array als getrennte Variablen empfehlen, das ist für viele Dinge praktischer.
Zum Beispiel kannst du schon beim Aufteilen eine Schleife benutzen.
Code: Alles auswählen
Dim V(8)
string.s="0-0-28-24-0-1-0-105"
For n=1 To 8
V(n) = Val(StringField(string,n,"-"))
Debug V(n)
Next
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
Hallo,
die Idee mit dem Arry ist gut und ich wollte sie auch gleis ausprobieren.
Leider hackt das Programm jetzt
Was mache ich da falsch?
die Idee mit dem Arry ist gut und ich wollte sie auch gleis ausprobieren.
Leider hackt das Programm jetzt
Code: Alles auswählen
string.s=auswertung.s
For n=1 To 8
V(n) = Val(StringField(string,n,"-"))
Debug V(n)
Next
StringGadget(#String_11, 455, 490, 70, 25, V1)
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
Na dann darf ich dir ExtractRegularExpression() vorstellen:TobiasR hat geschrieben:die Idee mit dem Arry ist gut
Code: Alles auswählen
Dim V.s(0)
string.s="0-0-28-24-0-1-0-105"
CreateRegularExpression(0, "\d+")
anzahl=ExtractRegularExpression(0, string, V())
FreeRegularExpression(0)
For n=0 To anzahl-1
Debug V(n)
Next
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End