版块 > 技术问题 > 请教 文件目录列表() 过程的详细用法
消息:
22

因为有需要将服务器上循环几个文件夹并获取满足日期的文件夹列表, 现在我是使用的如下方式

1,使用  strFolderList = 文件目录列表(路径, 文件.UNICODE路径)   获取全部文件夹列表

2,用循环语句循环strFolderList 并获取满足条件的文件夹列表。

但因为服务器指定路径的文件夹数量太多,在执行步骤1的时候,需要较长时间来进行获取。

仔细看了下帮助文档中的过程定义:

<Result> = 文件目录列表(<Path of Initial Directory> , <Procedure Name> [, <Pointer> [, <Options>]])

其中对Procedure 这个过程并不是很了解,是不是可以定义一个procedure,在执行 文件目录列表过程中有条件的进行callback,返回满足条件的文件夹列表? 如果是这样,该如何去定义?

望指教,谢谢

 

 

---------------------------------------------------------

附上我目前使用的代码方式

//1,获取全部文件夹列表

 strFolderList = 文件目录列表(strPATH, 文件.UNICODE路径)   //获取全部文件夹列表

//2, 列出符合日期选择的文件夹列表
strPathNew 是一个字符串型  //定义满足条件的文件夹列表
如果 strFolderList 不等于 "" 那么
 消息("Checking selected date folder...")
 arrPath是一个字符串型的数组型
 字符串转换为数组(strFolderList,arrPath,回车)
 对于 intPointer =1 直到 arrPath..数目
  jindu是一个整数型
  jindu =(arrPath..数目-intPointer)*100/arrPath..数目
  进度条( intPointer,arrPath..数目,"Checking selected date folder..." + "There is "+jindu+ "% left --" + arrPath【intPointer】 )
  //loopFolder(arrPath【intPointer】,假)
  如果 文件日期( arrPath【intPointer】)>= 输入框_Start 并且  文件日期( arrPath【intPointer】)<= 输入框_End 那么   //时间介于开始和结束日期之间
   如果 strPathNew ="" 那么
    strPathNew =  arrPath【intPointer】
   否则
    strPathNew = strPathNew + 回车+  arrPath【intPointer】
   结束
  结束
 结束
 //对于strFolderList中被回车分隔的每个子串strPath
 // loopFolder(strPath)
//结束
否则

消息:
255

您好

我们先声明一个全局变量:strPathNew是一个字符串型
它将被以下全局过程填充。

然后我们来创建一个全局过程 (具体步骤请参见以下视频教程[第7分55秒])

输入以下代码(请注意控件名以及窗口名) :


过程pList(sPath,sFile,Change)

跟踪(sPath+sFile+"  "+文件日期(sPath+sFile))

如果 文件日期(sPath+sFile)>= 窗口_测试.输入框_Start 并且  文件日期( 
sPath+sFile)<= 窗口_测试.输入框_End 那么   //时间介于开始和结束日期之间
     strPathNew += 【回车】 +  sPath+sFile
结束


注意 :
“+=【回车】” 这一语法是为了避免测试到空字符串,我们允许添加一个回车仅当字符串不为空的情况下。



接下来我们来调用它 :

strFolderList是一个字符串型

strPATH是一个字符串型="c:\windows"

strFolderList = 文件目录列表(strPATH,pList,文件.UNICODE路径)   //获取全部文件夹列表

信息("过程集_全局过程".strPathNew)



希望能帮助您解决您的问题。


附加图片

非常感谢您对WinDev简体中文版的支持与关注!
 
希望您使用WinDev开发愉快!
 
PC SOFT
 
WebDev:本论坛由PC SOFT WebDev 实现。
消息:
22

前几天一直没留意,今天才看到您的回复,非常感谢您及时、细致和耐心的解答,我已经使用这个方法成功的将代码加入到我的项目里面并解决了问题,速度上有较大的提升。

也祝您工作愉快!:)

消息:
22
我将在线帮助文档的文件目录列表 (函数) 做了详细翻译,因在此不能附上附件,翻译文档已经发送给了info@cn.windev.com
消息:
255

您好,我们已经收到您的邮件并已经翻译好了该函数。

谢谢您对我们的支持!


非常感谢您对WinDev简体中文版的支持与关注!
 
希望您使用WinDev开发愉快!
 
PC SOFT
 
WebDev:本论坛由PC SOFT WebDev 实现。
    统计
    注册会员总数: 379
    论坛帖子总数: 1049