FOXBASE+2.1中一个未公开的限制

Author: 贵州 杨邓军 Date: 1995-12-22

        解决这个问题的方法很多:
        一是在@GET命令中取消PICT和FUNC子句,但这种办法失去了对屏幕格式的控制;
        二是分段使用@GET-READ组合命令,每段的@GET命令不超过102个,即可保证输入的正常进行。但全屏幕输入的画面却变得残缺不全,影响了屏幕的美观;
        三是先用@SYS命令显示各变量的内容,再和第二种方法分段使用@GET-READ组合命令。这样,既保持了全屏幕输入的视觉效果,也不致因分段使用@GET-READ组合命令而破坏全屏幕输入画面的完整性。当然,为了保持画面的视觉效果,也可以用@GET-READ GETS命令代替@SAY命令,使画面看起来与真正进行@GET-READ时有一样的视觉效果。这时,只要注意每个@GET-CLEAR GETS组合命令中的@GET命令数不超过102个就行了。
        附:试验程序
        *试验程序SY.PRG
        *调用此程序时须带参数,该参数即是连续的@GET命令数
        *本程序在COMPAQ/D/386/88M上通过
        para j
        set color to w/n
        set stat off
        clea
        set talk off
        dime sy(j)
        set colo to w+/r,r/w+
        i=1
        do while i<=j
        sy(i)=0
        @ int(i/10)+1,mod(i,10)*8 get i piot "@z 999"
        i=i+1
        enddo
        set color to w/n,n/w
        return
        *EOF:SY.PRG
        (贵州 杨邓军)