Intro:
------
As the title says, this one is meant to be used as a means to learn
things (vocabulary, exam stuff, ...). It is freeware, so you may use
it free of charge and/or alter the source code to fit your needs.
(I would be glad if you mentioned me somewhere in your works, though.)

(NOTE: The program has only been tested on version 2.0 of the
PocketC Runtime libraries. Please use those if you experience
difficulties with newer versions.)

2a. Copy the 'flashcards.app' to your PPC and execute
-OR-
2b. Copy the 'flashcards.pc' to your PPC, build with PocketC and execute

Well, that's not all yet. To work with the program, you need to write
a cardset which stores all your flashcards. (For starts, look at the
provided 'sample.cs' or later in this text.)
Copy that to your PPC, too.

Usage:
------
First, you need to load a cardset ('Load Cardset'). If it's a new set, or
its size has changed since it was last loaded, two new files will be built:
a database file to index the set and a logfile to store your learning
progress. PLEASE BE PATIENT! THIS BUILDING PROCESS MAY TAKE A WHILE!

(*New in v1.2*: I have added a small windows utility that enables you to
build the database file on your desktop computer. See below for more
information.)

When finished, choose a section to learn/test from the box at the right and
you're set. (Note: Learning does not allow 'FULL SET' to be selected)

Learning: You will be presented a sample view of your cards which you can
rearrange with the checkboxes. To learn cards, just browse through the
section and try to remember the cards. (That's what learning is about,
right?) 'Quit' will get you back to the main menu.

(*New in v1.1*) You may choose wether the section will be shuffled
initially or not. Therefore a new checkbox at the main menu screen has been
added. (I find it easier to learn a fixed sequence of cards and then test
my knowledge with the section in random order.)

Test: Screen layout will be the same as with learning. To start, click
'Start Test', to reveal the matching card, click 'Reveal'. Did you know the
contents? Answer 'Yes', 'No' (-> both will affect the logfile) or 'Maybe'
(-> no changes to the log).

While doing tests, the logfile is constantly updated with the changes in
knowledge and therefore later test cards will be chosen from the least
least known ones. If you end up knowing everything, test cards will
be chosen randomly.
(Note: Updates to the logfile will not be saved until you quit the test.
Make sure not to shutdown the program by external means before pushing
'Quit'.)

Search: If you have forgotten the contents of a card, you can look it up
here. Just enter any text to search for into the editbox between the
two frames. When an occurrence is found, it will be shown and searching
continues until the next match or the end of the set has been reached.
(Note: Section-selection does not work here. All cards will be searched.)
(Also note: This function will be somewhat slow on larger sets.)
It is also possible to cancel the searching operation.

Cardset Building:
-----------------
Quite straightforward description: just edit the .cs-files with your
favorite text editor. (Note: The cardsets must be in ACSII format!) Just
make sure to keep close to the layout of the provided 'sample.cs'.
To start with something, you can modify the 'eng_ger.cs' which i
use to improve my english (I hope i don't sound too bad...

(*New in v1.2*)
The DatabaseBuilder utility:
----------------------------
When cardsets grow larger with time, it becomes horribly slow to build a
new database file with FlashCards-CE itself. So in order to speed up things,
i have created a small windows utility that lets you build the database file
on your desktop computer (->this is WAY faster!). All you have to do
is start the DatabaseBuilder.exe and select a cardset (*.cs)-file as input.
the resulting database will have the same name as the cardset plus the new
ending '.db'. Now you can copy both files - cardset and database - to your
mobile device and start learning.
NOTE: The DatabaseBuilder does not offer any syntax checking for your
cardset files! If the output is somehow buggy, search your files for wrong
usage of separators ('#', '[', ']', ':', ';') before mailing me.

Additional Notes:
-----------------
- When you change an existing cardset, a new database must be built (to
index cards properly). However, you may keep your logfile if you only
added/deleted cards at the end of the set and did not change the order of
cards inside the set. (In that case, answer 'No' to the question at startup.
If you did change the card order/inserted new cards, wrong knowledge will
be assumed by the program. - Well, right knowledge for the wrong pairs,
that is )
- If you use FlashCards-CE together with a task-switching software (for example
the Properties->System->Task-Manager), the latter might freeze, leaving you
unable to switch applications. This seems to be a problem with PocketC itself
(it does not happen while messageboxes are being displayed, though).
- I'm not responsible if the program fries your PPC.
- I'm not responsible if it fries something else.
- Aside from the frying, I'm not responsible for anything at all. Never.

Error Messages:
---------------
'Could not open...':
There is probably too little memory left on your system or the selected
file does not exist.
'Unexpected end of file encountered':
There was some character missing in your cardset. Ensure correct usage
of separators '#' '[' ']' ':' and ';'. Also ensure that the cardset is in
ACSII format (like Win95/98/NT's Notepad files).
'Max number of ... exceeded':
You have too many sections/pairs per section in your cardset. Rearrange
the set or adapt defined values at the beginning of the source text and
recompile.
'Logfile is too small. Please erase it.':
This error is not supposed to happen. (Remember the alarm in "Freeze" /
"Nightwatch", which wasn't supposed to go off either? If it does happen, do as it says. (Sorry, nothing i can do about that.)

In General: Since there have been some changes in format of the internal database-
and logfiles, strange behavior while loading a cardset may be caused by problems
with older versions of these files. So if weird things start to happen: delete the
two files manually and let them be rebuilt by FlashCards-CE - or rebuild the
database with the windows tool.