'---------------------- 视觉数据解析 ----------------------------
SUB *SplitStrToPos(Source$, xTag!, yTag!, rTag!)
pos% = 0 '数组下标
DIM sysPos!(3) '定义数组元素 sysPos!(0) ? sysPos!(3)
FOR Index% = 1 TO LEN(Source$)
IF MID$(Source$,Index%,1) = "," THEN
sysPos!(pos%) = VAL(MID$(Source$,1,Index%-1))
pos% = pos% + 1
Source$ = MID$(Source$,Index% + 1,LEN(Source$)-Index%)
Index% = 0
ENDIF
NEXT Index%
xTag! = sysPos!(0)
yTag! = sysPos!(1)
rTag! = sysPos!(2)
END SUB
简单翻译一下
'---------------------- 视觉数据解析 ----------------------------
SUB *SplitStrToPos(Source$, xTag!, yTag!, rTag!)
'拆分字符串得到点位(传入的字符串,得到的X坐标,Y坐标,RZ角度)
pos% = 0 '数组下标
DIM sysPos!(3) '定义数组元素 sysPos!(0) ? sysPos!(3)
'定义了一个一维数组,总共三个元素,0-2
FOR Index% = 1 TO LEN(Source$)
'for循环从1开始到"传入的字符串的总长度"
IF MID$(Source$,Index%,1) = "," THEN
'MID$(Source$,Index%,1)的意思是在Source$中,从Index%开始找,找1位
'找到","之后进入if的循环
sysPos!(pos%) = VAL(MID$(Source$,1,Index%-1))
'sysPos数组赋值,
'MID$(Source$,1,Index%-1)在Source$字符串里,从第一位开始找,终止位是找到的","往前数一位
pos% = pos% + 1
'sysPos数组下标自增,为下一次循环赋值,对应后边的sysPos!(0)/sysPos!(1)/sysPos!(2)
Source$ = MID$(Source$,Index% + 1,LEN(Source$)-Index%)
'MID$(Source$,Index% + 1,LEN(Source$)-Index%)
'在Source$字符串里,从上次找到的","位置开始找,然后把剩下的所有字符串截取出来.
'举例子的话,就是传过来的字符串是"25,28,36,",第一次循环会拆出X的坐标25,
'然后Source$字符串现在是"28,36,"
'第三次的话是"36,"
Index% = 0
ENDIF
NEXT Index%
xTag! = sysPos!(0)
yTag! = sysPos!(1)
rTag! = sysPos!(2)
END SUB