@DATABASE "AmCEx.guide"
@author "Paul Juhasz"
@(c) "Copyright © 2002 strandedUFO"
@WIDTH "80"
@HEIGHT "110"

@NODE "MAIN" "AmCEx (Amiga Currency Exchange)"
@NEXT "FUNCTION"
@TOC "MAIN"


          @{fg shine}AmCEx (Amiga Currency Exchange) - © 2001-2 strandedUFO@{fg text}
          @{fg shine}@{u}                                                      @{uu}@{fg text}


  This software is subject to the "Standard Amiga FD-Software Copyright Note".
  It is @{i}Mailware@{ui} as defined in paragraph 4<b>.
  For more information please read "AFD-COPYRIGHT" (Version 1 or higher).



        @{"Function" LINK "FUNCTION"}
                                             @{"Installation" LINK "INSTALLATION"}
        @{"Requirements" LINK "REQUIREMENTS"}
                                             @{"Usage" LINK "USAGE"}
        @{"Technical" LINK "TECHNICAL"}
                                             @{"Customising" LINK "CUSTOMISING"}
        @{"Program Updates" LINK "PROGUPDATES"}
                                             @{"Exchange Rate Updates" LINK "EXRATEUPD"}
        @{"Undesirables" LINK "BUGS"}
                                             @{"Contributions" LINK "CONTRIBUTIONS"}
        @{"Conclusion" LINK "CONCLUSION"}
                                             For "Translations" see
        @{"History" LINK "HISTORY"}                               catalogs directory.





   @{fg fill}Live fast, code hard and die a beautiful death... (old c0DerZ saying)@{fg text}



@ENDNODE


"Noone told you when to run, you missed the starting gun..."


@NODE "FUNCTION" "AmCEx: Function"
@NEXT "REQUIREMENTS"
@PREV "MAIN"
@TOC "MAIN"


  Function
  --------


  Converts international currency, using rates stored in a @{"local" LINK "TECHNICAL"} data
  file, which can be simply updated at any time by grabbing and saving an
  @{"html file" LINK "EXRATEUPD"} from a website.



@ENDNODE

@NODE "REQUIREMENTS" "AmCEx: System requirements"
@NEXT "INSTALLATION"
@PREV "FUNCTION"
@TOC "MAIN"


  System Requirments
  ------------------


    Any Amiga running OS3.0+ and preferably a 256+ colour screen.



@ENDNODE

@NODE "INSTALLATION" "AmCEx: Installation"
@NEXT "USAGE"
@PREV "REQUIREMENTS"
@TOC "MAIN"


  Installation
  ------------


  Simply unarchive to ram: and drag its drawer to your harddrive.

  If you are using OS3.5+ then that's all, you can stop reading now.


  The program directory contains the program's important data file
  @{"AmCEx.data" LINK "TECHNICAL"}, and the 'catalogs', 'help' and 'flags' directories which
  should be left where they are.

  The latter contains all the flags for the countries listed on the
  particular pages, plus a 'paper.gif' for use to fill the window
  background.


  OS3.1 users, who don't get BOOPSI classes installed with the system,
  can use the gadgets and bitmap.image from the Aminet ClassAct2Demo.lha
  archive.

  Using these, there is no input filter for floating point in the Amount
  entry, that @{"only works" LINK "BUGS"} with string.gadget v45 or later.




@ENDNODE

@NODE "USAGE" "AmCEx: Usage"
@NEXT "CUSTOMISING"
@PREV "INSTALLATION"
@TOC "MAIN"


  Usage
  -----


  Doubleclick on the AmCEx icon. While the program is active, pressing
  the Help key at any time will display this page.  Since this guide runs
  asynchronously, the program can still be used while reading the guide.


  The cycler gadget shows one of the five bases which the 5 rates relate
  to, though the program can calculate values from any base rate.  To
  convert any currency, take the following steps:

    1) Highlight the currency of initial amount in the listview
    2) Click the 'From' gadget
    3) Type in the amount
    4) Highlight the currency of target money in the listview
    5) Click the 'To' gadget


  The actual calculation will take place whenever you enter, in any order
  you like, @{"the amount" LINK "BUGS"}, and/or select either of the two currencies for
  source and target.  AmCEx will recalculate the target even after the
  currency rates have been @{"updated" LINK "EXRATEUPD"}.


  Selecting the From and To currencies is now possible by using the
  cursor (arrow) keys:

    Up, Down:   This will cycle through the list entries

    Left:       Will set the From currency.

    Right:      Will set the To currency.




@ENDNODE


@NODE "CUSTOMISING" "AmCEx: Customising the program"
@NEXT "EXRATEUPD"
@PREV "USAGE"
@TOC "MAIN"


  Customising the program
  -----------------------

  Look in the program icon's tooltypes.  All that can be defined is there
  in brackets, showing the defaults that the program will start up with,
  with a few exceptions.


  PUBSCREEN - Will be saved when you save the settings.


  FONTNAME  - No need to even write the '.font' at the end, though there
              is a provision to select it from the program.
  FONTSIZE  - This will influence the window size.


            Sidenote: The listview that shows the currencies, and the
                      window as a direct result of this, will adjust
                      themselves to the length of any text that appears
                      within the listview.

  FIXEDWIDTHFONT - Is a switch and needs no other parameters. Causes the
                   font requester to filter out proportional fonts.


  WINLEFT  \\
  WINTOP    -  The position of the window, including that of the zoomed
  ZOOMLEFT  -  state is automatically snapshotted, whenever the window is
  ZOOMTOP   -  moved. By default, it will appear centered on the screen.
  ICONLEFT  -  The same happens with the icon when iconified and moved.
  ICONTOP   -
  REQWIDTH  -  The width and position of the font Requester can also be
  REQHEIGHT -  fixed this way.
  REQLEFT   -
  REQTOP   /


  RATESFILE - The @{"file to be parsed" LINK "EXRATEUPD"} can be specified in the icon's
              tooltypes with this. If nothing is specified, the default
              is:

              @{fg shine}"ram:mx_large.html"@{fg text}


  DAYDATE - A '0' after this tooltype will display the Updated: date
            normally, anything else will change it, so that weekdays will
            be substituted, the same way as happens with AmigaDOS
            datestamps.


  TEXTCOL - the pen with which the window text is drawn
  CURRCOL - the pen for the currency displayed under the flags
  TRGTCOL - the pen for the Target display colour
  DATECOL - the pen for the 'Updated:' date display

        For the above tooltypes the following colourpens are available
        on Workbench as standard:

            DETAILPEN          or    0
            BLOCKPEN           or    1
            TEXTPEN            or    2
            SHINEPEN           or    3
            SHADOWPEN          or    4
            FILLPEN            or    5
            FILLTEXTPEN        or    6
            BACKGROUNDPEN      or    7
            HIGHLIGHTTEXTPEN   or    8
            BARDETAILPEN       or    9
            BARBLOCKPEN        or   10
            BARTRIMPEN         or   11


  FRCURR -
  TOCURR - These two tooltypes will fix your preferred currencies so they
           are automatically selected when the program starts up.  This
           is best left to the program to set, using 'Save Settings', as
           the sorting sequence of the visible list doesn't coincide with
           the actual numbers, those are in the same order as the list on
           the webpage.


  BACKFILL - this allows to specify a background fill pattern for the
             window.  The default is no backfill, though there is a
             suitable pattern you can use, flags/paper.gif - just need to
             unbracket the tooltype.  Doesn't quite work under OS3.0 and
             OS3.1, no idea why.


  The tooltypes below are for the Croatian Kuna and Yugoslavian New
  Dinar, where the rates need to be entered manually until there is a
  website which has rates available for them. Updating AmCEx.data will
  transfer these values from the tooltypes into that file too.

  HRKGBP - Kuna for one British Pound
  HRKUSD - Kuna for one US dollar
  HRKEUR - Kuna for one Euro
  HRKDEM - Kuna for one German Mark
  HRKJPY - Kuna for one japanese yen

  YUMGBP - Dinar for one British Pound
  YUMUSD - Dinar for one US Dollar
  YUMEUR - Dinar for one Euro
  YUMDEM - Dinar for one German Mark
  YUMJPY - Dinar for one Japanese Yen

        The rates supplied in the icon tooltypes have been manually
        calculated while online:

        @{fg shine}http://www.xe.com/ucc/full.shtml@{fg text}



