vfp6.0编程的问题

来源:百度知道 编辑:UC知道 时间:2024/06/18 00:21:52
DO WHILE、SCAN、FOR三种循环语句都适用于哪些问题?

while 所有类型的循环都可以使用。
for 主要用于计数循环。
scan主要用于过滤数据库记录。

*例子1:
for aa=1 to 10 step 2
@aa,10 say Str(aa)
endfor
*意思是aa从1开始,每次+2,aa>=10时退出循环。
*执行结果,坐标1行10列显示1,3行10列显示3,5行10列显示5...
*while也能实现,只是写起来语句繁琐,同等结果如下:
aa=1
do while aa<=10
@aa,10 say Str(aa)
aa=aa+2
enddo
*while多了给aa=1和aa=aa+2,恩,这样你应该明白了。

*例子2
go top
do while not eof()
disp
?'当前记录',recn(),'总记录',recc()
skip
enddo
*执行结果,意思是从表开头到结尾,每个记录显示一下
*这个好像用for不太合适的,那么就用scan,同等结果如下:
scan
disp
?'当前记录',recn(),'总记录',recc()
endscan
*恩,scan更简洁高效,上面你应该也能看明白
*哈,不过用for也能实现啊,如下:
go top
for aa=1 to recc()
disp
?'当前记录',recn(),'总记录',recc()
skip
endfor
*或,下面for也可以的,不过没有数据时go aa会出错(因为没有1号记录)
for aa=1 to recc()
go aa
disp
?'当前记录',recn(),'总记录'