@database CycleDBase Documentation
@author "Donald W Millican"
@(C) "1999 DWM Productions"
@ $ver: CycleDBase Documentation V2.0
@toc Main

@node Main "Contents"

                            @{b}CycleDBase@{ub}

                CycleDBase and this AmigaGuide is created
         by Donald W Millican and (C) Copyright 1999 DWM Productions.

         With grateful thanks to the members of the AmigaC mailing list
                at onelist.com for all their assistance.

                        1 @{"What is it?" link part1}
                        2 @{"System Requirements" link part2}
                        3 @{"*IMPORTANT*" link part3}
                        4 @{"Legal" link part4}
                        5 @{"Usage" link part5}
                        6 @{"Why did I create it?" link part6}
                        7 @{"Author" link part7}
                        8 @{"History" link part8}
                        9 @{"DWM Productions Releases" link part9}
@endnode

@node part1 "What is it?"



            CycleDBase is a database for keeping track of cycle trips.
            It allows the user to load and save data files and has
            fairly complex search functions.

            @{"*IMPORTANT*" link part3} - take note.

            This program contains an Advanced Search function which will find
            all matches in a search and then allow the user to navigate through
            the results, rather than just the first.

            To discover why I created CycleDBase click @{"here" link part6}.

            If you want to run it you'll want to know the @{"system requirements" link part2}.

            Or jump straight to @{"usage" link part5} for instructions on
            how to access the program.

                        @{"Return to contents" link main}
@endnode

@node part2 "System Requirements"

            @{b}@{u}Minimum system required (this is untested):@{uu}@{ub}

            An Amiga, 1Mb RAM, Workbench 2.05

            @{b}@{u}Recommended system:@{uu}@{ub}

            Amiga1200, 1Mb RAM free, Workbench 3.0


            @{b}@{u}Development system:@{uu}@{ub}

            @{b}Hardware@{ub}
            Amiga1260T in Power Tower, Blizzard 1260 with 16Mb RAM,
            6.4Gb hard disk, Microvitec Multiscan monitor,
            2Gb JAZ2 drive.

            @{b}Software@{ub}
            Workbench 3.0, StormC3.0, Enforcer

                        @{"Return to contents" link main}
@endnode

@node part3 "Important"

    *** NOTE - The save files from Version 1.4 are no longer compatible
    with this or future versions and will not load properly. ***

    Before using this program, the user has to understand how I got around
    the fact that as yet I cannot display decimal numbers in a GUI.
    The decimal numbers entered into this program are entered as whole numbers,
    NOT decimal. So, a mileage of 6.9 miles is entered as 6 then 9 in the two
    gadgets available. They have a decimal point displayed between them and
    the program will appear to treat them as decimal.

    The 'Containing' search facility will only work on the destination field.

    There is one weird bug I cannot fix. If you load a file, then choose to
    save it but cancel the file requester, then you will be asked if you
    want to overwrite what is a non-existent file. Choose 'No', or a file
    stub will be created.

                        @{"Return to contents" link main}
@endnode

@node part4 "Legal"

    This program is Emailware.
    In the unlikely event that you find this program useful, send me an email.

    It is freely distributable and no profit should be made from it.

    CycleDBase is provided 'as is' and the author cannot be held responsible
    for any damage occurred as a result of running this program.
    (I would hope that none of my programs cause any damage).

    The latest version of this legal section supersedes any previous versions.

    CycleDBase is (C) Copyright DWM Productions ie. Donald W Millican
    The CycleDBase code is copyright and its code and/or design cannot be
    altered or used in full or in part. The identification method used for
    CycleDBase files is also copyright and cannot be copied without permission.
    The whole program cannot be changed and redistributed without my consent.
    This document may be updated for any re-release but the legal section must
    remain unchanged. The program can be spread anywhere but I request that all
    the files be kept together including all of this document.

                        @{"Return to contents" link main}
@endnode

@node part5 "How to use the program"

                        @{b}Usage menu@{ub}

                        @{"Program operation" link part5a}
                        @{"File operations" link part5b}
                        @{"Search facilities" link part5c}


                        @{"Return to contents" link main}
@endnode

@node part5a "Program Operation"
@toc part5

    When the program runs, the main window will open.
    To enter a record, click on the box titled 'Destination' or
    type the keyboard shortcut 'D'. A cursor will appear in the box
    and the user can start typing immediately.

    To move forwards through the fields, press the TAB key.
    To move backwards through the fields, hold down the SHIFT key and press TAB.

    *** NOTE: A valid record is counted as one where text is entered into
    the Destination field. If no text is entered into this field, then
    the record will not be counted. ***

    To choose whether or not a Train was used for the trip, click on the box
    marked 'Train?'. One click will reveal a tick and another will remove it.

    To move between records, click on the < and > buttons or use the keys
    marked with those symbols.

                        @{"Return to usage menu" link part5}
@endnode

@node part5b "File operations"
@toc part5

    When you are finished typing you may want to save your work.
    To do this hold down the right mouse button and choose the 'Main' menu
    followed by 'Save...'. A file requester will appear. Choose the directory
    you want to save to and what you want the file to be called
    (the file extension '.cdb' is optional). Click on OKAY and the file will
    be saved. Loading involves a similar procedure, (the load requester will
    intially only show files with the extension '.cdb').

    To clear any records from memory, choose 'New' in the 'Main' menu.

    To find out about the program, choose 'About'.

                        @{"Return to usage menu" link part5}
