请教VFP中关于数组变量的定义与引用问题
我有如下一段VFP代码,主要目的在于获取一个字段值中出现符号“[”的次数,并以次数定义数组,然后再从数组的值中进行判断。
ftime=len(ALLTRIM(kmfz))-len(CHRTRAN(ALLTRIM(kmfz),'[',"")) &&获取字符'['出现的次数
DO WHILE AT('[',ALLTRIM(kmfz))<>0
LOCAL ARRAY fzArray[ftime] &&定义数组变量
FOR h=1 TO ftime
STORE SUBSTR(ALLTRIM(kmfz),AT('[',ALLTRIM(kmfz))+1,AT(']',ALLTRIM(kmfz))-2) TO fzArray[h]
replace kmfz WITH ALLTRIM(STRTRAN(kmfz,'['+fzArray[h]+']',''))
ENDFOR
ENDDO
**********在数组fzArray[]中查找相关辅助项目,如果存在则执行相关操作
sz1=ASCAN(fzArray,'工程项目') &&在数姐中查找是否存在相关的值
IF sz1<>0
**执行工程项目操作
ENDIF
在执行 sz1=ASCAN(fzArray,'工程项目') 语句时,提示变量fzArray不存在。
请教各位,以上代码中关于数组fzArray[ftime] 的定义与ASCAN(fzArray,'工程项目')中的引用有何不妥?
[解决办法]
vfp什么版本
[解决办法]
*--- VFP9 代码示例:在数组中查找字符串CSTR="[123][ab工程项目][ABCD]"NCS=OCCURS("[",CSTR) && "[" 出现次数LOCAL ARRAY FZARRAY(NCS)FOR I=1 TO NCS FZARRAY(I)=STREXTRACT(CSTR,"[","]",I) && 到字符串保存到数组 IF AT("工程项目",FZARRAY(I))>0 SZ=FZARRAY(I) EXIT && 前提是数组中只有一个"工程项目" ENDIFENDFOR