高手解决一下Visual FoxPro的小问题

来源:百度知道 编辑:UC知道 时间:2024/09/22 16:50:55
FOR<条件>和WHILE<条件>有何区别?

这是个VFP的关键之处。

WHILE后跟条件,FOR后面也跟条件,区别是:WHILE后的条件如果不满足,便停止查找;FOR后的条件查找所有满足条件的记录。

明白没有,假如你执行如下语句:
DISPLAY ALL FOR/WHILE 基本工资>1000

WHILE就是从当第一条记录开始,如果 基本工资>1000 就显示,遇到不满足的就停止DISPLAY,如果是FOR则会搜索所有满足条件的记录。

事实上我们一般都是用FOR条件

两者在程序中一定程度上可以相互转化,之所以称是一定程序上,也就是说两者是有区别的,部分情况下不能转达化:
1。for主要用于步长型的,一般用于整数的规整方法;
for i=0 to 10 step 1
这样用for简单。
2。while当然用于不是很规整的,也就是步长目标不明确的循环:
while (X <100)也就是说只要条件是X<100就可以,至于X是如何变化的,那不一定!
可以看出两者各有千秋,大多数可以转化的原因是借助了break;的方法!和循环体内的规律:
for i=10 to 100 step 2改写为while:

i=10
while (i<=100)
i=i+2
这样可以是相通的

而while向for的改写:将for的终值条件改到足够大一般就可以实现。

两者改写不能实现的地方:
for可以对对象内进行枚举,for i in object而while不能!
对于取表格时:
while所用条件是not eof()就可以了,而for必须先取出其记录总数!做为终始条件。之所以说两者不能转化的原因是两者是用不同的方法而进行的,虽能达到相同结果,但是两者完全不同的思路!

等等,所以,两者最好都要学过!