巧妙使用静态变量一例

Author: Date: 1993-10-29

        比如,在许多应用场合常需要保留和恢复屏幕。可使用静态数组,本次进入时保留屏幕,下次进入该子程序时恢复它。下面给出C程序实例,其中x1、y1、x2、y2是相对于整个屏幕而言的坐标。调用者应记住备份和恢复屏幕的次序,否则将引起混乱。实际调测时应注意给Backup和Restore预定义不同的值。
        int Screen On Off(intx1,int
        y1,intx2,inty2,int Bak Restore)
        {
        staticcharb[L1*L2];/
        *L1、L2为预定义的值。请留出足够
        空间以防越界。*./
        intrtn=0
        if(BakRestore==Backup)
        //备份屏幕?
        HideMouse();/操作屏幕的隐藏鼠标光标,免引屏幕混乱。
        */
        rtn=gettext(x1,y1,x2,
        y2,b);/*备份屏幕到内存
        静态数组。
        ShowMouse();
        }
        elseif(BakRestore
        ==Restore)
        //恢复屏幕?
        HideMouse();
        rtn=Puttext(x1,y1,x2,
        y2,b);/*将先前备份的屏
        幕内容重写到视屏缓冲区*/
        ShowMouse();
        }
        if(rtn==1)
        returntrue;
        returnFalse;//失败时返回假