你的程序写错了应该如下
use zg &&打开ZG表
n=0 &&变量设置初值 为0
do while not eof() &&当非文件末尾时,执行循环体内的语句
if 性别='男' &&如果性别等于 ’男‘
n=n+1 &&变量N增加1
display &&显示当前记录
endif
skip &&跳转到下一条记录
enddo
?n
use &&关闭当前工作区的ZG表
回答你的问题:
1.NOT EOF() ——
如果记录指针到达表文件的末尾(EOF),EOF( )
返回真(.T.)。当记录指针超过表中最后一条记录时,就到达了表尾。例如,当 FIND、LOCATE 或 SEEK 失败时,Visual FoxPro
移动记录指针越过最后一条记录,EOF( ) 返回真(.T.)。如果记录指针不在表尾时,EOF( ) 返回假(.F.)。
2.display是显示这条记录,skip是跳转到下一条记录
3.use ——关闭当前工作区的工作表
如果没有表名发出 USE,并且在当前选定工作区中打开了一个表文件,Visual FoxPro 将关闭该表。当在相同工作区中打开另外一张表时,Visual FoxPro 也会关闭该表。在一个时刻,不能在一个工作区中打开多个表。