Glenn,
Excuse me, what did you say? :)
>>>>I am using ADIR to get a specific number of files from a directory based on a criteria. So, ADIR(laFile,gcFat+'thread\*.*') will create an array and I can now use ALEN(laFile,1) to get the file count. However, on big directory this is causing a big array to be created just to get the number of files. How can I optimize that?
>>>
>>>Michel,
>>>As Nadya posted, ADir() oes return the number of rows in the array. But as you already sigthed, the array still gets built and this could a significant amount of time on large directories. It could also fail on very large directories because of the 65000 element limit of arrays.
>>>
>>>You can use the old Sys(2000) function.
>>>local lxx, lcfile
>>>lxx = 0
>>>lcfile = sys(2000,gcFat+'thread\*.*')
>>>do while !(lcfile=='')
>>> lcfile = sys(2000,gcFat+'thread\*.*',1)
>>> lxx = lxx + 1
>>>enddo
>>>
>>>If you only need the count, this should give you what you want.
>>
>>I tried it and it works well.
>>
>>However, it would be nice is the FileSystemObject would allow that in one command.
If it's not broken, fix it until it is.
My Blog