I'm not sure about cursor setting - you might put in a counter, and set
it to busy every 1000 (or 10,000) times through loop.
What if we want only folder paths ?
I did briefly consider saying that the @pFiles and @pFolders parameters
could have TRUE/False values on input, and then say something like
(NB - typed into email, not tested !!!!)
on mouseUp
local theFolder
answer folder "Start where"
put it into theFile
local filesList, folderList, errorList
put the millisecs into tStart
AllFiles theFile, true, filesList, folderList, errorList
put filesList into field "Field 1"
end mouseUp
command AllFiles theFolder, pDetail, @pFiles, @pFolders, @pErrors
set the defaultFolder to theFolder
if the result is not empty
then
put "initial folder" & theFolder &CR afte rpErrorList
exit to top
end if
put 0 into tHighest
put 0 into tCurrent
add 1 to tHighest
put theFolder into tA[tHighest]
repeat until tCurrent >= tHighest
add 1 to tCurrent
put tA[tCurrent] into tNow
set the defaultFolder to tNow
if the result is not empty then
put "Problem with" && tNow &Cr after pErrors
next repeat
end if
if pFiles is TRUE then -- Do we want to return list of files ??
if pDetailed then
put the detailed files into tF
else
put the files into tF
end if
repeat for each line L in tF
put tNow & "/" & L &CR after pFiles
end repeat
end if
put the folders into tF
filter tF without ".*"
repeat for each line L in tF
add 1 to tHighest
put tNow & "/" & L into tA[tHighest]
end repeat
end repeat
if pFolders is TRUE then -- Do we want to return list of folders
combine tA with CR
put tA into pFolders
end if
end AllFiles
On 25/10/2015 23:58, JB wrote:
I have been testing it out and it is working good
so far. I set the cursor to watch after selecting.
I am not sure if setting it to busy in a repeat will
take too much time on large operations.
Is there and easy way to have it only list the
folder paths?
JB
On Oct 25, 2015, at 3:39 PM, Alex Tweedly <a...@tweedly.net> wrote:
Well, it's a sad comment on my filing system, but it was easier to rewrite this
handler from scratch (and memory) than it was to find the original :-)
Note this is done as a handler rather than a function, because it has 3 return
values - a list of files, a list of folders, and a list of any errors. It would
be trivial to convert to a function if you prefer that; I just dislike
functions with return parameter values.
So, it's had a decent half-hour of testing, but no more than that. Usual money
back guarantee applies ....
btw - there is a variant using "repeat for each line" which is marginally more
efficient, but it depends on a quirk of the current LC implementation, which allows
appending to the variable being iterated over - so I won't mention it here; it could
(conceivably, but not likely) fail in some future version.
on mouseUp
local theFolder
answer folder "Start where"
put it into theFile
local filesList, folderList, errorList
put the millisecs into tStart
AllFiles theFile, true, filesList, folderList, errorList
put filesList into field "Field 1"
end mouseUp
command AllFiles theFolder, pDetail, @pFiles, @pFolders, @pErrors
set the defaultFolder to theFolder
if the result is not empty
then
put "initial folder" & theFolder &CR afte rpErrorList
exit to top
end if
put 0 into tHighest
put 0 into tCurrent
add 1 to tHighest
put theFolder into tA[tHighest]
repeat until tCurrent >= tHighest
add 1 to tCurrent
put tA[tCurrent] into tNow
set the defaultFolder to tNow
if the result is not empty then
put "Problem with" && tNow &Cr after pErrors
next repeat
end if
if pDetailed then
put the detailed files into tF
else
put the files into tF
end if
repeat for each line L in tF
put tNow & "/" & L &CR after pFiles
end repeat
put the folders into tF
filter tF without ".*"
repeat for each line L in tF
add 1 to tHighest
put tNow & "/" & L into tA[tHighest]
end repeat
end repeat
combine tA with CR
put tA into pFolders
end AllFiles
Let me know of any problems.
-- Alex.
On 25/10/2015 03:12, JB wrote:
On Oct 24, 2015, at 5:33 PM, Alex Tweedly <a...@tweedly.net> wrote:
If that's not it, then you need to change to a serialized rather than a
recursive treewalk - I'm sure that's been posted on the use-list some time ago
(if you can't find it, let me know and I'll dig one up)
-- Alex.
I would like a copy of that if you
dig one up.
JB
_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode