Presenting successive file names in 'Open'
Graham Samuel
graham.samuel at blueyonder.co.uk
Wed Dec 1 18:00:17 EST 2004
Thanks all who replied so quickly (two Franks, Chipp, Rob and Alex!
I may have misled some readers by my example where the files were
called A01, A02 etc - this was just an example. In fact they're just
the titles of text files that need a certain kind of conversion: the
titles reflect the contents and aren't really a numerically complete
set. Also, I didn't want to open the file for the user, since in some
cases he/she might choose to skip it. What I wanted to do was to point
directly at the file to prevent all that tedious scrolling which one
gets in OS 'open' dialogs that don't remember the last file you opened
but just start at the top of the list again. As far as I remember, Mac
OSX is worse at this than OS9 was.
This is why Alex's idea would work best for me if I could make it work:
>> This is actually much easier than you might think ....
>>
>> The docs for "answer file" say
>>> The defaultPath is the name and location of the folder whose
>>> contents are
>>> listed when the dialog box appears. If no defaultPath is specified,
>>> the
>>> dialog box lists the contents of the last folder you used with a file
>>> dialog box.
>>
>> But in fact, the defaultPath can be the name and location of A FILE
>> within
>> a folder.
>> Thus, for example,
>> answer file "Test" with "D:/Our
>> Documents/Alex/RunRev/Boggal.rev"
>> opens the dialog at the correct folder, with the file "Boggal"
>> pre-selected.
>>
>> So you can allow the user to open the first file as normal, then on
>> subsequent opens, do something like
>>
>>> set itemDel to "/"
>>> put item 1 to -2 of lastFile into theFolder
>>> put item -1 of lastFile into theName
>>> put theFolder & "/" into theDefault
>>> if lastFile <> "" then
>>> set the defaultfolder to theFolder
>>> put the short files into fList
>>> sort flist
>>> set wholeMatches to true
>>> put lineOffset(theName, fList) into t
>>> if t > 0 then
>>> put item -1 of line (t+1) of fList after theDefault
>>> end if
>>> end if
>>> answer file "Your Prompt" with theDefault
>>> put it into lastFile
>>
>> (I'm sure you could re-write that code fragment into something neater
>> - but
>> it does work :-)
The trouble is, my version of this code displays the right folder and
within it the usual scrolling file list (this is OSX) but it doesn't
preselect the file. Strange, since it worked for Alex, but I have quite
carefully tested that my equivalent of his 'theDefault' is the complete
path to the last file read (I've not yet reached the refinement of
picking the actual next file).
I guess I may have to go back to one of the private-list based
solutions.
Puzzled
Graham
------------------------------------------------------------------------
---
Graham Samuel / The Living Fossil Co. / UK and France
More information about the use-livecode
mailing list