!MakeCSV  Release 2   Copyright Justin Williams 1992,1993

The purpose of !MakeCSV is to take a text file, in normal format and convert it into a file in CSV format. 

Why would you want to do this ? 

Well, I had a list of names of files, with dates, and sizes. I wanted to sortthem into size order using Pipedream, but could not because the info was
all on the same line. It was all nicely columnised, but this didn't help 
Pipedream. I had to do the conversion using Quattro Pro on the PC, and when
a PC can do something my Archie can't I get annoyed. Hence this program
was born.

Instructions :

Drag your text file onto the !MakeCSV icon (on the icon bar). A window will
pop up showing the 1st 2 lines of the text file, and its guess at how you
want the columns. Each set of ttt's or nnn's indicates a column, and the
format. (text or numerical).  If you want to change this, just edit it. When
it looks ok, then select the make CSV button and drag the CSV file icon to
the filer window.

There are options to strip leading and trailing spaces. These are do as they
say, and strip the leading or trailing spaces.

Thats it. Now for the copyright bit.

This program is not PD, but is Authorware. That means that I retain the
copyright to it. You may distributed it to anybody you like, provided that
all the files are included and that it remains unaltered.

It may be altered by you for your own personal use, but the altered version
may not be distributed. Send it to me, I will give it a version number and
give you the credit, and then make it available for general distribution.

If you find this program useful, please send in a donation of 1 to the 
South African Archimedes User Group, or if getting hold of pounds is a 
problem, then send a blank disc or two.
                                       
I ask that all users of this program register. Registration is FREE, and
there are no advantages to registration, other than me knowing who is using
my program. The donation is optional!
                                              
Please note : I take all responsibility for any bugs in the program, but no
              responsibility for any damage that they may cause. 

If you need to contact me to report any bugs etc, please write to :

Justin Williams
PO Box 1051
Wandsbeck
3631
Natal
South Africa

E-Mail : williamj@shrike.und.ac.za (Until January 1994)

8 April 1993

Version 1.0

- first release

Version 2.1

- Alterations of the field icon now work correctly when multiple spaces
    separate a field
- Inter application transfers work (but the source file must be on disc!)
- The leading/trailing space options have been enabled
- The program is no longer public domain, but Authorware.

Version 2.2

- Fixed up the menus to work with Risc OS 3 
- Increased the size of the view window to allow for 255 char widths
- Compacted the source code using Risc OS 3's crunch command with all options
- Reduced the slot size of the program to 48k
- Released onto Newcastle

Version 2.3

- included option to allow end of line markers other than <return>. 
- allowed the reading of fixed length records which have no end of record
   marker eg. DBase files
   - the record length limit of 255 characters makes the above feature near
     to useless.
- re-worked some small pieces of the code. No functional difference.
- moved the icons in the main window around to make space for the new one
- tested crunching with !BasCrnch2, is far more efficient than Basic's crunch
  but, using Basic Crunch before !BasCrnch2 is even more efficient!

Original Size      : 11880
Basic's Crunch     : 9179
BasCrunch 1.02     : 5494
Crunch + BasCrunch : 5323
BasCrunch + Crunch : 5494

Interesting huh?

Version 2.3.1

- further reduced the slotsize of the program to 32k
   - how are you supposed to determine the slotsize ???
- removed a newly introduced bug which occurred with EOF when using non-13
  end of line markers
- placed close icon on save box. Window now in new format.                 
- second release to Newcastle (first one had a corrupted template file)

Version 2.3.2

- removed the old menu system and introduced Petrov Software's system, this
   is much superior, and doesn't need to be "kludged" to work under Risc OS 3
- allow the user to press "RETURN" in the 'End of line' field to redo 
   descriptor automatically without having to select it on the menu
- had to introduce an exceptions list for variables to be crunched. The 
   functions called by the menu handler must not be crunched!

Please note : the new features in this version are not fully functional and 
              still need a bit of work. Converting plain text files to CSV
              will work fine, but fixed length record files needs some 
              refinement.

Version 2.4

- altered the template slightly to make space for the TSV option
- can now have fields which are not seperate by spaces, simply use different
   case eg. TTTTtttt will give two fields (text) of 4 chars each.
- implemented the CSV and TSV choice option. The icon changes to suit the
   type. (Is the TSV filetype supposed to be TEXT??)
- removed the program version number from the template, is now filled in by
   the program at RunTime
- introduced an error box, pretty useless though as doesn't allow recovery
- started using !Zap to edit the program. Is great, almost as good as the
   old ArmBE. I still miss the LIST IF command of BASIC. The search command
   could also be improved, but, it is the best BASIC editor around, better
   than !DeskEdit. Try it see!
- the error box now doesn't quit! Could result in infinite loops though, but
   now the data isn't lost.

Version 2.5

- solid drags now work, and only when the CMOS bit is set. Doesn't bother to
   check it is a Risc OS 3 machine, so Risc OS 2 machines with the bit set
   will have a problem.
- interactive help implemented, didn't do much for the code length, went from
   around 5500 bytes to 7800 bytes. Anyway, if people is it it might be worth
   it. I didn't increase the slot size, so if you have any problems, just
   increase it to 48k.

Possible future enhancements :

- Allow the guess format option to be used on lines other than the 1st two
- Allow the maximum input line length to be >255 characters
    (will require major re-write though!)
- Speed up the program
- Make the window and icons re-size according to the file being converted
