标题:求助高手:一段搜索目录下的子目录代码,有几个不懂,请教一下,多谢了。
只看楼主
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1519
专家分:174
注 册:2006-6-3
结帖率:79.3%
已结贴  问题点数:20 回复次数:2 
求助高手:一段搜索目录下的子目录代码,有几个不懂,请教一下,多谢了。
**陕西zx1913 自定义函数
 
  FOR JJ=1 TO 陕西ZX1913("D:\")      
=MESSAGEBOX(CARRAYNAME(JJ),48,"报告")
NEXT JJ
 
* ==============
FUNC 陕西ZX1913
  PARAMETERS CPATH   &&接收上述"D:\"
  
  CPATH=CPATH+"*.*"       &&路径加上"*.*",得到类似"c:\??\??\*.*"
  NCOUNT=ADIR(CDIRNAME,CPATH,"D")  &&&把文件属性为D,放入数组中并返回文件个数
  NN=0
  FOR II=1 TO NCOUNT
    IF "D"$CDIRNAME(II,5) AND !CDIRNAME(II,1)=="." AND !CDIRNAME(II,1)==".."
      NN=NN+1
      PUBLIC CARRAYNAME(NN)                &&&根据传递的数组名和得到的目录个数创建一个全局数组
      CARRAYNAME(NN)=ALLTRIM(CDIRNAME(II,1))  &&&&&将用adir()得到的文件和目录数组中目录名存放到自定义全局数
  ENDIF
  ENDFOR
RETURN NN   
---------------------------------------------
有几个不懂请教一下:
1、能用表达式调用自定义定义函数,那调用陕西ZX1913函数 ,是不是这个表达式: for jj=1 TO 中的“陕西ZX1913("D:\")” ,它把变量传给 FUNC 陕西ZX1913, PARAMETERS CPATH。   
2、retunn NN ,它返回值NN是不是返回给 “陕西ZX1913("D:\")”  
3 =MESSAGEBOX(CARRAYNAME(JJ)它显示出各目录名称,那它的CARRAYNAME(JJ)与全局数组CARRAYNAME(NN)这之间如何联系全局数组的变量能传递给CARRAYNAME(JJ)?
4在自定义函数中能创建全局数组PUBLIC CARRAYNAME(NN)? ,书中讲()中应是具体数字,如(1)或(2)怎么可用nn呢?在主程序中如何来调用全局数组它?
搜索更多相关主题的帖子: 目录 搜索 代码 
2010-12-04 21:29
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:396
帖 子:11713
专家分:43267
注 册:2006-5-13
得分:14 
1-2、完全可以。是将变量“D:\”传递给函数,并将函数返回的值作为FOR循环的终值。
3、本身就是一个数组,JJ或NN只不过是下标而已。这个变量应该是早已定义好的全局变量,自定义函数中只不过是通过这个全局变量来传递数据,并没有另外定义这个变量。
4、自定义函数中创建的变量仅仅在函数体内部才有效,无法将其定义的变量“作用”到函数体之外。

活到老,学到老! http://www. E-mail:hu-jj@
2010-12-05 08:56
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1519
专家分:174
注 册:2006-6-3
得分:0 
这是完整的程序,这个全局变量没有预先定义是在自定义函数中定义的。
2010-12-05 15:05



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-327916-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014089 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved