例如,可以使用特殊的转义序列来改变物理游标位置,而不更新$X和$Y的值。在这种情况下,在使用转义序列之后,使用set将正确的值分配给$X和$Y。...因为WRITE*不会改变$Y,所以可以向终端发送一个控制序列,而$Y仍将反映真实的光标位置。由于某些控制序列确实会移动光标,因此可以使用SET命令直接设置$Y。...例如,以下命令将光标移动到VT100型端子上的列20和行10,并相应地设置$X和$Y:
SET dy=10,dx=20
WRITE *27,*91,dy+1,*59,dx+1,*72
SET...$Y=dy,$X=dx
设备执行但不输出的ANSI标准控制序列(如转义序列)可能会在$X和$Y值与真实光标位置之间产生差异。...例如,不使用以下代码:
WRITE $CHAR(27)_"[1m"
使用此等效表:
WRITE *27,*91,*49,*109
通常,在显式移动光标的任何转义序列之后,应更新$X和$Y以反映实际光标位置