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

_______________________________________________
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

Reply via email to