PB schreibt nummerischen Wert einfach nicht
Verfasst: 26.10.2004 17:39
Hallo !
Ich Programmier grad was und bau dazu ein Chat Protokoll ein. (www.echp.de) Das, was ein Client an den Server sendet, sieht so aus:
Byets, die nicht dargestellt werden können, werden durch eine Zahl, die in den [] Klammern steht, ersezt. Nun habe ich eine Funktion geschrieben, die diesen String in eine Struktur aufteilt. Nur wird die Laenge einfach nicht geschrieben
. Aber als Stringform wurde die Länge erkannt. kann es nur nicht in die Struktur schreiben. Warum ?
hier die Funktion, die den String in eine Struktur aufteilt.
Die Funktion ist noch etwas "unordentlich" und habe sie direkt aus VB geschrieben. Das Protokoll hate ich schonmal umgesezt, aber halt nur in VB
Die Struktur sieht so aus:
Ich Programmier grad was und bau dazu ein Chat Protokoll ein. (www.echp.de) Das, was ein Client an den Server sendet, sieht so aus:
Code: Alles auswählen
message[13][10]10 [13][10][2] [13][10]normal[0][0]hihier die Funktion, die den String in eine Struktur aufteilt.
Code: Alles auswählen
Procedure ECParseString(*RW_ECData.ECProtokoll, strData.s)
Dim ReceivedA.s(1)
Dim ReceivedB.s(1)
ReceivedA(0) = StringField(strData, 1, Chr(2))
ReceivedA(1) = StringField(strData, 2, Chr(2))
ReceivedB(0) = StringField(ReceivedA(0), 1, #CrLF)
ReceivedB(1) = StringField(ReceivedA(0), 2, #CrLF)
*RW_ECData\Befehl = ReceivedB(0)
*RW_ECData\Laenge = Val(ReplaceString(ReceivedB(1), #CrLF, ""))
*RW_ECData\Param = ReceivedA(1)
Debug "Befehl: " + *RW_ECData\Befehl + "/ Laenge: " + Str(*RW_ECData\Laenge) + "/ Param: " + *RW_ECData\Param
Debug "ReceivedA(0)" + ReceivedA(0)
Debug "ReceivedA(1)" + ReceivedA(1)
Debug "ReceivedB(0)" + ReceivedB(0)
Debug "ReceivedB(1)" + ReceivedB(1)
EndProcedureDie Struktur sieht so aus:
Code: Alles auswählen
Structure ECProtokoll
Befehl.s
Param.s
Laenge.l
EndStructure