[futurebasic] FINDERINFO

Message: < previous - next > : Reply : Subscribe : Cleanse
Home   : December 2000 : Group Archive : Group : All Groups

From: lcs@...
Date: Sat, 9 Dec 2000 15:38:03 +0100 (MET)

 *** Predicting how many files FINDERINFO will give ***

Here is a little problem I have with FINDERINFO. I would like
to be sure to accept ALL the files that are D&D'ed onto my
application icon. What I seem to need is foreknowlege of the
number of files that have been D&D'd.  Call that TheNumber%.

Then XREF@ has *just* enough flexibility to let you handle the
the incoming data gracefully.

fname&= FN NEWHANDLE (32*TheNumber%) '' checking etc omitted
XREF@ 0 fname$(0)
ftype&= FN NEWHANDLE (4*TheNumber%)
XREF@ 0 ftype&(0)
fvolRefNum&= FN NEWHANDLE (2*TheNumber%)
XREF@ 0 fvolRefNum%(0)


Then :


doWhat% = FINDERINFO(TheNumber%,fname$(0),ftype&(0),fvolRefNum%(0))


will neatly fill up the arrays with TheNumber% of file data
sets where TheNumber% is cut to the min of 10000 and the
number actually dropped.

Currently, the best I can do is guess TheNumber%=10000;
reserve space for 10000; receive <= 10000 and then dump the
unused space by handle manipulation.

And if  10000 files are harvested (imagine that), then warn
the user that there are probably still more that were left
out.

There is an ancient low mem system global &AEC = AppParmHandle
that might lead to what I need but maybe there is better...

I have an otherwise excellent utility "FileMerger" (1996
Graham Herrick) that stumbles on exactly this point,
unnecessarily (?) omitting stuff it could very well have
processed.  Without warning.

Suggestions?

Cheers

larry s

PS.  Can someone assure me that a single array of
datastructures will work with XREF@?

PS.  Don't fool with FINDERINFO until you have read the manual
and *also* the comments of Phil Yayes, Al Staffieri and Rick
Brown in our Sept 1999 digest at

  ftp://topo.math.u-psud.fr/pub/lcs/fb/ (use Fetch say)

I was pretty thoroughly bamboozled until then.