Seite 1 von 1

PB schreibt nummerischen Wert einfach nicht

Verfasst: 26.10.2004 17:39
von MVXA
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:

Code: Alles auswählen

message[13][10]10 [13][10][2] [13][10]normal[0][0]hi
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 :freak:. 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.

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)
EndProcedure
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:

Code: Alles auswählen

    Structure ECProtokoll
        Befehl.s
        Param.s
        Laenge.l
    EndStructure