Re: [racket-users] Re: get-file-list filter

2017-02-21 Thread David Storrs
You can also, as you pointed out, generate the string programmatically.  If
you do, you'll get mileage out of the string-upcase and string-downcase
functions:

(define basestr (string-join (map string-downcase '(...jpg jpeg etc)) ";")
(define str (string-append basestr ";" (string-upcase basestr)))



On Tue, Feb 21, 2017 at 1:55 AM, Alex Harsanyi 
wrote:

> On Tuesday, February 21, 2017 at 11:52:49 AM UTC+8, Lehi Toskin wrote:
> > In `get-file-list`  there is a filter argument that can be passed to the
> function such that when going through a directory it'll only list
> directories and those files in the filter (separated by a semicolon). This
> can get rather unruly when the filter is rather large. At current count, I
> have a filter of 14 different file extensions accounting for spelling or
> case (e.g. "*.jpg;*.jpeg;*.JPG;*.JPEG"). Is there a way to do this more
> programmatically? I don't mean using a procedure to create the string, but
> that instead of a string it'd be, say, a predicate.
> >
> > In various GUI programs, the selection would be simply "All Images" or
> "Any" without specifying exactly what list of file extensions it's
> filtering. I suppose that behavior itself is fine, which would mean hiding
> the file extensions from the filter choice and only showing the name of the
> filter.
>
> The documentation for get-file-list (well, actually get-file) suggests
> that it uses a platform specific dialog box.  On windows platforms, I
> suspect  that would be GetOpenFileName which accepts filter string in the
> same format as required by get-file-list.  It is likely that the filter is
> passed directly to the windows function and as such, it has to be a string.
>
> This was just a long way of saying that you cannot have a predicate for
> the filter, at least not while using the platform specific "File Open"
> dialog boxes.
>
> However, the documentation does have an example for a shorted pattern for
> JPEG files: "*.jp*g"
>
> Best regards,
> Alex.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to racket-users+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[racket-users] Re: get-file-list filter

2017-02-20 Thread Alex Harsanyi
On Tuesday, February 21, 2017 at 11:52:49 AM UTC+8, Lehi Toskin wrote:
> In `get-file-list`  there is a filter argument that can be passed to the 
> function such that when going through a directory it'll only list directories 
> and those files in the filter (separated by a semicolon). This can get rather 
> unruly when the filter is rather large. At current count, I have a filter of 
> 14 different file extensions accounting for spelling or case (e.g. 
> "*.jpg;*.jpeg;*.JPG;*.JPEG"). Is there a way to do this more 
> programmatically? I don't mean using a procedure to create the string, but 
> that instead of a string it'd be, say, a predicate.
> 
> In various GUI programs, the selection would be simply "All Images" or "Any" 
> without specifying exactly what list of file extensions it's filtering. I 
> suppose that behavior itself is fine, which would mean hiding the file 
> extensions from the filter choice and only showing the name of the filter.

The documentation for get-file-list (well, actually get-file) suggests that it 
uses a platform specific dialog box.  On windows platforms, I suspect  that 
would be GetOpenFileName which accepts filter string in the same format as 
required by get-file-list.  It is likely that the filter is passed directly to 
the windows function and as such, it has to be a string.

This was just a long way of saying that you cannot have a predicate for the 
filter, at least not while using the platform specific "File Open" dialog boxes.

However, the documentation does have an example for a shorted pattern for JPEG 
files: "*.jp*g"

Best regards,
Alex.

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.