Charges                                     (v 2·80)
-=-=-=-

© 1992-2003  Richard G. Hallas

Charges is a work manager application for monitoring
the time spent working on jobs at the computer. The
program is intended for people who earn a living by
working at their machines, charging a fixed hourly
rate. It can cope with numerous jobs simultaneously.

Charges is compatible with all RISC OS machines and
operating systems, from a RISC OS 2 A305 right up to
a RISC OS 5 Iyonix.

*WARNING*
=========

Charges needs to write data into itself very often,
and so should not be used from a write-protected
disc or from a read-only filing system (such as the
public domain ArcFS). The best place for it is a
hard disc, although it should run (albeit rather
inconveniently) from an unprotected floppy disc.

Loading
=======

Double-click on the Charges application; after a
short pause it will install itself on the icon bar
as normal.

Charges needs two modules to run, namely 'MsgTrans'
and 'Interface'. If your System contains out-of-date
copies of either of these modules, Charges will
inform you to that effect, and you should update
your System with the copies provided in the
!Charges.Resources directory. Otherwise, you don't
have to do anything, as Charges will take care of
the modules itself.

Using Charges - Overview
========================

Charges presents itself as a kind of icon bar timer,
displaying hours, minutes and seconds beneath its
icon. The colon separating minutes and seconds winks
once every second when the timer is counting. (Note:
other display options are available - see later.)

Click the icon with Select to start and stop the
timer. A small beep will sound to acknowledge both
actions. The timer can be reset when it is not
counting by clicking on the icon with Adjust (and a
third pitch of beep will sound).

You should open the application's menu (by clicking
Menu on the icon), move across to the Earnings
window and enter your hourly rate in the box
provided. If you want to work in different
currencies, click a mouse button over the symbol you
wish to change, and a menu of options will appear.
If the currency you want to use is not available on
the menu, you can type it in, as the last item on
the menu is writable. When everything is set up as
you want it in the window, click on the 'Set'
button.

If you are working in different currencies, you
should open the Exchange rate menu (off the main
menu) and enter the appropriate value. This will
then be taken into account when calculating your
running total in the Earnings window. You must
remember to press <Return> or <Enter>, or click on
the value with the mouse, otherwise your change will
be ignored. Note that exchange rates are stored in a
database. See below, under "The Exchange rate menu
item", for further details of this feature.

You can start and stop the timer at any point. If
you wish to spread a single job over more than one
session, you may wish to quit Charges and restart it
later with the clock starting at where you left off.
This can easily be done: open the Choices window and
click on the 'Read current time' button. The time on
the clock will be transferred into the window, and
you can edit it if you wish. The click on the 'Save
settings' button, and wait for the confirming beep.
You can then quit Charges, and when you reload it
the previous time will be already on the clock.

For a more comprehensive system which lets you swap
between several jobs, see below under 'Job manager'.
Use of the Job manager is recommended, and you
should only use the method outlined above when
getting to know the program initially.

If you wish to use your final total in an invoice
you are preparing in a word processor (for example),
you don't have to type it in again; simply place the
caret where you want the amount to appear, and drag
the total from the Earnings window to your invoice.
Charges will enter the amount for you.

Charges provides full interactive help when used in
conjunction with Acorn's Help or Spy applications.
This help is very comprehensive, and includes help
on menu items if your computer is fitted with the
RISC OS 3 (or later) operating system.

Using Charges - In detail
=========================

The Earnings window
-------------------

Your hourly rate should be entered into the top box.
The currency symbols displayed alongside the hourly
rate and job's total figures are used by Charges to
look up an exchange rate in its database. There is
not necessarily an entry in the database for each
combination of currency symbols: Charges will only
record the exchange rates that you use, and if you
select a pair of currencies which you have not used
before, Charges will restore an exchange rate of 1.
The lower box in the Earnings window, labelled
"Job's total", is bordered in red to indicate that
you can drag its contents out into another package,
so you can, for example, drop your final total into
an invoice you are preparing in a word processor.
Alternatively, you can drag it to a filer window,
and the value will be saved as a text file with the
filename "Total". Both the currency symbol and the
figure itself are included.

(Cosmetic note: RISC OS 3 users get a very nice
effect when dragging the total out, as the whole box
is dragged with the pointer, but in a translucent
form, and the effect is like sliding a piece of
engraved glass or plastic around the desktop.
This was implemented long before the effect became
standard [in RISC OS 3·5 on the Risc PC].)

The total is calculated by first working out the
amount totted up so far according to the clock, and
then multiplying it by the value entered in the
Exchange rate menu, so if you just want a straight
'job total' without any conversion taking place, you
should ensure that the exchange rate is set to 1.

Any alterations you make in the Earnings window
(either to the currency symbols, the hourly rate or
the rounding options) will only be taken into
account if you click on 'Set' - if you click
'Cancel' or close the window by any other means, the
changes will be ignored. The appropriate exchange
rate is not retrieved from the database until you
click on 'Set'.

If you alter your hourly rate (by clicking on the
figure) when the calculated total is not zero, the
total will clear to 0.00 until you accept your new
rate by clicking on 'Set'. At this point, the total
will be recalculated. Note that the total is always
displayed to two decimal places, rounded down to the
nearest penny (or smallest denomination).

Note also that whatever currencies you enter in the
Earnings window will also be used in the Conversions
window (see below).

The 'Rounding' area allows you great flexibility in
how your charges are worked out. If the 'Round to'
switch is not selected, then the rounding features
are turned off, and Charges will time your jobs to
the second. However, if you turn on the 'Round to'
switch, the other controls in this area become
available.

You may type a number of minutes into the box to
the right of the 'Round to' switch: any value from
1 to 999 is acceptable. Alternatively, you may
choose one of a number of presets from a menu
which is obtained by clicking the menu button to
the right of this field. Charges will then
calculate your total earnings in units of the number
of minutes which you have entered.

For example: say your hourly rate is £15. You may
decide that you wish to charge in multiples of £5,
rather than bothering with odd numbers of pounds and
pence. Therefore, you should put the figure 20 in
the minutes fields, since 20 minutes' work = £5 of
your fees. When you start Charges counting, it will
begin at £5 (as it won't let you charge nothing when
rounding is in operation!) and thereafter will
increase the amount earned at half-way through each
time slot. This is in order to round to the nearest
number of minutes which you have worked. To use the
same example, if you have worked for 29 minutes,
then Charges will show that you have earned £5,
because 29 minutes is closer to 20 minutes than to
40 minutes. However, if you have worked for 31
minutes, Charges will show that you have earned £10,
because you are now closer to 40 minutes.

This means, of course, that Charges will sometimes
be rounding your earnings down by default. If you do
not want this to happen, you can turn on this area's
last switch, 'Always round total up'. If this is
selected, Charges will always round upwards to the
next boundary. To use the same example as above,
with this switch turned on, Charges will show £5 for
the first 20 minutes, at which point it will change
to £10; it will change to £15 at the 40 minute
mark, and change up again at the hour.

A small icon in the bottom left of the Earnings
window shows some useful information. Exactly what
it displays depends on the setup you are using, but
it will either be the time elapsed on the current
job, or the name of the job you are currently
working on.

The Conversions window
----------------------

This is simply a convenience window: you can quickly
enter a figure in the top slot and press <Return>,
<Enter> or click on the arrow, and it will be
multiplied by the current exchange rate in force and
displayed in the lower slot to two decimal places.
The currency symbols entered in the Earnings window
are used in the corresponding currency slots in the
Conversions window. As with the Earnings window, the
converted amount (in the lower slot) can be dragged
out to another application or to a filer directory,
where it will be saved as a text file with the name
"Conversion".

As well as providing a quick way to convert between
two currencies, the Conversions window can be handy
for working out VAT rates: if you enter a value of
1.175 in the Exchange rate slot (corresponding to
17½% VAT), the converted amount will be the price
of the amount you entered with VAT added. Remember,
though, to set the exchange rate back again, or your
running total will be wrong! A sample 'job' is
provided for this specific purpose: see later, under
'Job manager'. Alternatively, you can set up an
appropriate exchange rate for the main currency to
the '+ VAT' currency.

Unlike the Earnings window, the Conversions window
has no 'Set' and 'Cancel' buttons; any changes you
make will be accepted immediately.

The Exchange rate menu item
---------------------------

This simply gives the multiplier used by the
Earnings and Conversions windows. If you enter a new
amount in the slot, you must remember to click on it
with the mouse, or press <Return> or <Enter>;
otherwise your change will be ignored.

For any given pair of currencies displayed in the
Earnings or Conversions window, there can be one
possible exchange rate. If you have not specified
an exchange rate, the computer will assume a value
of 1 is wanted, and "1" will be entered into the
Exchange rate menu. You can of course edit this, and
when you press <Return> or <Enter>, or click on the
value with the mouse, Charges will ask you whether
you want to store the exchange rate for future use.
Simply click on 'Yes' or 'No' at this point: if you
click 'Yes', then the exchange rate will be added to
the database if it isn't there already, or updated
to the new value. You are not obliged to always
store the exchange rate, or even use the database at
all: simply click on 'No', and nothing will change.
Note that Charges never stores the exchange rate if
both currencies are the same.

When you change currencies in the Earnings window,
and click on the 'Set' button, the exchange rate
will be automatically restored if it has been used
previously; otherwise a value of 1 is used.

Since exchange rates fluctuate constantly it is not
possible to store them accurately, so if you want
anything other than an approximate result, you
should remember to check the exchange rate each time
you change currencies, and update the database as
appropriate.

The Job manager
---------------

This is one of Charges' most advanced features, and
you can quite happily get away with not using it if
you only ever work at one job at a time. However,
it is an easy-to-use and flexible system, which is
worth getting to know. If you intend to use Charges
with an editor which can control Charges remotely
(such as Sibelius), you have to learn how to use the
job manager. It's very simple, really!

Basically, if you do not use the job manager, or you
do not specify a current job, Charges keeps its
records in a file (usually called 'Default'). (If
something ever goes wrong, you may see an error
message which refers to this job file.) The time
shown on the clock, the exchange rate, the various
'rounding' settings, your hourly rate and the two
currency settings are all stored in this file.

These are the things which will change from job to
job. The other settings, such as the 'Charge from'
time (which the clock resets to), the icon bar
display setting and the configured language (see
below, under 'The Choices window') are much more
general, and do not need to change very often. These
can be saved from the Choices window.

However, the job-dependant settings mentioned above
can be saved as individual 'jobs', to each of which
you assign a name. You can then switch between jobs
quite freely.

Open the job manager window, and you will see a box
with a name in it and four buttons, which are often
shaded out so you can't press them. They only become
available when they are needed. There is a Jobs menu
attached to this window, which can be called up by
clicking over the name or the menu arrow. The menu
always contains at least two items: a blank initial
item and a second bracketed command which tells
Charges to revert to 'no job' (the default state).
In fact, selecting the top writable item when it is
empty is the same as choosing 'no job'. In addition
to these two items there will be a list of however
many jobs Charges currently knows about (which can
be from 0 to 76 items).

If you enter a name into the top item of the menu
and press <Return> or <Enter>, the name will be
entered into the box in the window and the 'Create
job' button will become available. Click on this
button, and from now on Charges will be working on
the job you have specified. Any changes you make in
the Earnings window, or to the exchange rate or
'rounding' settings, will be recorded in that
specified job. If you enter a duplicate job name,
you will be informed when you try to create the
second version. The original will be preserved. You
can load and examine the job files in Edit (or
similar) if you wish. They contain notes showing
what each line is for.

You don't have to worry about keeping the job files
up to date: Charges does all that for you. Whenever
you stop the clock, quit the application or change
jobs, the current job file will be updated for you
automatically. In addition, when you quit Charges
it will remember the job you were working on, and
restore it next time you load the application.

Assuming you have one or more job files created,
you can swap between them by choosing them from the
Jobs menu and clicking the 'Restore job' button
which will have become available. (Note: don't try
to restore a job by typing its name into the top
menu item, as this is exclusively for creating new
jobs. Choose the job from the menu instead.) If you
forget to click on the 'Restore job' button nothing
will happen, and you will continue working on the
old job, so be careful.

Note: when you choose a job to restore from the Jobs
menu, you must remember to press the 'Restore job'
button. However, if you choose '(No job)' from the
menu, the effect is immediate, and you don't have to
press the button. To indicate there is no current
job, '(None)' will be entered in the box in grey.

Whenever a job is shown in the box, the 'Delete job'
button will be available. If you delete the job you
are currently working on, then Charges will revert
to its default 'no job' state. However, you can
choose a job from the menu and delete it (without
having to restore it first), in which case the
job you are currently working on will be returned
to the box.

The job box always shows the name of the current job
when you open the Job manager window. Clicking on
any of the buttons in this window with Select will
perform the operation and close the window, whilst
clicking with Adjust will keep the window open. This
is useful if you want to delete several jobs at
once, or if you simply want to check that the
operation has worked.

One thing to note about the job files is that they
contain the Exchange rate as it appears in the menu.
Therefore, they are not necessarily the same as the
exchange rates stored in the database: you may, for
example, have entered a particular exchange rate in
the slot, and replied 'No' when asked if you wanted
to update the database. If you want to ensure that
an exchange rate is the same as its database entry
when you restore a job, go into the Earnings window
and click on 'Set'. This will look the exchange rate
up again.

Important note: when you create a new job, the clock
will start at its current value. (This is to make it
easy to copy or rename a job based on the current
one.) Therefore, once you have created a new job,
you should normally click Adjust on the icon bar
icon to reset the clock to 0 (or whatever values for
the starting time you have entered in the Choices
window).

A sample job file is provided, called 'VAT Calc'.
This contains no hourly rate, but has an exchange
rate of 1.175, so if you enter a figure in the
Conversions window, the result will be what you get
if you add 17½% VAT.

Final remarks: the names you use in the job manager
are used by Charges as file names. Since there are
restrictions on the contents of file names, the same
restrictions must be observed by Charges. You will
therefore find that there are some characters which
you cannot enter in job names. One such character
is the space, although you can get around this by
using a Hard Space instead (which is obtained by
pressing the space bar in conjunction with the Alt
key).

If you want to delete a lot of completed jobs, it is
tiresome to have to get rid of them one at a time.
Instead, you can click on the 'View jobs...' button;
this opens a filer window showing all the job files,
and you can delete them more easily from there.

Correcting job times
--------------------

When you open up the Job manager window, you may
notice a toggle-size tool in its title bar. If you
click on this, a new section at the bottom of the
window will be revealed.

Here it is possible to enter a new time for the
current job directly, in hours, minutes and seconds.
This is useful if you have accidentally left the
clock running for a job, and consequently need to
adjust the amount you have charged.

The figures shown when the window is opened are
always those currently on the clock, so you can't
(for example) zero the timer by accident. If you
restore a new job from the Job manager menu, its
time will be shown in these icons. In other words,
the values shown in this window are always the same
as what appears on the clock for the current job,
but you can edit them.

To change the time, just enter the new time and
click on the 'Set new time' icon (or press Return).

The Choices window
------------------

As with the Earnings window, any change you make in
this window will be ignored unless you click on the
'Set' button.

The 'External influences' area allows you to choose
whether Charges can be affected by (a) other
programs and (b) the screen blanker:

(a) The 'Enable remote control' switch is new to
version 2 of Charges. See below, under the heading
'Using Charges by remote control' for details.
Normally you should keep this feature switched on.

(b) The 'Screen blanker pauses clock' option, new
to version 2.60, allows Charges to be paused when
the screen blanks (this is useful, for instance, in
case you forget to stop the clock yourself, and go
away from the machine). Again, you should normally
keep this option switched on. (This feature only
works from RISC OS 3.1 onwards.)

The 'Charge from' area lets you set the 'base value'
of the clock. So if you have a fixed minimum charge
equivalent to one hour's work, say, you can enter
the time in this area, and whenever you reset the
clock on the icon bar, it will go to the time you
specify rather than to zero.

The 'Read current time' button will transfer the
time being displayed on the clock into the 'Charge
from' area. This can be quite useful if you want to
quit Charges and reload it later, and you want it to
continue from where you left off. If, say you have
done 2 hours and 25 minutes' worth of work according
to the clock, you can click on 'Read current time'
and 'Save', and then quit the application. Next time
you load it, the clock will be displaying '2:25',
and you can continue your work. However, assigning
the work to a job file in the job manager is the
preferred method for achieving this, and much
easier to do. Note also that the new 'Modify current
job' section in the Job manager makes the process of
resetting the clock very much easier.