@ENDNODE



@NODE "EXRATEUPD" "AmCEx: Exchange rate updates"
@NEXT "TECHNICAL"
@PREV "CUSTOMISING"
@TOC "MAIN"


  Exchange rate updates
  ---------------------


  The AmCEx.data file contains the three-letter flagnames, all the
  currencies, and the exchange rate values for the five bases. To update
  these latter values, use the menu-item "Update Rates...".  This will
  parse either one of two html files and then build the @{"AmCEx.data" LINK "TECHNICAL"} file.
  Obviously the HTML file needs to be downloaded and saved from your
  browser first:

  @{fg shine}http://www.moneyextra.com/rates/currency/forex/mx_large.html@{fg text}
  @{fg shine}http://www.rate.co.uk/exrates.html@{fg text}

  So if you save "mx_large.html" to RAM: as I do, the program will find
  it easily using the default value.


  Only one of these files (mx_large.html) carries its 'updated' date
  within it.  The AmCEx parser will pick that up and stamp it upon the
  AmCEx.data file, so that whenever the program loads it, the date can be
  put into the 'Updated:' display in the window.

  The other webfile, exrates.html, doesn't carry a date other than its
  AmigaDOS datestamp, which it has received when it was written out from
  the browser.  In this case the Updated: date will be the date on which
  the AmCEx.data file was updated and written out by the program.




@ENDNODE


@NODE "TECHNICAL" "AmCEx: Technical information"
@NEXT "PROGUPDATES"
@PREV "EXRATEUPD"
@TOC "MAIN"


  Technical information
  ---------------------


  The @{"above files" LINK "EXRATEUPD"} looked easy to parse due to both having the same
  currency descriptions and blank delimited rate values.

  I did look through various sites, but these were the only ones to show
  the actual conversion rates in an easily accessable form.

  Although the list and baserate cycler will show up in the localized
  language, any parsing is still done using the English currency names.

  Due to the data file being ASCII, there may be a possibility to write
  some external rexx script that could parse any other web page the user
  wants to access, maybe in other languages too, the list of the 58
  currencies and flagnames is presently hard coded inside the program and
  in English.

  Only the flagnames are restricted to the three letters + .gif filename,
  while currency strings can be up to 32 characters in length.

  The .data file starts with the word 'Bases' followed by up to five
  currency descriptions, all on the same line. From line two onwards live
  all the currencies, line by line, they are sorted by the three letter
  flag name. All fields in the data file are delimited by a semicolon
  ';', including the ends of the lines. The program, when it reads
  through the file, pokes 0s in those positions, to make them into C
  strings...




@ENDNODE


@NODE "PROGUPDATES" "AmCEx: Program Updates"
@NEXT "BUGS"
@PREV "TECHNICAL"
@TOC "MAIN"


  Program Updates
  ---------------


  For program updates check:        @{fg shine}http://www.sufo.estates.co.uk/amiga/amcex.html@{fg text}



  Author:                           @{fg fill}Paul 'phineas' Juhasz - London, U.K.@{fg text}

  to contact me by email:           @{fg shine}phin\@sufo.estates.co.uk@{fg text}




@ENDNODE


