` Comment on an Icetips Article
Icetips - Templates, Tools & Utilities for Clarion Developers

Templates, Tools and Utilities
for Clarion Developers

Add a comment to an Icetips Article

Please add your comments to this article. Please note that you must provide both a name and a valid email address in order for us to publish your comment. Comments are moderated and are not visible until they have been approved. Spam is never approved!

Your Name:  
Email:  
Header text/Subject:  

Please enter your comment in the box below:

Back to article list   Search Articles     Add Comment     Printer friendly     Direct link  

Clarion in general: Getting subfolders into a queue
2004-04-03 -- Bjarne Havnen
 
Newsgroups: comp.lang.clarion Below is some code I was forced to write because XP couldn't find a particular file for me. This procedure calls itself recursively from a starting directory. This will not compile as is, since I also use a few global variables to set if I should include subfolders. It should be a good start. Consentrate on the Dirq part for your problem SearchFiles PROCEDURE (*File:Queue q,string searchpath,string txt) ! Declare Procedure ! Start of "Data Section" ! [Priority 5000] DirQ Queue(File:Queue),Pre(Dirq) End Scan Cstring(50) SearchFor Cstring(255) ! End of "Data Section" CODE ! Begin processed code ! Start of "Processed Code" ! [Priority 5000] If Sub(Searchpath,Len(Clip(SearchPath)),1)='\' !slash SearchPath = Sub(SearchPath,1,Len(Clip(SearchPath))-1) End If IncludeSubFolders SearchFor = Clip(SearchPath)&'\*.*'!*.tpw' Directory(Dirq,SearchFor,ff_:Directory) End r#=Records(Q) !number of records If Not FileTypes FileTypes = '*.*' End LastPos#=1 Loop Pos#=Instring(',',FileTypes,1,LastPos#+1) If Not Pos# Pos#=Len(FileTypes)+1 Do SearchDirectory Break Else Do SearchDirectory LastPos#=Pos#+1 End End Loop I#=Records(Q) To R# By -1 Get(Q,I#) If Not Instring('\',q.Name) !ikke no Directory() Q.Name = Clip(Searchpath)&'\'&Q.Name Q.Name = LongPath(Q.Name) Put(q) End If FromDate If Q.DateFF_:Directory Or Inlist(Dirq.Shortname,'.','..') Delete(Dirq) End End Loop I#=1 To Records(DirQ) Get(Dirq,I#) SearchFor = Clip(SearchPath)&'\'&Clip(Dirq.ShortName) Yield() SearchFiles(Q,SearchFor,txt) End Free(Dirq) Recs = Records(Q) Display() SearchDirectory Routine Scan=Sub(Filetypes,LastPos#,Pos#-LastPos#) SearchFor = Clip(SearchPath) &'\'&Clip(Scan) Directory(q,SearchFor,0)


Today is May 5, 2024, 1:04 am
This article has been viewed 35118 times.
Google search has resulted in 12 hits on this article since January 25, 2004.



Back to article list   Search Articles   Add Comment   Printer friendly

Login

User Name:

Password: