v2.0 (2004-09-01) * Everything from the v2.0 Special Windows Build. * Man pages are available * Fixed the bug causing VocaTest to display the wrong number of vocs and wrong stats when doing test failed * Reorganised the code to make it easier to follow * You can specify vocatest --test (files) at startup to start a test on the specified files immediatly * Added vocatest --help to show the commandline options * VocaTest creates its own .VocaTest file in the users home directory upon startup. (this is the settings for vocatest) * Improved "install": VocaTest now comes with a configure script. * New command: 'listfiles'. Tells you which files are currently loaded and how many times they have been loaded. * Doing a load that failes no longer unappends all of the loaded files. * New command: 'unappend'. Unappends a loaded file. * Internal removes uses iterators to avoid copying of entire structures. * VocaTest now has a history and autocompletion of filenames. Both of these features rely on the GNU readline library. * New setting: 'useVocDir'. 'yes' will cause VocaTest to start looking for vocs from the vocDir as before. 'no' will start looking for vocfiles from the folder where you started VocaTest. I've got ~ for homedir runnning, too. * New setting: 'nrOfRetrys'. Allows you to adjust how many retrys you should have when taking a test * You can now edit typos in your answers as you write. This is also thanks to readline. * vocatest --version available * New command argument: 'test failed'. Test only on the words you failed in your last test. 'test strict' will not cause the program to forget about the failed words from the last non-strict test. * The Special Windows Build had a bug that caused it to create a new sample vocfile instead of saving the vocs when doing command save. Fixed that. * Started looking a bit at pointers. All internal lists now use pointers. Might be a little more efficiant. Might. * Typing 'q' is enough to quit v2.0 Special Windows Build - aka "Andrea Edition" (2004-03-27) * Program rewritten from scratch. This time in C++. Better maintability now. * All of the functionality from v1.0 * VocaTest can now read settings from an external text file. Current settings are: langDelim, wordDelim and vocDir. You can also enter these settings into your vocfiles. The idea is to have them in the top of the file, but they can even be used to have several different delimeters within a single vocfile. * Command 'test' can now be run either as a strict test which forces you to enter all of the translations for a word or as a standard test which only requires you to enter one of them. * Added ability to enter more than one translation of a voc. You can have several meanings of lang1 and several meanings of lang2. * Commands "testrand" and "testrandbackw" are no longer used. Instead you can do "randomize" and then all following tests will be performed in random order. (ie just do "randomize" followed by "test" or "testbackw" and get the same result as before) * VocaTest will now treat everything that are not valid vocs as comments in the vocfile. "Real" comments still begin with //. * Tests are now case sensitive again (ie HELLO and hello are not equal) * Vocatest can now deal with even bigger vocfiles. The java version ran into OutOfMemoryErrors with 300.000+ vocs. I have tried the C++ version with vocfiles containing millions of vocs with no problems at all. It takes a while to load (duh) but once loaded it runs smoothly. v1.0 (2003-05-31) * VocaTest no longer overwrites files without asking * VocaTest now checks whether files exist or not before performing any operations on them. Displays correct error messages if files that are not supposed to exist does exist or if files that are supposed to exist does not exist. * VocaTest now looks for proper permissions (read/write) before performing any operations on files. Correct error messages are displayed when the user lacks a permission. Much better than the old "could not do that for some reason" messages. * Command "append" can now be used even if no vocfile has previously been loaded. Using append in this way causes it to simply load a vocfile. * Added command "exit" in addition to "quit". They do the same thing. * Minor changes in some printouts again. * VocaTest no longer cares about extra leading or trailing whitespaces while performing tests. * VocaTest no longer gives several error messages when omitting to enter a filename on commands needing a filename. Now it gives one and only one message to the user. It's a lot less confusing this way. * VocaTest no longer consumes *huge* amounts of memory and CPU power when saving really large vocfiles. I've tried it with vocfiles with 120.000+ words and every single command runs really smooth now. It used to run into problems with files containing 3000+ words. Hojaaa! v0.3 (2003-05-30) * Added command "$abort" to abort currently running test * Added subdirectory "vocfiles" which is now the default directory for all vocfiles. It's eaiser to keep track of the vocfiles if they are all stored in a certain directory. IMHO. * _Very_ minor changes in some of the printouts * Fixed a small bug that caused the program to think that a vocfile had been loaded even if the atempt to load the file had failed. * The command "list" now also gives you a count of the number of words currently loaded. * Moved some code around to give a performance improvement of something like 0,0000000001%. Whoa. * VocaTest no longer cares about extra whitespaces when entering filenames after commands * Some of the global variables had no reason for being global. Such variables are no longer global. * VocaTest no longer cares about blank rows in the vocfiles. This fixed the bug causing you not being able to perform any read operations on file foo after saving it. It also makes VocaTest less concerned about how the vocfiles look (obviously). v0.2 (2003-05-29) * First public release * Added ability to test on words in random order (testrand) * Changed the function of "test" and "testrand" to test on the currently loaded vocfile instead of loading a new vocfile and performing a test on that. * Added the command "load" to load a vocfile into VocaTest * Added the command "append" to allow users to load several vocfiles and appending them * Added the command "save" to allow users to save the loaded vocfile (or vocfiles if the user has used append) to a new file * Added the command "list" to be able to list the loaded vocs from within VocaTest. The printout is a bit ugly, though. * Rearranged the internal representation of the vocs from being a string inside a LinkedList to being a LinkedList (size 2) inside a LinkedList. I did this to allow for easier internal handling of the pairs of vocabularies. * Added command "testbackw" to test with lang1 switched for lang2 and vice versa. * Added command "testrandbackw" to test according to testbackw but with the words in random order. * Made VocaTest somewhat less sensitive about errors in the vocfiles. It no longer cares about whitespacec in the beginning or end of each row or whether you enter just "|" or " | " (for example) as delimeter. As long as there's a pipe sign in there it'll get rid of the whitespaces. * VocaTest now actually quits when running command quit. No more Ctrl-C. * VocaTest is no longer case sensitive, ie HELLO and hello are the same. * Checks if a vocfile has been loaded before trying to perform a test and displays correct error message if it hasn't. v0.1 (2003-05-28) * Initial release (not public)