@NODE "BUGS" "AmCEx: Undesirables"
@NEXT "CONCLUSION"
@PREV "PROGUPDATES"
@TOC "MAIN"


  Undesired side effects
  ----------------------


  Since AmCEx uses classes/gadgets/string.gadget for the Amount entry,
  the Amount gadget will only accept one '.' as a decimal point between
  the numeric digits you enter.  One day that may be localised to accept
  a comma ',' in lieu of the '.', but maybe noone needs to use a comma in
  this case anyway.

  This filter only works from string.gadget v45 onwards, which came with
  OS3.9, the older versions will allow the user to type in letters too,
  even if the program rejects them.




@ENDNODE


@NODE "CONCLUSION" "AmCEx: Conclusion"
@NEXT "CONTRIBUTIONS"
@PREV "BUGS"
@TOC "MAIN"


  Conclusion
  ----------


    Now we're all ready to buy Amiga stuff from anywhere.




@ENDNODE


@NODE "CONTRIBUTIONS" "Requested features"
@NEXT "HISTORY"
@PREV "CONCLUSION"
@TOC "MAIN"


  The persons who helped to improve this program
  ----------------------------------------------

  The idea behind FRCURR + TOCURR tooltypes:

        Pierre Giroux <pierregiroux@videotron.ca>


  Research into html file dates, the large set of flags:

        Jean Marie Boucher <boucher21@caramail.com>


  Croatian catalog:

        Ivan Teskera <ivan.teskera@vt.hinet.hr>


  Beta testing and debugging:

        Emiliano Esposito <emiespo@tiscalinet.it>



@ENDNODE


@NODE "HISTORY" "AmCEx: History"
@PREV "CONTRIBUTIONS"
@TOC "MAIN"


  History
  -------


  v1.39         -       Sunday 24-Mar-02 20:05:20
                Program further cleaned up, optimised and exe size reduced.

  v1.38         -       Sunday 10-Mar-02 11:48:31
                Small internal changes.  Updated French and Croatian catalogs.

  v1.37         -       Friday 01-Mar-02 00:28:00
                Added Tooltypes for Yugoslavian New Dinar.

  v1.36         -       Sunday 17-Feb-02 07:21:45
                Added keyboard selection of currencies and Amount entry.

  v1.35         -       Friday 01-Feb-02 03:49:25
                Added font requester and improved text handling with different
                fonts. The catalogs have changed and there is a new tooltype.

  v1.34         -       Sunday 27-Jan-02 22:21:19
                Removed Enforcer hits. Menus should use prefs pens now.

  v1.33         -       Friday 25-Jan-02 04:49:29
                Fixed: check non-empty locale prefs only, english is default
                guide when no other is found.  Increased height of string.gadget
                again - will this finally fix those probs that some people are
                experiencing?  Due to numerous requests, Croatian Kuna was added
                to the list, though presently only manual update is possible.
                See 'Configuration'.

  v1.30         -       Saturday 19-Jan-02 05:20:59
                Fixed bug with AmigaGuide access under locale and added date
                parsing routine when accessing the mx_large.html file.  This was
                also made the default file to parse, since the other file
                carries no date as to when it was updated. This was researched
                and suggested by Jean Marie Boucher.

  v1.21         -       Tuesday 15-Jan-02 00:32:01
                Now the window can have psychedelic backfill patterns. Also
                fixed the 'Amount' string.gadget - hopefully - and added
                localised guide.

  v1.14         -       Wednesday 09-Jan-02 00:45:50
                Added tooltypes to fix To and From currencies - as it was
                suggested by Pierre Giroux

  v1.12         -       Friday 04-Jan-02 21:56:40
                Defaults now use the first 4 pens on Workbench

  v1.11         -       Friday 21-Dec-01 01:32:15
                Translated and localized all currency descriptors

  v1.10         -       Monday 10-Dec-01 07:35:48
                        unreleased
                Ran program source through CatComp, now it can support the
                international community it was made for.

  v1.0          -       Wednesday 05-Dec-01 16:45:28
                        unreleased
                English only and quite basic.



@ENDNODE