The 'Save' button will save the current state of the
application, and that state will be restored when
you next run it. Note that clicking 'Save' will in
fact also click on 'Set' on your behalf, just in
case you had forgotten to do it yourself. This is
more convenient, and avoids confusion.

The settings saved are as follows:

 The custom (writable) item in the Currency menu;
 The hours and minutes entered in the 'Charge from'
   area;
 The state of the external activation switch;
 The state of the Charges icon (showing time,
   earnings or the name of the current job).

The settings are saved in a file called 'Settings'
within the application directory, along with some
notes. You can edit this file if you wish, but it is
probably easier just to save the settings from the
Charges application itself. All other settings (such
as the currencies) are specific to job files, and
are handled by Charges automatically.

The 'Icon bar' area allows you to switch between
three options: 'Show time', 'Show earnings' and
'Show job name'. These dictate what the text below
the icon bar icon will be: either the time elapsed,
the amount earned, or the name of the current job
you are working on. Clicking on the display box or
the menu button will call up a small menu from which
you can choose the option you require.

There are a few points to note here:

 If the earnings or the job name are displayed,
then the elapsed time will be shown in the small
icon at the bottom left of the Earnings window. If
the time is displayed, then the small icon will
display the job name.

 In order to save space, the currency symbol is not
shown under the icon.

 The icon can only display up to 7 characters, so
if the earned amount is longer than this it will be
truncated, and a '' character printed at the right-
hand end of the figure.

 The time icon has two modes of behaviour. It
begins by displaying hours, minutes and seconds
in the form '0:00:00', with the second colon
flashing as the clock counts. If, however, the job
you are working on reaches 10 hours, the format of
the display will switch to showing just hours and
minutes in the form '0010:00'. The colon will
continue to flash as before.

 In order to make the distinction between the time
and earnings displays clear, there are a couple of
obvious differences between them:

  (a) The Time display starts with leading zeros
      (after 10 hours) whereas the Earnings display
      does not.

  (b) The Earnings display contains a proper decimal
      point character (·) whereas the Time display
      contains either a full stop (.) or colon (:).

 Job names can be up to 10 characters long. If you
are displaying the job name under the icon, only the
first 7 will be shown.

  (Note that if you own a Risc PC, you will probably
  have set it up to use an outline font on the
  desktop rather than the system font. Since outline
  fonts are usually proportional, you may in fact be
  able to see more than the normal 7 characters;
  conversely, fewer may be visible if a wide font is
  in use. It all depends on the size of the actual
  font and the widths of the individual characters.
  Charges will display as many whole characters as
  it can, up to a maximum of 10.)

The 'Country' area shows which country Charges is
set up for. Clicking on the country name or the menu
button alongside it will bring up a menu of all the
available options, and choosing a different one and
clicking 'Set' will rebuild the entire Charges
application in the chosen language. Refer to the
documentation file 'Messages' for more details. Note
that different countries can display different
sprites in the Charges icon on the icon bar.

The Currencies menu
-------------------

This simply provides a list of some commonly used
currencies which can be entered as labels. You can
type into the bottom menu item for custom labels,
and the contents of this item are saved when you
save the general settings of the application.

The contents of the Currencies menu are defined
in a file called 'Currencies' within the application
directory. You may edit this if you wish. The
entries are in alphabetical order, with symbols at
the top; please adhere to this order if you just
want to add one or two extras. If you believe the
default list should be changed for any reason,
please contact me. Note that the Currencies menu
entries may only be five characters long; any extra
characters will be ignored.

Note also that a couple of the currency symbols
(the international currency sign and the Euro
symbol) are not present in some fonts, or may be
present but not defined in the right place. It is
therefore not possible to guarantee that either or
both of these symbols will appear on the menu; it
depends on the desktop font you use. You may see
the correct symbols, neither symbol, or even two
Euro signs which look slightly different from one
another!

The bottom item in the menu (apart from the writable
one) is called '+ VAT', and is useful for converting
between a currency and a 'currency + VAT'.

IMPORTANT
=========

In the Earnings and Choices windows, YOU MUST NOT
FORGET to click on the 'Set' button, or else the
changes you have made to the windows' contents will
not be retained. Similarly, you must remember to
press <Return> or <Enter>, or click on the value
with the mouse, when you modify the Exchange rate
menu's contents.

Using Charges by remote control
===============================

This important feature is new to Charges version 2.
It requires other applications to support it, but
so far it works with the Sibelius music processing
expert system.

Basically, all you have to do is load Charges and
the editor (such as Sibelius), and when you start
working on a file, the editor will start Charges for
you, and will stop it again when you save the file.
Charges is given the name of the file you are
working on by the editor, and creates a job file
under the same name. Therefore, you can work on as
many different files as you wish, and Charges will
time the correct one as appropriate.

Note that if Charges is given the name of a job it
does not recognise, it will create a new job and
reset it to the initial time you have set up in the
Choices window. If it does recognise the job name,
however, it will restore the job and continue to
time from where it left off. When you swap tasks,
Charges will stop timing and save any job in
progress before loading the new job. Therefore, you
can swap between jobs with complete freedom, and
Charges will always be timing the current one.

Basically, all you need to remember is to:

  (a) turn on the 'Enable remote control' switch
  in the Choices window if you want the feature to
  work, and

  (b) delete unwanted job files periodically.
  Remember that Charges can cope with a maximum of
  76 different jobs (in addition to the standard
  one), and if the allocation fills up, you will
  start getting error messages.

