VFP中 for 与while 的区别
VFP中子句for与while的区别我说的是子句中的~比如average基本工资for性别="男"average基本工资while性别="男"...
VFP中 子句 for 与 while 的区别
我说的是子句中的~
比如
average 基本工资 for 性别="男"
average 基本工资 while 性别="男" 展开
我说的是子句中的~
比如
average 基本工资 for 性别="男"
average 基本工资 while 性别="男" 展开
展开全部
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(),'总记录',recc()
endfor
*例子3:
do while .t.
...
enddo
*无条件进入,指定的条件苛刻,或者表达式在循环里不停的修改
*那么你用for和scan虽然也能变通实现,但好像有些牵强吧?
*具体语法参数,比如loop,exit等,你自己查吧,我不赘述了。
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(),'总记录',recc()
endfor
*例子3:
do while .t.
...
enddo
*无条件进入,指定的条件苛刻,或者表达式在循环里不停的修改
*那么你用for和scan虽然也能变通实现,但好像有些牵强吧?
*具体语法参数,比如loop,exit等,你自己查吧,我不赘述了。
参考资料: 编程需要变通,既然你能问这个问题,我想这些对你应该有所帮助
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询