1. Du brauchst nicht nach Dezimal wandeln, PB kann das selber.
2. Anzahl Daten brauchst du nicht. Kann man berechnen
Code:
a1.s = "$FF , $80 , $80 , $80 , $80 , $81 , $81 , $81 , "
a2.s = "$81 , $81 , $81 , $81 , $81 , $81 , $81 , $81 , "
a3.s = "$FF , $00 , $00 , $00 , $00 , $FF , $00 , $00 , "
Procedure.s TrimData(String.s)
String = RTrim(String, " ")
String = RTrim(String, ",")
String = RTrim(String, " ")
ProcedureReturn " Data.a " + String
EndProcedure
Define r1.s
r1 = "DataSection" + #LF$
r1 + " BeginData:" + #LF$
r1 + TrimData(a1) + #LF$
r1 + TrimData(a2) + #LF$
r1 + TrimData(a3) + #LF$
r1 + " EndData:" + #LF$
r1 + "EndDataSection" + #LF$
Debug r1
; ----
Define cnt, i, value
Debug "Methode 1"
cnt = ?EndData - ?BeginData - 1
Restore BeginData
For i = 0 To cnt
Read.a value
Debug "" + i + " = " + value
Next
Debug "Methode 2"
Structure ArrayOfUnsignedByte
a.a[0]
EndStructure
cnt = ?EndData - ?BeginData - 1
Define *pdata.ArrayOfUnsignedByte = ?BeginData
For i = 0 To cnt
Debug "" + i + " = " + *pdata\a[i]
Next
; Result - vom Debugger Kopiert und eingefügt
DataSection
BeginData:
Data.a $FF , $80 , $80 , $80 , $80 , $81 , $81 , $81
Data.a $81 , $81 , $81 , $81 , $81 , $81 , $81 , $81
Data.a $FF , $00 , $00 , $00 , $00 , $FF , $00 , $00
EndData:
EndDataSection