Add-on for owners of SFR: the ability to work with VFP FRX report forms using the wonderful SFR front end.
Note: you must own SFR for any of this to be of use to you. That means you must have purchased SFR before it was pulled off the market.
Please add your name to the list at the bottem if you are inerested. - CFK
Woo Hoo! Doug has given me the thumbs up to start this public effort.
> What limitations am I constrained by concerning publicly giving out
> subclasses of SFR classes?
I don't see any problem with that, since they have to have the parent
classes from us in order to use your subclasses.
1. I half subclassed (good) and half hacked around the stock SFR (bad). I should really try and separate out my changes into correct subclasses. I don't think I touched more than 2 or 3 classes.
2. I haven't tested "New" much
here is what it does:
let the user pick some fields (normal SFR step 2)
enable "get a frxname" (my step 5)
when "Modify layout" is hit
right before the MODI REPO (this.cReportFilename)
CREATE REPORT(this.cReportFilename) from (dbc())
That gives the user a simple frx to start with.
a. It doesn't save .cReportFilename in Reports.dbf (big problem!)
b. It should have a default filename for stupid users that don't know what a file is.
maybe even a default dir prop or something (so that VFE apps can stick it in output/custom)
c. The report name (for standard SFR quick report too) should default to
"report1" or something. (I think)
d. it needs to set the orientation. I think I saw the SFR code to do that.
hmm, not sure how that will play with CREATE REPORT - may need to replace
that with however SFR generates an FRX. (I think that's what it does.) -
that seams better anyway. now that I think about it, I want this for me:
currently it uses field names as column headings. dbcx report captions
would be way cooler.
3. the "Copy" button does copy the Reports.dbf record, but the original and new both point to the same FRX file. That needs to be beefed up to make a copy of the FRX too.
4. "Report filename" needs a getfile() picker button added. I'll bet there is a SF class around somewhere...
I need a few lines of code to be run after an FRX is edited. It is for my Confer Carl app, and really only needs to run if what is being edited is a badge. It needs to hack the FRx to set the font and leading of the barcode object. Anyone know where the right place to put this code is? - ?CFK
Here's an alternative if you don't want the FRX and FRT files to sit around: suck them into memo fields you add to REPORTS.DBF. Then, when the user runs or edits the report, use a subclass of SFReportFRX that copies the memo files out to temp FRX/FRT files first and deletes them later (eg. Destroy). That way, you don't have to ask the user for a filename at all.
People who are interested. This does not obligate you to anything, It just gives me a feel for how many people I need to be aware of. I think there are enought people to warent a ListServer.