You should normally keep the switch turned on if
you usually have Charges loaded only when you want
to time specific work. If you keep it loaded more
frequently, though, and you want to work on a file
that you don't want timed, you should either quit
it temporarily until you need it again, or turn off
the switch in the Choices window. (But don't forget
to turn it on again, or you may find that you've
done a lot of work on something and you don't know
how long it's taken you!) The editor you are working
with may provide a document-local preference which
allows you to set whether Charges should be used to
time individual documents. If this is the case, you
should of course leave Charges' external activation
switch permanently on.

Remember, though, that the external activation
feature only works with applications which have
specifically been designed to support it. If you
work with an application which does not support the
feature, you will of course have to take care of
job files and starting and stopping the clock
manually.

If you own a Risc PC, you may find it convenient to
keep Charges in the Apps directory so it can be
accessed quickly from the icon bar.

If you are the author of an application to which you
would like to add Charges support, please read the
file 'WimpMessgs' in the Docs directory, which gives
full details. The procedure is very straightforward.
If you do add support, please contact me to let me
know about it! I will almost certainly wish to see
your program to ensure it is performing correctly.

Animations
==========

Charges displays a static icon on the icon bar when
the timer is not counting, and one or more other
icons when a job is being timed. So the icon may
have simply an 'on' and 'off' state, or an
'animated' or 'off' state.

By default, the program is set up to use a 3D icon
with a simple animation when a job is being timed.
However, several alternatives are provided in the
IBSprites directory within the Charges application.
To use a different set of sprites, edit the
appropriate line in the !Charges.!Run file to
determine which sprite file to use and rerun the
program. 2D and 3D sprites, with still and animated
forms, are provided.

If you wish to produce your own custom animations,
it's very easy to do so. Simply save a new sprite
file in the IBSprites directory, and edit the line
in the !Run file to refer to it.

Your new sprites file should contain the following
sprites:

- chargesib  _\ copy these from one of the existing
- chargesib2  / sprites files.
and then, for each currency icon:
- currency$$
- currency$$0
and optionally:
- currency$$1
- currency$$2
- currency$$##
- ...

Here, the $$ is the currency code: Charges is set up
with UK, US and NZ currencies for its icon, but you
can add more if you wish.

For each currency there must be an 'on' and an 'off'
sprite. In the case of the UK, the 'off' sprite is
called 'currencyuk' and the 'on' sprite is called
'currencyuk0'. The sprite with the suffix '0' must
exist. However, further numeric sprites are
optional. If present they must be sequential, and
each one adds an extra frame for the animation when
the clock is running.

You can have as many animation sprites as you like,
and different currencies can have different numbers
of animation frames. The only proviso is that there
must be at least one frame, to provide the basic
'on' icon.

Note that the animation always happens at the rate
of one frame per second. This is a function of the
way the program works, and will not change!

If designing new sprites, you must use the same
dimensions as the existing sprites, and the sprites
must be 16-colour, square-pixel style. The use of
sprites which do not fit this description (e.g. 256
colours) is untested, but may work if the standard
'chargesib' and 'chargesib2' sprites are updated to
the same format.

Colours
=======

It is possible to define the colours (foreground and
background) used by the text below the Charges icon
on the icon bar. The default is black on light grey,
but any colours in the desktop palette may be used.
You can change the colours by editing Charges' !Run
file, which contains instructions at the appropriate
point.

Clock reset warning message
===========================

Clicking Adjust on the Charges icon when the clock
is stopped, to reset it to the time specified in the
Choices window, will normally cause a confirmation
window to appear. This is to prevent the accidental
resetting of a job file. However, if you find the
confirmation window to be a nuisance, you may edit
Charges' !Run file; it contains a line which may be
modified in order to make the clock reset with
instant effect.

Technical notes
===============

Charges uses Simon Huntingdon's excellent Interface
Manager module version 2·00 to provide its
attractive 3D icons and extra pointer shapes. The
Interface module and its documentation is provided
in the !Charges.Resources directory. MessageTrans
is also used to handle all the program's text, so
that other language versions can easily be provided.
In use, Charges follows exactly the style and colour
used by Acorn's 3D borders in RISC OS 3 applications
but, because the Interface Manager is providing the
borders, they work on RISC OS 2 as well. [NB this is
not true on RISC OS 5 machines, as the Interface
Manager module isn't available for the fully 32-bit
OS. If InterfaceManager isn't available for use,
Charges uses the RISC OS native border-plotting
instead. The results look identical.)

The pointer shapes for 'menu available' and
'writable icon' exist in standard and high
resolution versions, and these are correctly
displayed according to the screen mode currently in
use. All graphics have been designed to look as good
as possible in whatever mode is being used.

Charges makes quite a novel use of the standard menu
system. Because of this, certain features operate
slightly differently from usual, but this could not
be avoided. When you choose items from the menu (for
example, if you click on 'Earnings' rather than
moving over the '' arrow) the window will open but
the menu itself will not close. This is because
the windows off the main menu can themselves have
submenus which appear over them (the Countries menu,
the Currencies menu, the display options menu and
the Jobs menu). For rather technical reasons, it is
necessary to keep the menu structure open to provide
these. The three submenus will also behave slightly
differently in that they will not stay open if you
click on them with Adjust. However, I think the
slickness of this system outweighs its slight
peculiarities.

Clicking on the 'Set' and 'Cancel' buttons with
Adjust keeps the menu structure open; clicking on
them with Select or Menu closes it as expected.
Clicking on any other icons with any mouse button
will keep the structure open.

When dragging either of the two calculated values
out into another application, RAM Transmission is
used in the first instance to avoid disc usage, but
if this is not acceptable to the other application,
the normal saving method is used. In this way, it
is also possible to save the values as files to the
filer. They have default names which indicate which
window they came from.

Charges may be unique in allowing its configured
language to be changed dynamically.

Final note
==========

If you have acquired the demonstration version of
Charges (from a source such as the Ovation Pro CD
or Foundation RISC User magazine) and wish to
upgrade to the full edition, then please send £15
to the address below. If you live outside the UK,
an email enquiry would be appreciated in the first
instance, as additional postage costs may be
involved.

The full edition of Charges is normally shipped in
an attractive wallet with a printed manual. However,
if you prefer, you you may opt to buy the program
alone, without the packaging, for just £10. In that
case, the software will be sent to you via email
(please specify an appropriate email address when
sending the payment).

If you have any comments I would be very happy to
hear from you, and if you like this program and have
not paid for the full release, please consider
purchasing it from me.

Contact:

  Richard Hallas,
  31 Skelton Crescent,
  Crosland Moor,
  Huddersfield,
  West Yorkshire,
  HD4 5PN, UK
  Tel. (01484) 460280
  Fax  (01484) 654186
  Email: Richard@Hallas.net
