Peter,

I'm not sure this will work for you, but it worked for me with HC. I designed stacks that could be used for printing reports and then stored data in those stacks when I needed to print new data; the "action" stacks, used to acquire and change/revise new data would pick up the data from these stacks on start up, putting it into global variables. Then at the end of the day or at the completion of the "work" with these variables, they would be redeposited into the "reports" stacks for printing.

I realize that this is very general, but perhaps you can see the approach and adapt it to your specific set of circumstances. Admittedly, I did convert some of these "activities" to XCMDs with Compile-It for speed reasons, but that was because I was dealing with SE30 Macs at the time. When we got around to using later generation, much faster Macs, in several instances I reverted back to the original HyperTalk handlers with no noticeable decrease in speed.

With the current machines and memory capacity, this should easily work with Rev. Of course one of the reasons I did as I did was because HC auto saved stuff, so I needed to keep everything in globals; something that was a bit dangerous, but HC was so rock solid that it was very, very seldom that we lost anything due to a crash of some sort. With Rev that might be a concern. Originally, when we were using 400k floppy disks to back-up data, the 2,000+ accounts were split into 13 different account stacks. Eventually, once we had hard drives and removable cartridges for back-up, they were all assembled into a single stack.

Just some thoughts. HTH,

Joe Wilkins

On Jan 15, 2008, at 10:47 PM, Peter Alcibiades wrote:

I have to admit to not having been able to make Rev work as a storage and retrieval language and am getting close to giving up after a couple of weeks hard trying. Its mostly the documentation probably. It must be possible since people on the list are doing it, but there seems no way to find out how
from the documentation.

The problem is not storage.  Nor is it retrieval.  It is reporting.

Its a childishly simple problem. There is a file with 15k records. Tab
delimited.  Each record has five fields and is of the form:

number  eg 123
description  eg Pen, Pencil
price eg 2.00
category eg AA, AB...
date eg  12/4/2008, 21/5/2008 (UK style)

We then have 30 fields, which are the combination of a category and a month. So for instance we need to look at each record, if and only if it has both AA in item 4 and /4/ in item 5, then add the price item 3 to field AAApril. If
and only if it has both AA and /5/ then add it to AAMay, and so on.  6
months, five categories = 30 fields..

Its a five minute job in a spreadsheet, but its defeated me for a couple of
weeks now in Rev.

There must be a way of combining switch, break and if-then to do this. The
different ways I've tried sometimes go into loops.  Sometimes they
accumulate, as if case is leading it to retain previous totals and add new
match totals to them.  Sometimes they put all zeros into the fields.
Sometimes half the fields go blank when I know there are matches. Sometimes it records half of the AAs, or a quarter. Sometimes it works with some of
the months, or some of the categories.

What is also deeply discouraging is that even can one get through this, there
will be the problem of how to make Rev print it in Linux.  This seems
insuperable. It doesn't see the installed printers. Like it doesn't see the installed fonts. No idea why, everything else does. Maybe going out to the shell and using a2p will work? Maybe a different distro than debian? But
this could well be another black hole....

Peter

_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to