Post by mueh on Mar 6, 2019 6:55:05 GMT -5
Hi George
It appears that STATE Data Start Col is 1 Byte off if Hilite Color changes .
What do you Think About following untested j = k-1 Code Change ?
It appears that STATE Data Start Col is 1 Byte off if Hilite Color changes .
What do you Think About following untested j = k-1 Code Change ?
_TabData.inc METHOD StateSave
'----- PEN Clr entries
aTxt = LAttrGP(i) ' Get Attr string
FOR j = 1 TO LEN(@Atxt) ' Loop through it
AttrAsc1 = ASC(MID$(@aTxt, j)) AND %AttrHiLite' Get any HiLite
IF AttrAsc1 <> 0 THEN ' Anything
k = AttrAsc1 ' Temp copy
SHIFT RIGHT k, 8 ' Right align
AttrClr = MID$(nHiLitesChrs, k, 1) ' Convert to a single Alpha character
INCR ClrLines ' Count
IF ClrLines = 1 THEN HC = "#C" '
HC += FORMAT$(RealLines) + "/" + AttrClr + "/" + FORMAT$(j) + "/" ' Start building the entry
FOR k = j TO LEN(@aTxt) ' Look for end of hilight string
AttrAsc2 = ASC(MID$(@aTxt, k)) AND %AttrHiLite' Get next Attr byte
IF AttrAsc2 = AttrAsc1 AND k <> LEN(@aTxt) THEN ITERATE FOR ' Still the same color? Keep looking for the end
IF k = LEN(@aTxt) THEN INCR k ' Adjust for end of line
HC += FORMAT$(k - j) ' '
j = k-1 : EXIT FOR ' MUEH next j will increment to first byte
NEXT k '
HC += "/" + tt + "," '
END IF '
NEXT j '