home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga MA Magazine 1998 #3
/
amigamamagazinepolishissue1998.iso
/
bazy
/
amigabase-stamps
/
stamps.doc
< prev
next >
Wrap
Text File
|
1995-04-01
|
13KB
|
252 lines
Documentation for the AmigaBase-project Stamps v1.0 by Mads Lie Jensen
----------------------------------------------------------------------
I made this project because I exchange stamps with a lot of people around the
world. I really needed a way to keep track of what letters I was sending and
receiving, and who to send letters now and so on. So, I started making a
project that suits my personal needs, and this is what I came up with. Of
course, you can also use this, if you have a lot of penfriends.
Installation.
-------------
Copy the project 'stamps' to whereever you have your AB-projects. The Arexx
scripts 'Printpages.rexx' and 'ABServer.rexx' to your REXX:-dir. If you do
not have Arexx on your system, you will have to change the function
'_Rapport', so it does not call this script, but simply prints the memo to
printer instead of disk.
The last Arexx-script is for use with FinalWriter 3.0, but it might work with
even FinalCopy II. This should be copied to the drawer where your FW-macros
are. Use of this macro will be explained later.
That's all.
Something about the printer.
----------------------------
Before I start to explain the project, I will have to say something
concerning the printer: If all printouts have to be working correctly, your
printer needs to be able to print 80 characters/line in normal mode, normally
called 10 CPI, and at least 137 characters/line in condensed mode, also
called 10 CPI Condensed. You probably don't need to worry about this, because
most printers can do this. Also, your printer should always be set to draft
10 CPI when you start the printout. The prints will look strange, if it was
set in condensed mode. My printer, an Epson LQ150 with a colour-kit, is set
to use 6 lines pr Inch, Left margin = 1, Right Margin = 79.
I will now explain the usage of the project.
--------------------------------------------
How to use. A small explanation.
--------------------------------
Whenever you want to add a new address to the database, you have to use the
'New Address'-button. When pressing this, a new dataset of Adresses is
allocated, the Reference-field is set to the first free number, and a new
dataset of Adresses\Rapgen is allocated too. You can also use AmigaBase's
menu item New dataset for this issue.
A word about the reference-numbers. These are used, because it's easier to
keep track of a number, than of a complete name. The supplied
FinalWriter-macro is also using the reference-numbers to get addresses from
this Database. (See later.) A reference number is always 3 digits, starting
from 000 ending at 999. If you have more than 999 addresses in the base, then
it will behave strange when you use the 'New Address'-button. But this can
very easily be changed, so it uses say, 5 digits for the number. And since
the Reference is stored in a STRING-field, it could probably be made to hold
999 digits, but that's a lot more than there are people on the earth.
(Probably more than there are stars in the universe. (10 digits will hold all
people currently on this earth.))
When you have an address in the database, and you get or send a letter to the
person, you place the cursor in the address'es \Contacts record, and
allocate a new one of that. You will then be asked if you recieved or sent a
letter. This is implemented because it's very easy to forget this, and you
can really get mad, if you suddenly see that it's not correct. If you
accidentally answer wrong in this requester, you will have to delete the
dataset, since the Way-field is read only!!!! When this is sorted out, then
the cursor is placed in the date-field. Enter the date when you received/sent
the letter, enter the amount of stamps in it, and the motive of them, in the
corresponding fields. I only write the number of 'loose' stamps in the
Amount-field. If I receive a sheet, booklet, FDC or other, I always write it
in the Misc-MEMO, where you can, of course, enter all sorts of things.
Why is it so great? (Explanation of some fields.)
-------------------------------------------------
But here's the really great thing about this project: Whenever a new dataset
of \Adresses\Contacts is filled in with the date, then you can always see the
date of both when you last sent and received letters from this person, in the
fields Last sent and Last received. And say you get a new dataset of
\Contacts, and set it to Received and the date is OLDER than the one
displayed in the Last received-field, a requester will pop up, and ask if
this date is correct. You may have forgotten a letter, so that's why the date
is older, or you could have entered a wrong date. If you delete a dataset of
\Contacts, then the fields that holds the Last sent/received-dates will also
be updated, so these are always holding the most recent dates of the letters
received and sent. In the field Send to, you can always see if it's your turn
to send a letter. This field is always set to TRUE if the date in Last
received is bigger than the Last sent-date.
Other fields, that might need some explanation:
-----------------------------------------------
The Owe-field is set to TRUE, if you owe the person stamps. Usually this is
the fact, when he was the first one to sent stamps. It's not used for
anything, except it sometimes can be nice to know this. You have to set it
manually, but if you really wanted to, there could be made a function to make
this automatically.
The Send more-field is normally always TRUE, but if you for some reason don't
want to send anymore stamps to this person, you make it FALSE, and he will
not be included on the list of people to send to.
The Status-field is there as a guideline of how the person is in this base.
If you have heard from him in the last half year, it's ACTIVE. If it has been
more than a half year, but not a year, since your last letter, it says ?????,
and if you have not been in contact with him for more than e year, or you
have set Send more to FALSE, it says INACTIVE. Again, there is no real use of
this, it's just nice to know.
The Collect-MEMO is used for storing the motives that the person collects.
The Gives-MEMO is for the motives he gives in exchange. NONE OF THESE ARE
CURRENTLY INCLUDED ON THE REPORTS.
The Print address-field is used together with the program-buttons 'All
labels' and 'All envelopes'. If set to TRUE, the address will be printed.
The Rapgen-window.
------------------
In this window, you can see the date that you last printed a report, and how
many movements there have been since that day. These movements are incremented
with one, every time you allocate a new \Contacts and decreased with one,
when you delete a \Contacts, which you normally never do!!
The button 'Print reports' will check all \Adresses to see, if there has been
more movements for it, than specified in the field 'Movements before report',
(See later.), and if yes, it will print a report for this address. Also
adresses which have never had a report printed, will be printed. When the
PostLoad-function is implemented into AmigaBase, this should be changed a
bit, and be called with PostLoad, so you always are Up-To-Date. Of course,
the current address is checked when you allocate a new \Contact for it, but
that is most like a work-around.
The Name-list will print a list of all the names in the Database. They can be
sorted in 3 ways. By first name, by last name, or by Reference-numbers.
The Preferences.
----------------
These are placed below the \Adresses-record, so if you use a normal highres
noninterlaced screen, they will normally be outside the main window.
The 'Movements between reports' tells how often you want a report printed. If
it's one, you will be asked every time you allocate a new \Contacts.
Personally, I have set it to 5.
The rest is used to tell the different programs how big your labels,
envelopes, and paper is. Under 'Paper:' there is only the number of lines for
each page. That's all that we need to know. The margin for paper is something
like 10 chars, so you always have room for holes, if you want to put them in
a ring-binder.
On the labels and envelopes, there's also room for the chars/line and left
margin. The chars/line is currently not used, so if you have an address-line
that is longer than your envelope, it will just be written outside it.
Don't specify of less than 5 in the lines/page for Labels and Envelopes.
The Program-buttons.
--------------------
Send to.. Prints out a list of all the persons you have to sent letters to,
according to the fields 'Send to', and 'Send more'.
Report This will print out a report for the current address. A report is
actually just the address of the person, and then a list of all
the \Contacts dataset.
Label Will print the current address onto a label, using the settings
for labels.
All labels Will print out all addresses which has the field 'Print address'
set to TRUE, using the current label-settings.
Envelope Same as Label, except that the settings for Envelopes will be
used.
All envelopes Same as All labels, except that settings for Envelopes will be
used.
New address Use this whenever you want to add a new address to your database.
Explained earlier in this text. (See 'How to use')
Some more on printing.
----------------------
When I say 'Print envelopes', I mean that you put an envelope in your
printer, and get an address printed onto it. After each envelope has been
printed, a FormFeed will be sent, to eject the envelope from the printer.
The number of lines on an envelopes, set in the preferences, does not have to
be the correct number of lines, since a formfeed is always send. Instead it's
used to determine where to print the address. If it's set to say, 20, then
the last line of the address is printed on the 20th line.
Labels, in this version of this project, are thought of as Tractor-feeded
labels, in ONE column only. They are printed like envelopes, except that NO
FormFeed is sent after each label. Therefore, you have to set the correct
number of lines for the label in it's preferences, explained earlier. (I hope
this one still works OK, cause the printer I have with Tractor-feed has been
borrowed by a friend of mine, so the one I have now, is a sheet-feed.)
Only reports are printed using the 'Printpages.rexx'-script. Perhaps also
namelist should be printed using this, but I have not implemented it.
If you use 'endless' paper, you might have to modify the function
'_Page.scr', so it does not send a formfeed.
The Arexx-scripts.
------------------
Printpages.rexx
Should be located in REXX: Used for printing a footer on each page, since
it can also number the pages.
ABserver.rexx
Should be located in REXX: This is, as it says, a server for AmigaBase's
Arexx-interface. Whenever you want to use AB's Arexx, you can just call
this, as an external function, instead of messing around with ADDRESS and
so on.
EmptyABserver.rexx
This is just a script which calls the ABserver. It should just be filled
with the commands your application supports. It saves you from a lot of
typing. If you have another wordprocessor than FinalWriter, you should quite
easily be able to fill in this script with the things needed to use it from
inside your wordprocessor.
CallAB.fw
This is to be used from within FinalWriter. With this, you can get an
address from the Stamp-project inserted into FinalWriter. (It calls the
function defined in 'stamp'-project with the name
'_Getname(Reference-number)'. If you make a function with the same name in
another project of addresses, it can be used together with this too!. Sadly,
you have to know something about Arexx to use this, at least a little
knowledge.
For all these script, you can get more information by looking at the code. I
have included a lot of comments in them.
The code for the AB-Project is also full of comments.
Future enhancements.
--------------------
I might make a Labelprint-function that can use Laser-labels. (Those that
come on sheets, instead of tractor-paper.)
If YOU have anything you would like to see in this project, then write it
yourself!! Or, you can let me know, and I MIGHT write it. I can't give any
guaranty that I do so. If you add something to this project yourself, then
PLEASE send me a copy of it. Perhaps I could put it into the next generation
of this project.
If you use this project, then please send me some used stamps, even if I have
released this project as PD. I have worked hard to finish this project, and I
will be very happy to hear from people if they also find it usefull.
My address:
Mads Lie Jensen
Tværvangen 23
Rakkeby
DK-9800 Hjørring
Denmark
(Sorry, no EMail)