Open main menu

CDOT Wiki β

Changes

Oop344 20102 - iof functions

175 bytes added, 07:57, 17 September 2010
no edit summary
{{OOP344 Index20102}}
As your first assignment this semester, you are to write a multi-platform Set of Basic Input Output Functions (IOF) for direct terminal interaction and later use the IOF to create a text editor. Assignment One, like the main project is done collaboratively and is divided in two parts:
** Create directories under branches named as your learn id.
** Branch trunk into your branches/learnID directory and start working.
* Complex io functions: Jun 20th 23rd @ 23:59== Tester Program and demo ==<!--<big> ** iofmain.c V0R0.8 9 is released svn://zenit.senecac.on.ca/oop344/trunk/AS1/iofmain.c** You can run the demo (compiled version) of iof functions tester on matrix by running:</big><pre>~fardad.soleimanloo/iof--</pre></big>
== File Names ==
NOTE: The following corrections should be done to '''"*curpos"''' and '''"*offset"''' in case they hold invalid values before editing begins:
# If '''"*curpos"''' exceeds is greater than or equal to the value of fieldlen, correct the '''"*curpos"''' so that cursor stands at the last position inside the field.
# If '''"*offset"''' is greater than the length of the string, set the '''"*offset"''' so the “last character of str” is hidden right before the first space in the field. (See '''“[[Oop344 20102 - iof functions#IsTextEditor:|IsTextEditor Section #1]]”''' for more)
# After the above, if cursor is past the last character of '''“str”''', set '''"*curpos"''' so the cursor stands right after the last character of "str".
* '''TAB''':
** if '''IsTextEditor''' is false, TAB will simply terminate the function like a Function key
** if '''IsTextEditor''' is true, TAB will insert '''CIO_TAB_SIZE''' number of spaces into the string.'''CIO_TAB_SIZE''' should be a defined "tab size" value in cioliof.h. If '''CIO_TAB_SIZE''' spaces cannot be inserted into the string for any reason then the inputted tab should be ignored. (See '''“[[Oop344 20102 - iof functions#IsTextEditor:|IsTextEditor Section #2]]”''' for more)
* '''ESCAPE''' - Terminates iof_edit() and aborts editing: '''"str"''' will contain originally passed data when leaving function. (See '''“[[Oop344 20102 - iof functions#IsTextEditor:|IsTextEditor Section #3]]”''' for exception)
* '''INSERT''' - toggle Insert/Overstrike mode