Thanks Richard, that will save me some time. Pete lcSQL Software <http://www.lcsql.com>
On Sat, Jun 30, 2012 at 2:33 PM, Richard Gaskin <[email protected]>wrote: > Peter Haworth wrote: > >> I see you can get the last modified date of all the files in the default >> folder using the detailed files construct. Is there not a way to get the >> same info for a specific file in any folder without having to mess around >> changing the default folder and filtering out the list for the one you >> want? >> > > True, no out-of-the-box one-liner, but you can write a function to make it > a one-liner easily enough - here's one from stdlib, in the Files section of > the Rev Interoperability Project: > > > ------------------------------**------------------------------**---------- > --| FUNCTION: stdFileInfo > --| > --| Author: Ken Ray > --| Version: 1.1 > --| Created: 3/4/04 > --| Requires: -- > --| > --| Retrieves the file/folder information on a specific file/folder, > --| either as a raw value or in a parseable array. > --| > --| If <pOpt_InfoItem> is empty, you will get back the line from the > --| 'detailed files' in its entirety. > --| > --| If <pOpt_InfoItem> is one of "fileName","dataSize","**resSize", > --| "size" (a combination of "dataSize" and "resSize"), > --| "createDate","modDate","**accessDate","BUdate","ownerID"**, "groupID", > --| "permissions","creator", "type", or "creatorType" (a combination of > --| "creator" and "type"), only that value is returned. > --| put stdFileInfo("/Users/ken/test.**txt","creatorType") > --| --> TTXTtext > --| > --| If <pOpt_InfoItem> is "array", you get back all the items in an > --| array that you can then use one of the info "keys" above to get at > --| the value you're interested in, with "full" giving you the full > --| detailed files line. > --| put stdFileInfo("/Users/ken/test.**txt","array") into tFileA > --| put tFileA["creatorType"] > --| --> TTXTtext > ------------------------------**------------------------------**---------- > > function stdFileInfo pFilePath,pOpt_InfoItem > if pOpt_InfoItem <> "" then > if pOpt_InfoItem is not among the items of "full,fileName,dataSize,** > resSize,createDate,modDate,**accessDate,BUdate,ownerID,** > groupID,permissions,**creatorType,size,creator,type,**array" then > return "StdLibError: '" & pOpt_InfoItem & "' is not a valid file > property." > end if > end if > set the itemDel to "/" > put urlEncode(last item of pFilePath) into tItem > delete last item of pFilePath > put the directory into tOldDir > set the directory to pFilePath > put the detailed files into tDetailedList > set the directory to tOldDir > set the itemDel to "," > put lineOffset(cr&tItem&",",cr&**tDetailedList) into tLine > put line tLine of tDetailedList into tDetailedInfo > if pOpt_InfoItem = "" then return tDetailedInfo > replace "," with tab in tDetailedInfo > set the itemDel to tab > put tDetailedInfo into tFileA["full"] > put urlDecode(item 1 of tDetailedInfo) into tFileA["fileName"] > put (item 2 of tDetailedInfo) into tFileA["dataSize"] > put (item 3 of tDetailedInfo) into tFileA["resSize"] > put (item 2 of tDetailedInfo) + (item 3 of tDetailedInfo) into > tFileA["size"] > put "createDate,modDate,**accessDate,BUdate" into tDates > replace "," with tab in tDates > repeat with x = 4 to 7 > put item x of tDetailedInfo into tSecs > if tSecs <> "" then convert tSecs to short date and time > put tSecs into tFileA[(item x-3 of tDates)] > end repeat > put (item 8 of tDetailedInfo) into tFileA["ownerID"] > put (item 9 of tDetailedInfo) into tFileA["groupID"] > put (item 10 of tDetailedInfo) into tFileA["permissions"] > put (item 11 of tDetailedInfo) into tFileA["creatorType"] > put (char 1 to 4 of item 11 of tDetailedInfo) into tFileA["creator"] > put (char 5 to 8 of item 11 of tDetailedInfo) into tFileA["type"] > > if pOpt_InfoItem = "array" then > return tFileA > else > return tFileA[pOpt_InfoItem] > end if > end stdFileInfo > > > > -- > Richard Gaskin > Fourth World > LiveCode training and consulting: http://www.fourthworld.com > Webzine for LiveCode developers: http://www.LiveCodeJournal.com > Follow me on Twitter: > http://twitter.com/**FourthWorldSys<http://twitter.com/FourthWorldSys> > > ______________________________**_________________ > use-livecode mailing list > [email protected] > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/**mailman/listinfo/use-livecode<http://lists.runrev.com/mailman/listinfo/use-livecode> > _______________________________________________ use-livecode mailing list [email protected] Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