@endnode

@node part5c "Search facilities"
@toc part5

    An 'Exact Match' search requires you to enter exactly what you want to
    search for, while a 'Containing' search can search for any letter, word
    or phrase you wish.

    If you choose a menu item in the 'Search' menu, then the search window
    will appear. If applicable, choose which field you wish to search in,
    then type what you want to find into the provided box and press RETURN.

    If you choose the Advanced Search, then the results will appear in a
    window similar to the main window. Browse the results and close the
    second window to end the search.

                        @{"Return to usage menu" link part5}
@endnode

@node part6 "Why did I create it?"

    I created this program because I go on medium to long distance
    bicycle trips. I like to keep a record of where I've been, what the
    mileage was and how long it took me to complete the trip.

    I am qualified in C and C++ and wanted to keep in practice. As I also
    wanted to learn how to program my Amiga, I decided to create a variety
    of interesting programs using C on the Amiga. CycleDBase is the first
    really useful program (for me at least), that I have created.

    Before I had the initial idea of creating a database to hold my cycletrips,
    I kept my records in a text file which was rather hard to read.

    I started the basic program on the 20th of June 1999. I have compiled the
    final version on the 13th of November 1999. During the past five months,
    I have made a lot of changes to the program. For a more detailed breakdown
    of events go to @{"history" link part8}.

                        @{"Return to contents" link main}
@endnode

@node part7 "Author"

            Donald W Millican
            83 Stonelaw Drive,
            Rutherglen,
            Glasgow,
            G73 3PA.
            Scotland.

            E-Mail: DonaldWM@stonelawdrive.freeserve.co.uk

            Websites(All created by me!):

            Millican home pages: http://millican.cjb.net
            DWM Productions: http://millican.cjb.net/dwm/indexdwm.html
            The Amiga Computer: http://amigacomputer.cjb.net

            Visit the third site in the list for the official homepage
            of this program and to download the latest version.

                        @{"Return to contents" link main}
@endnode

@node part8 "History"

*** Pre-Program History ***
20/06/99 : Version 0.1 : Main Window created and basic GUI structures ready
22/06/99 : Version 0.2 : Record Structure established & Destination detected
23/06/99 : Version 0.3 : All fields down to train working
23/06/99 : Version 0.4 : All fields working
24/06/99 : Version 0.5 : Menu item 'New' works
25/06/99 : Version 0.6 : Vanilla keys are working
28/06/99 : Version 0.7 : Save routines created and working
28/06/99 : Version 0.8 : Load routines created and working
29/06/99 : Version 0.9 : ASL filerequester integrated into load & save
29/06/99 : Version 0.95 : Bugfixing and streamlining of code

*** Program History
29/06/99 : Version 1.0 : Initial Release
30/06/99 : Version 1.1 : Tidy up existing requesters & include error requesters
30/06/99 : Version 1.2 : Create record counter gadget
01/07/99 : Version 1.3 : Warning requesters for 'New', 'Load' & 'Save'
02/07/99 : Version 1.4 : CycleDBase file recognition
07/07/99 : Version 1.5 : New Search menu & function 'Exact Match'
01/08/99 : Version 1.6 : Fix corruption when menu item 'new' is selected
05/08/99 : Version 1.65 : Add recognition of existing records & improve requesters
06/08/99 : Version 1.7 : Reduce save file sizes using record recognition
21/09/99 : Version 1.8 : Create seperate 'Advanced Search' program
26/09/99 : Version 1.9 : Advanced Search program works properly
26/09/99 : Version 1.95 : Use records.recs (actual records) for normal searches
11/10/99 : Version 1.98 : Disable Gadgets which are not in use
20/10/99 : Version 2.0 : Incorporate new search program into CycleDBase
11/11/99 : Version 2.1 : New Search function 'Containing'
12/11/99 : Version 2.2 : 'Containing' added to AdvSearch program
13/11/99 : Version 2.3 : AdvSearch incorporated into CycleDBase again

                        @{"Return to contents" link main}
@endnode

@node part9 "Releases under the DWM Productions label"

        I have released several programs.
        They are as follows:

        CycleDBase:
        Database primarily for my benefit for recording cycle trips.
        Offers loading, saving and extensive search facilities.
        On Aminet as util/misc/CycleDBase.lha
        Also on website: http://amigacomputer.cjb.net/programs/cycledbase.html

        Easy Convert:
        Converts to and from a number of measurements. Several satisfied users.
        Deliberately simplistic interface.
        On Aminet as util/conv/EasyConvert.lha
        Also on website: http://amigacomputer.cjb.net/programs/easyconvert.html

        Calculator:
        A fully functional calculator.
        On Aminet as util/misc/Calculator.lha
        Also on website: http://amigacomputer.cjb.net/programs/calculator.html

        Quotes:
        A 'cookie' like program which loads in sayings from a file
        and randomly puts them together to make weird messages. Has been known
        to cause system crashes - USE AT YOUR OWN RISK.
        On Aminet as util/wb/Quotes.lha
        Also on website: http://amigacomputer.cjb.net/programs/quotes.html

        Vowel Count:
        A silly program which counts the number of vowels
        in an entered string and then displays statistics
        of its findings and the string (minus vowels).
        On Aminet as util/misc/Vowel.lha

                        @{"Return to contents" link main}
@endnode

