|
[原创]请教vfbpgyfk先生一个编程问题
CLEAR
SELECT 1
USE f:\MYVFP\学习VFP\生成初始值11.DBF ALIAS 生成初始值10 &&怎么调用表名与打开表名不一致。ALIAS是说,以后启动这个表时的启动名,实质就是“生成初始值11.DBF”
SELECT 2
USE f:\MYVFP\学习VFP\生成初始值7.DBF ALIAS 生成初始值6 &&同上
*INPUT "请输入外循环开始值 wxhks=" TO wxhks
*INPUT "请输入外循环结束值 wjs=" TO wjs
*INPUT "请输入内循环开始值 nks=" TO nks
*INPUT "请输入内循环结束值 njs=" TO njs
*INPUT "请输入参考素数 ckss=" TO ckss
*INPUT "请输入参与运算的初始值 i=" TO 生成元7
wxhks=1
USE f:\MYVFP\学习VFP\生成初始值7.DBF &&已经在“SELECT 2”处打开过啦。这种打开方式,程序中只能有一个打开表,再用其它表,只有再打开语句,而且是从第一条记录开始。
?reccount()
wjs=reccount()
FOR i=wxhks to wjs &&这是对记录进行循环(如同在教室或影剧院中,从第一排走到最后一排),您不点名(叫哪个人),只能得到排序,而不能让哪个人站出来做事。所以,如果需要哪个人出来做事,就要点出几排(循环数),几列(字段名),才能让这个点(那个人)上的人(数据)出来做事(参加计算)。nks=0
njs=10
FOR j=nks to njs
bpz=i+j*210 &&由于在外循环中没有“点将”(记录号或字段名),只能是外循环值,与表中内容无任何关系。如我的程序中“qmz=MOD(bpz,素数)”的“素数”就是调用了素数表的字段名为“素数”(第几列)的数值。比如:第二排(第二条记录,外循环的i=2)和字段名为素数的数值(假如是3,如果i=3,就是5)
ckss=11
qmz=MOD(bpz,ckss)
IF .not. qmz=0 OR qmz=2 OR qmz=6 OR qmz=8
SELECT 生成初始值10 &&打开保存求解结果的信息表
APPEND BLANK &&增加一条空记录
REPLACE 生成元11 WITH bpz &&将外循环数值保存到外循环字段中(外循环数据栏)
ENDIF
NEXT &&这是什么?在此位置上应该是SKIP(记录指针向下移动一条)或ENDFOR(循环出口,即一个完整的循环圈)
NEXT &&同上
程序不全,不好分析。
I=1
DO WHILE I<=10
循环间需要做的事语句
I=I+1
ENDDO
与
FOR I=1 TO 10
循环间需要做的事语句
ENDFOR
是相同作用。
DO WHILE .T. &&是在满足每件时结束循环(低版本VFP必须使用,不能使用FOR)
IF *****
EXIT &&条件满足,跳出循环
ENDIF
ENDDO
DO WHILE NOT EOF() &&这种形式用于表。当超过表的最后记录(多一条),循环结束。
循环间需要做的事语句
SKIP
ENDDO
[br][br]-=-=-=-=- 以下内容由 vfbpgyfk 在 时添加 -=-=-=-=-
DO WHILE 中需要做的事与FOR中需要做的事基本一样,差别是,FOR不必计数,自动进行,前需要计数。 |
|