高手帮我看下,这是个怎么变成死循环了?
IF FILE('dmx.dbf')IF USED('dmx')
SELECT dmx
DELETE all
pack
ELSE
USE dmx in 0 EXCLUSIVE
SELECT dmx
DELETE ALL
pack
ENDIF
ELSE
CREATE TABLE dmx(股票代码 c(10),rq d,cjhs n(10,2),zrhs n(10,2),ssqs n(10,2),xjqs n(10,2),zrhc n(10,2),cjhc n(10,2),mz n(10,2),nz n(2,0),xz c(10))
ENDIF
use
*!* 上面是清除翻译表中的数据记录。
USE C:\Users\13268862888\Desktop\fanyi\dmm.dbf
GO TOP
k=s
N=3
N1=1-N*2/100
N2=1-N/100
N3=1+N/100
N4=1+N*2/100
*!* DIMENSION a1(1),a2(1),b1(1),b2(1),c1(1),c2(1),d1(1),d2(1),e1(1),e2(1),m(1)
PUBLIC a1,a2,b1,b2,c1,c2,d1,d2,e1,e2,m
STORE 0 TO a2,b1,b2,c1,d1,d2,e1,e2
STORE 0.1 TO c2,a1
LOCATE FOR s>=k*1.06 OR s<=k*0.94
IF FOUND()
IF s>=k*1.06
A1=K
DO ssqs
DO WHILE EOF()
DO xjqs
DO ssqs
LOOP
ENDDO
ELSE
A2=K
DO xjqs
DO WHILE EOF()
DO ssqs
DO xjqs
LOOP
ENDDO
ENDIF
ELSE
RETURN
ENDIF
亅
红色里面,是执行第1 个IF ,现在能执行到DO SSQS.这里。但是如果我在接下来的DO WHILE EOF() 在EOF()前面加个NoT条件。怎么就变成死循环了呢?加.NOT.,也是一样。鼠标就变成了忙的了,说明还在执行。
DO XJQS和DO SSQS程序。我单独试过,可以用,也可以跳出的。
2015.04.23
就是缺少一个SKIP语句
DO SSQS 和 DO XJQS,是可以单独跳出的,里面也有DO WHILE 循环的,也有SKIP语句。
.not. EOF()和 not EOF() 和!NOT EOF() 是一个意思。
IF FOUND()
IF s>=k*1.06
A1=K
DO ssqs
DO WHILE NOT EOF()
*!* IF EOF()
*!* EXIT
*!* ENDIF
*!* SKIP
DO xjqs
*!* IF EOF()
*!* EXIT
*!* ENDIF
*!* SKIP
DO ssqs
*!* IF EOF()
*!* EXIT
*!* ENDIF
SKIP
LOOP
ENDDO
ELSE
A2=K
DO xjqs
DO WHILE NOT EOF()
*!* IF EOF()
*!* EXIT
*!* ENDIF
*!* SKIP
DO ssqs
*!* IF EOF()
*!* EXIT
*!* ENDIF
*!* SKIP
DO xjqs
*!* IF EOF()
*!* EXIT
*!* ENDIF
SKIP
LOOP
ENDDO
ENDIF
ELSE
RETURN
ENDIF
这就可以了。一个一个试的。
我的整个程序已经写出来了。
[ 本帖最后由 l87233203 于 2015-4-23 17:56 编辑 ]