Comma in file names thwarting URLdecode(the files)

Jim Ault JimAultWins at
Wed Oct 11 11:50:42 EDT 2006

On 10/11/06 5:45 AM, "Mark Powell" <mark_powell at> wrote:

> Sure this has to be a simple question but I can't find anything about it
> in docs or forum.
> -The long files function returns a comma-delimited list of attributes.
> -With URLdecode, a file name with comma skews item delimiting.
> -Without URLdecode, a file name with percentage sign skews delimiting.
> -Checking 'number of items' seems to be OS-dependent (last item empty on
> Windows?!)
> What am I missing?  How can I reliably derive a Windows-OS file name
> from 'the files'?
Part 1 -- last item in xTalk

Caution about the 'last item' being empty.
xTalk counts items this way:

answer the number of items in "red,green,blue" --3
answer the number of items in "red,green,blue,,brown" --5
answer the number of items in "red,green,blue," --3

answer the number of items in ("red,green,blue,,"&null) --4

thus if I don't control the data source, I always use the form

repeat for each item ITM in (itemString &null)

end repeat

The type and creator is always used on Mac OS 9 and earlier, but is optional
for backward compatibility on Mac OSX, and never used in Windows.  Any cross
platform app has to accommodate this, so last item is an issue.
Part 2
--tab delimited with commas in the file name
on mouseDoubleUp
  put the detailed files into detailedList
  put urlencode(the files) into tempEncoded
  replace "%0D%0A" with cr in tempEncoded
  filter tempEncoded without empty
  get tempEncoded  -- < for some reason this is necessary
  repeat for each line LNN in it
    replace LNN with LNN & tab in detailedList
  end repeat
  put urlDecode(detailedList) into goodList
  set the itemdel to tab
  repeat for each line LNN2 in goodList
    get item 2 of LNN2
    replace comma with tab in it
    put item 1 of LNN2 &tab & it &cr after newList
  end repeat
  delete char -1 of newList
  put newList
  --tab delimited with commas in the file name
end mouseDoubleUp

Hope this helps

Jim Ault
Las Vegas

More information about the Use-livecode mailing list