home *** CD-ROM | disk | FTP | other *** search
Text File | 1987-01-11 | 258.9 KB | 14,059 lines |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- C Spot Run
-
- A User-Supported C Add-On Library
-
- Version 2.0
-
- January 10, 1987
-
-
- Bob Pritchett
- New Dimension Software
-
- 23 Pawtucket Dr.
- Cherry Hill, NJ 08003
-
-
- Copyright 1986, 1987 Bob Pritchett
- All Rights Reserved
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- To Mom and Dad
-
- Your time, effort, encouragement and advice
- have been far above and beyond what any
- son could dream of asking.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Trademarks
-
- MS-DOS and Microsoft C are trademarks of Microsoft Corporation.
- IBM-PC is a trademark of International Business Machines.
- C Spot Run is a trademark of New Dimension Software.
- C86 is a trademark of Computer Innovations, Inc.
- Lattice is a trademark of Lattice, Inc.
-
-
- Disclaimer
-
- This library and all of its contents are provided "AS IS."
- No warranty is expressed or implied. Use of this library is at
- the user's own risk, and the authors are not liable for any
- damages or loss of profits resulting from the use of the library
- or its documentation.
-
-
-
-
-
-
-
-
-
- C Spot Run - Documentation
-
-
-
- Table of Contents
-
- Dedication............................................... 2
- Trademarks............................................... 2
- Disclaimer............................................... 2
-
- 1. Introduction............................................. 5
- 1.1. What is C Spot Run?................................. 5
- 1.2. Why C Spot Run?..................................... 5
-
- 2. Obtaining and Copying C Spot Run......................... 6
- 2.1. User Supported Software............................. 6
- 2.2. Ownership of C Spot Run............................. 6
- 2.3. Contents of C Spot Run.............................. 6
- 2.4. License for C Spot Run.............................. 6
-
- 3. Using the C Spot Run Library............................. 8
- 3.1. Using the Library with Your Compiler................ 8
- 3.2. Modifying the Library............................... 8
- 3.2.1. Problem Areas................................ 8
- 3.2.2. Helpful Suggestions.......................... 8
- 3.3. Using the Utilities and Aids........................ 9
-
- 4. Format of Routine/Utility Descriptions................... 10
- 4.1. How to Use Routine Description Pages................ 10
- 4.2. How to Use Utility Decription Pages................. 10
-
- 5. The Library Routine Descriptions.........................
- 5.1. General Descriptions of Related Routines............
- 5.1.1. Date Manipulation Routines...................
- 5.1.2. Directory Management Routines................
- 5.1.3. Graphics Routines............................
- 5.1.4. Input Routines...............................
- 5.1.5. Printer Operation Routines...................
- 5.1.6. Real Time Timers.............................
- 5.1.7. Window Function Library......................
- 5.2. Individual Routine Descriptions.....................
-
- 6. Utility and Aid Descriptions.............................
-
- 7. Header File Descriptions.................................
-
- 8. Appendix A - Updating the Library........................
-
- 9. Appendix B - Contacting Authors..........................
-
- 10. Appendix C - Submitting Routines or Utilities............
-
- 11. Appendix D - Library History and Changes.................
-
- 12. Appendix E - ASCII Table.................................
-
- 13. Appendix F - Window Border Characters....................
-
-
-
- Page 3
-
-
-
-
-
- C Spot Run - Documentation
-
-
- 14. Quick Reference Chart....................................
-
- 15. Routine/Utility Submission Form..........................
-
- 16. User Response Form.......................................
-
- 17. Order Form...............................................
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 4
-
-
-
-
-
- C Spot Run - Documentation
-
-
- 1. Introduction
-
- 1.1. What is C Spot Run?
-
- C Spot Run is a library of C and Assembly routines for C
- programmers. These routines supplement the standard libraries
- provided with compilers, and provide tools for specialized
- applications.
- All routines in this library are either in the public domain
- or are part of the user supported software world, as are the
- accompanying utilities and programming aids.
- Our goal is to provide low cost (free!) routines and
- utilities for C programmers. The use of pre-written routines
- greatly reduces the amount of tedious code writing in almost any
- situation, and we hope that our collection will prove to do so.
-
- 1.2. Why C Spot Run?
-
- What is probably the next question to cross your mind is
- simply, why? Good question, and I hope this is a good answer.
- Because. Because there are so many libraries similar to this
- one. Because they all cost money, and this one doesn't. Because
- as of yet there is no central distribution point for many of the
- C routines floating around in .C files everywhere. We feel that
- C Spot Run is filling a need, and we hope you agree with us.
- We would appreciate your taking some time to let us know
- what you think of the library and what directions you would like
- to see it take.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 5
-
-
-
-
-
- C Spot Run - Documentation
-
-
- 2. Obtaining and Copying C Spot Run
-
- 2.1. User Supported Software
-
- User supported software is software distributed at no cost
- other then a small media charge with the expectation that those
- who find it useful will send a donation to support the
- development. In most cases those who contribute become
- registered users and receive automatic updates, printed manuals,
- telephone support, and/or source code.
-
- 2.2. Ownership of C Spot Run
-
- Without a major essay on copyright laws, the routines and
- utilities in this package are the property of their respective
- authors, with the exception of those released to the Public
- Domain (PD). It is important to recognize the difference between
- Public Domain and user-supported software. (User-supported
- includes "ShareWare", "FreeWare" and several other names.)
- Unlike authors who totally give their software to the public
- domain, some authors distribute their code with a limited
- license, usually something to the effect that you are not to
- distribute modified versions or charge for the distribution.
- The routines and utilities in this library are either
- totally in the public domain, in which case their source code is
- present, or have been released to this library for distribution
- as described in Appendix C of this document.
- As to the library itself, and this documentation, they are
- property of Bob Pritchett, and released to the public under the
- limited license in section 2.4.
-
- 2.3. Contents of C Spot Run
-
- The very basic principle behind this library is user-
- supported software. In addition to monetary contributions, an
- even more valuable form is that of routines or utilities. Most
- of the routines and utilities in this library were written by two
- or three people, or are modifications of other routines in the
- public domain.
- We would like to build a sizable library of tools and helps
- for C programmers, and whether it is a new routine you wrote, or
- one that is already in the public domain world, your contribution
- of code and permission to let us use it would be appreciated.
- At present this library is a collection of routines and
- programming aids only. Since the release of the first version of
- the library, the response has been positive, and our
- interpretation of it is that the library should continue to focus
- on routines and programming aids, as opposed to creating a
- library of general C source code.
-
- 2.4. Distribution License for C Spot Run
-
- The C Spot Run library of routines and utilities may be
- freely duplicated and distributed under the following terms:
-
-
-
- Page 6
-
-
-
-
-
- C Spot Run - Documentation
-
-
-
- o No fee may be charged other than reasonable expenses for
- media and reproduction, no more then eight dollars.
-
- o The library MAY NOT be distrbuted by any for-profit
- corporation, including, but not limited to, for-profit public
- domain software companies, without the express written permission
- of Bob Pritchett.
-
- o The routines, utilities, and documentation are not to be
- distributed in a modified form.
-
- o The routines and utilities are not to be used in
- commercial applications or business environments without the
- express written permission of the authors.
-
- o Credit must be given to authors whose routines are used
- in any distributed application, in both the code and program
- documentation, unless other arrangements are made directly with
- the author.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 7
-
-
-
-
-
- C Spot Run - Documentation
-
-
- 3. Using the C Spot Run Library
-
- 3.1. Using the Library with Your Compiler
-
- All utilities included in this library work with straight
- ASCII text files, unless otherwise specified, and those dealing
- with the syntax of the C language should work with all flavors of
- C that conform to the basic guidelines in K&R.
- The routines are distributed in several forms, usually
- either object code or source code, C or assembly. Specific
- information on each routine and it's compiler dependancies is
- available in the section entitled Compiler Specifics in each
- routine entry. As a general rule, object code and libraries are
- in the Microsoft/Lattice format. These libraries and object code
- modules can be linked to your program with LINK. If the source
- code is available simply check it for compiler differences (see
- the next section) and compile it with whatever compiler you use.
-
- 3.2. Modifying the Library
-
- Although many compilers use the same routines, they often
- are named differently, or use a different set of parameters.
- This section should be of assistance in modifying source to work
- with your, or someone else's, compiler. If you have some
- information that could be helpful in ocmpiler conversions, please
- contact us.
-
- 3.2.1. Problem Areas
-
- Some of the more common differences in compiler libraries
- are the naming conventions used. For instance, the routines to
- perform a DOS interrupt vary from intdos() to doint(), and have
- just as many differences in parameters. Some common differences
- are in string manipulation, hardware specific functions, and
- memory management. Here is some information that should be of
- help:
-
- 3.2.2. Helpful Suggestions
-
- Those with Microsoft C V3.0 should consult the header file
- V2TOV3.H for assistance, and Appendix D of the User's Guide,
- Converting from Previous Versions of the Compiler.
-
- Microsoft V3.0 uses unions declared in DOS.H as parameters
- for it's hardware/DOS functions unlike most other compilers which
- need the register variables etc. declared by the user. The
- register variables are stored in a union of type REGS, and are
- addressed using the union member x to access registers with x as
- a second character, or h to access the registers ending in h or
- l. Example: union REGS in; n = in.x.ax; y = in.h.bl;
-
- Microsoft's hardware interrupt is int86(int,&in,&out), cor-
- responding to sysint(int,&in,&out) used by many other compilers.
- Likewise intdos(&in,&out) corresponds to sysint(0x21,&in,&out).
-
-
-
- Page 8
-
-
-
-
-
- C Spot Run - Documentation
-
-
- Lattice/Computer Innovation's movmem(source, destination,
- width) corresponds to Microsoft's movedata(destination, source,
- width).
-
- All of Microsoft's string manipulation functions are in the
- format strxxx() or strnxxx(). Example: strlwr(string)
- strcat(string1, string2) strncat(string1, string2, number).
-
- 3.3. Using the Utilities and Aids
-
- The use of utilities and programming aids should be clearly
- described on their description pages. All include files should
- be included at the beginning of sources that need them, and in
- addition to the description page most independant utilities will
- provide a short summary of their use when run with no command
- line parameters.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 9
-
-
-
-
-
- C Spot Run - Documentation
-
-
- 4. Format of Routine/Utility Descriptions
-
- 4.1. How to Use the Routine Description Pages
-
- The routine description pages are set up in such a manner
- that updates to the library will not require a totally new
- manual.
- Each routine has its own full page regardless of how small
- or large it is. The page is set up in a special order, with the
- name of the routine on the upper right of the page at the top for
- quick indexing, followed by a short summary of the necessary
- arguments and their data types. Next is a line containing the
- creation and last update dates, and then the author's name and
- whether the source is in C or Assembly. Following these is a
- list of the files in which the code is contained, a list of other
- required functions that may not be in every library, and then a
- paragraph description of the function. This is followed with a
- paragraph explaining any ties to one specific compiler, the
- return value, a list of related functions in the library, and a
- final example of how it might be used in a portion of code.
- It is recommended that you keep the complete manual in a
- three ring binder, and as you receive updates simply print out
- the enclosed page, and insert it in alphabetical order among the
- function description pages. (This manual may seem like a waste
- of paper, but this way it saves a lot in the long run.)
-
- 4.2. How to Use the Utility Description Pages
-
- The utility description pages are similar to the routine
- descriptions described above except for the layout of
- information. On the utility description pages the first item is,
- as with the routine descriptions, the utility name on the upper
- right hand corner. Next is a summary of the utility including
- the creation and last update dates, the author's name, the source
- language, and then a copy of the documentation, usually an exact
- duplicate of whatever documentation the author has sent.
- As mentioned, the method for updating these description
- pages is the same as above in section 4.1.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 10
-
-
-
-
-
-
-
-
- Date Manipulation Routines
-
- This library comes with a variety of routines that can be
- used to perform operations on and manipulate dates.
- When calling functions that require date elements the order
- of month, day, and year is used. The only exceptions to this
- ordering are the get_date() and set_date() functions, which work
- with the system's internal date. These routines require the
- arguments to be in the order of day, month, and year.
- All of the date manipulation routines are capable of
- accepting years in both the two and four digit formats. (IE.
- 1987 is evaluated in the same manner as is 87.)
- The number of days between two given dates can be calculated
- directly with the dt_diff() routine, or through subtraction using
- the serial numbers of each date, as calculated with date_sn().
- At present the date routines do not take into account
- different calendar systems, and, with the exception of the year
- limited serial number routines, will assume all AD dates are in
- our current system.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Directory Management Routines
-
- With the two basic file search routines ffirst() and fnext()
- any number of directories may be generated, and when combined
- with the windowing routines any application can have a convenient
- system for directory viewing and file selection.
- The possibilities are endless, thus only a limited number of
- directory viewing routines have been provided, but we trust that
- they will help you design and implement whatever file management
- you require. The following are some hints and suggestions:
-
- Finding and storing all the file names before displaying
- them has the benefit of allowing scrolling to take place forwards
- and back, but the disadvantage of a slight delay while reading in
- the information. If scrolling is needed, try saving the names as
- they are read and displayed, and keep pointers allowing you to
- scroll back, but not forward until the new file names are read.
-
- If it is neccessary to divide the file name and extension
- two obvious alternatives are presented. Either write a routine
- to go through the string containing the name, looking for the dot
- separater, and split the string into two parts, or use the
- sscanf() function to read the two fields into separate strings.
-
- Whatever you do with the provided directory routines, we'd
- appreciate a copy of your routine for curiosity's sake, and if
- possible, inclusion in a future version of the library.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Graphics Routines
-
- This version of the library contains just a few simple
- graphics primitives that work with the Color Graphics Adapter.
- The routines provided perform simple graphics functions with no
- concern for the aspect ratio of the screen, relative coordinates,
- etc. All of the functions work with the exact coordinates given
- and mathamaticly calculated assuming an aspect ratio of one.
- (The IBM PC has a ratio of 1.2.)
- The purpose of these routines is to provide a very few basic
- routines for some form of graphics output. If you have a
- complete graphics system, or just one that's faster than that
- provided here, we would appreciate it if you would consider
- submitting a copy to the library.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Input Routines
-
-
- The input routines are named in the following format:
-
- [w][f]inpt<type>[r][m][e][d]();
-
- [w] Window. If input is in a window, use the [w]
- prefix. NOTE: If the window pointer given is not to a valid
- window the result is undefined.
-
- [f] Field. Field input is input in a maximum
- length field. The color and fill character for the field is
- specified by fcolor() and fchar().
-
- <type> Type. This mandatory part of the function
- name is the type of input being accepted.
-
- [r] Range. If there is a minimum and maximum
- entry this element is used in the name.
-
- [m] Mask. This element means that an input mask
- will be specified.
-
- [e] Editing. If the field supports full editing
- features, this element is used.
-
- [d] Default. If there is to be a default entry
- this element is used.
-
-
- All of these elements make for a large number of possible
- routines. However, only a few of these options are implemented,
- and users who have source code can use these functions as bases
- for new ones. For a list of which functions have been
- implemented with this version, please check the quick reference
- chart at the end of the manual.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Printer Operation Routines
-
- The printer output routines included in this verson, 1.0, of
- the library are intended to provide only the basics for printer
- control. The routines provide for single character output,
- lputchar(), string output, lprint(), and formatted string output,
- lprintf().
-
- These routines all call DOS function number 5 which means
- that with the DOS MODE command etc. the output can be redirected
- or reformatted.
-
- Many libraries include an extensive set of routines to set
- different attributes, fonts, and styles on printers. However,
- since these routines are usually dependant on one printer make,
- and generaly do little more then output two or three characters
- it was thought best to provide only the generic lputchar()
- function. If you would like to provide a set of printer specific
- or independant routines to perform these functions, please
- contact us.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Real Time Timers
-
- The timer functions are designed to implement up to ten
- different elapsed time counters. The counters are numbered from
- zero to nine, each of which may be individually started, stopped,
- and read. The function init_tmr() must be called before any of
- the timers are used, although it needs to be called only once.
-
- These ten counters may prove especially useful in
- communications, timed input, or other 'real time' applications
- due to the fact that they work with the internal system clock and
- are not bus clock rate dependant. (The timer() routine, not a
- part of this collection, does report in clock ticks.)
-
- All of the timer functions, with the exception of init_tmr()
- and get_timer(), require a single integer argument with a value
- between zero and nine. Any other value will normalized into that
- range, which is the timer to use for that specific function call.
- The functions that return a time do so in tenths of seconds.
- (The maximum time any timer may track is approximately 1.8
- hours.)
-
- These routines were contributed by Dave Perras who wrote
- them with a Datalight C compiler. The included source code
- should be easily portable to most MS-DOS C compilers.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Window Function Library
-
- The C Spot Run window function library is a library of
- routines that perform background/foreground windowing. What this
- means is that any window that is overlapped by another window,
- when addressed for output, will be moved to the front of the
- 'stack' and become the active window.
-
- The window library also contains a large number of support
- routines to make movement of and output to windows as easy as
- possible. There are routines that make pop-up menus, center
- text, draw boxes, and do much more. Full color support is
- available, and for speed all of the cursor and output functions
- are in assembly.
-
- All windowing functions are in the file COUTPUT.OBJ, and
- source is not distributed.
-
- For ease of calling, in general you will find that all
- window functions are preceeded by a w in the function name,
- (wopen(), wclose(), etc.) and in most cases the first argument is
- the window pointer.
-
- For more information, consult the detailed function
- descriptions.
-
- I would like to thank Philip A. Mongelluzo whose Windows for
- C and Window BOSS packages were of invaluable use to me in the
- development of this package, not to mention the time he spent
- patiently answering my questions.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- border
- Summary:
-
- int border(color);
- int color; /* Color of Border */
-
- Created: 12/28/85 Last Updated: 12/28/85
-
- Author: Bob Pritchett Source (C/A): A
-
- Located in: BORDER.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function draws sets the screen border to the specified color
- using function 11 of the BIOS video interrupt.
-
- Works in text modes only.
-
- Compiler Specifics:
-
- Has Microsoft's assembly header, otherwise none.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
-
-
- Example:
-
- border(4); /* Red Border */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- box
- Summary:
-
- int box(x,y,x2,y2,type);
- int x; /* Upper Left Row */
- int y; /* Upper Left Col */
- int x2; /* Lower Right Row */
- int y2; /* Lower Right Col */
- int type; /* Style of Border */
-
- Created: 08/ /85 Last Updated: 05/22/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: BOX.OBJ
-
- Requires: gotoxy() putch()
-
- Description:
-
- The box function draws a graphic box using the upper left and
- lower right corner coordinates. The border style can be a
- combination of the double and single line characters of the IBM
- character set, or any other printable character used all the way
- around. The border is chosen with type. If type is equal to
- one, an all single line border is drawn. If it is two, a double
- horizontal line and single vertical line is used, if it is three
- it is an all double border, if it is four a single horizontal
- line and double vertical line are used. In the case of a five,
- three ASCII characters, + - |, are used. Any other value in type
- will cause the border to consist entirely of this character.
-
- Compiler Specifics:
-
- BOX.OBJ was compiled using MSC 3.0, but there are no compiler
- specifics involved other then putch(), the put character to
- console function.
-
- Return Value:
-
- Returns a one if successful, or a negative one if invalid
- coordinates are passed.
-
- See Also:
-
- cbox()
-
- Example:
-
- box(10,10,20,30,'*'); /* A box with a border of *'s */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- cbcapt
- Summary:
-
- int cbcapt(flag);
- int *flag; /* Location of Integer Flag */
-
- Created: 10/26/86 Last Updated: 10/26/86
-
- Author: Source (C/A): A
-
- Located in: CBRKTRAP.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function allows the programmer to detect and handle a
- Control-C or Control-Break entered by the user. The function
- must be called with the location of a static integer which will
- be set positive when a Control-C or Control-Break is hit. The
- program may then choose to test and handle the flag, or ignore it
- totally, effectually disabling the break features.
-
- This function is based on routines in Advanced MS-DOS and The C
- Toolbox, by Ray Duncan and William Hunt.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- No return value.
-
- See Also:
-
- cbrest()
-
- Example:
-
- main()
- {
- static int flag = 0;
- timer();
- cbcapt(&flag);
- while ( flag == 0 )
- printf("Waiting for Ctrl-Break.\n");
- printf("Control-Break detected after %ld clock ticks.\n"
- ,timer());
- cbrest();
- exit(0);
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- cbox
- Summary:
-
- int cbox(x,y,x2,y2,type);
- int x; /* Upper Left Row */
- int y; /* Upper Left Col */
- int x2; /* Lower Right Row */
- int y2; /* Lower Right Col */
- int type; /* Style of Border */
-
- Created: 03/03/86 Last Updated: 03/03/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: COUTPUT.OBJ
-
- Requires: putchci() gotoxy()
-
- Description:
-
- This function is functionaly the same as box() except that the
- box is drawn in the current color. It is primarily used as an
- internal routine in COUTPUT.OBJ. For independant use, use color()
- or wcolor() to set the color.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Returns a one if successful, a negative one if invalid
- coordinates are passed.
-
- See Also:
-
- color() wcolor() box()
-
- Example:
-
- #include <color.h> /* Just for the colors... */
-
- color(RED_F,WHT_B); /* Red on White */
-
- cbox(5,5,20,60,1); /* A box with a single line border */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- cbrest
- Summary:
-
- int cbrest();
-
- Created: 10/26/86 Last Updated: 10/26/86
-
- Author: Source (C/A): A
-
- Located in: CBRKTRAP.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function disables the Control-C and Control-Break trapping
- turned on by cbcapt(). While it is not always neccessary to call
- this function before exiting a program, it is a good practice.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- No return value.
-
- See Also:
-
- cbcapt()
-
- Example:
-
- main()
- {
- static int flag = 0;
- timer();
- cbcapt(&flag);
- while ( flag == 0 )
- printf("Waiting for Ctrl-Break.\n");
- printf("Control-Break detected after %ld clock ticks.\n"
- ,timer());
- cbrest();
- exit(0);
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ccenter
- Summary:
-
- int ccenter(row,string,color);
- int row; /* Row to Center String on */
- char *string; /* String to Center on Screen */
- int color; /* Color to Print String in */
-
- Created: 12/28/85 Last Updated: 12/28/85
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: CCENTER.C CENTER.OBJ
-
- Requires: gotoxy() ccputs()
-
- Description:
-
- This routine is functionaly the same as center() only that the
- line is displayed in the color specified.
-
- Compiler Specifics:
-
- CCENTER.OBJ was compiled with MSC 3.0, but there are no other
- compiler specifics involved.
-
- Return Value:
-
- Nothing is returned and there are no validity checks. Giving a
- string longer then 80 characters, or a line number less then zero
- or greater then 24 will produce an unknown result on screen,
- while it should return cleanly.
-
- See Also:
-
- center() putat() cputat()
-
- Example:
-
- #include <color.h>
-
- char *string;
- scanf("%s",string);
-
- ccenter(0,"This line is centered in color.",RED_F);
- ccenter(2,"This one is in magenta on black, as opposed to red."
- ,MAG_F);
- ccenter(3,"And yet another line, this time in green.",GRN_F);
-
- ccenter(5,string,WHT_F+BLU_B);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ccls
- Summary:
-
- #include <color.h> /* For color definitions only... */
-
- int ccls(color);
- int color; /* Color of Screen */
-
- Created: 12/28/85 Last Updated: 12/28/85
-
- Author: Bob Pritchett Source (C/A): A
-
- Located in: CCLS.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function clears the screen and sets all the attributes to
- the given color. The cursor is sent to the home position.
-
- Compiler Specifics:
-
- Has Microsoft's assembly header, otherwise none.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- cls()
-
- Example:
-
- #include <color.h>
-
- ccls(RED_F+BLU_B); /* Attributes are red on blue. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ccputs
- Summary:
-
- #include <color.h> /* Color definitions only */
-
- int ccputs(string,color);
- int string; /* String to Put */
- int color; /* Color of String */
-
- Created: 12/29/85 Last Updated: 02/24/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: CCPUTS.OBJ
-
- Requires: putchci()
-
- Description:
-
- This function puts the given string out to the current cursor
- position in the specified color, using putchci() to do BIOS
- output.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- putchci()
-
- Example:
-
- #include <color.h>
-
- ccputs("This string in red.\n",RED_F);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- center
- Summary:
-
- int center(row,string);
- int row; /* Row to Center String on */
- char *string; /* String to Center on Screen */
-
- Created: 09/ /85 Last Updated: 02/24/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: CENTER.C CENTER.OBJ
-
- Requires: gotoxy() prints()
-
- Description:
-
- This routine will simply center string on line row. An eighty
- column display is assumed, and the cursor is left at the end of
- the string.
-
- Compiler Specifics:
-
- CENTER.OBJ was compiled with MSC 3.0, but there are no other
- compiler specifics involved.
-
- Return Value:
-
- Nothing is returned and there are no validity checks. Giving a
- string longer then 80 characters, or a line number less then zero
- or greater then 24 will produce an unknown result on screen,
- while it should return cleanly.
-
- See Also:
-
- centerf() ccenter() putat() cputat()
-
- Example:
-
- #include <stdio.h>
-
- char *string;
- scanf("%s",string);
-
- center(0,"This line is centered. Centering has a slight");
- center(1,"disadvantage with constant text in that the computation is");
- center(2,"done at run-time, as opposed to using putat() with a");
- center(3,"precalculated center.");
-
- center(5,string);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- centerf
- Summary:
-
- int centerf(row,string[,arguments...]);
- int row; /* Row to Center String on */
- char *string; /* String to Center on Screen */
-
- Created: 04/13/86 Last Updated: 08/17/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: CENTERF.OBJ
-
- Requires: gotoxy() prints()
-
- Description:
-
- This routine performs the exact same function as center() with
- the exception that the string may contain formatting controls
- which are proccessed according to the same rules as printf()
- before the string is centered. Up to 15 formatting arguments may
- be used per string.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing returned, nor are coordinates checked, but be careful to
- make sure the formatted string will be less then 80 characters
- long.
-
- See Also:
-
- center() ccenter() putat() cputat()
-
- Example:
-
- #include <stdio.h>
-
- char *string;
- printf("What is your name? ");
- scanf("%s",string);
-
- centerf(4,"The answer is: %04d",243);
- centerf(7,"Hello, %s, nice to meet you.",string);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- cfield
- Summary:
-
- int cfield(chr,clr,tms);
- int chr; /* Character to Use in Field */
- int clr; /* Attribute to Use for Field */
- int tms; /* Length of the Field */
-
- Created: 09/25/86 Last Updated: 09/25/86
-
- Author: Bob Pritchett Source (C/A): A
-
- Located in: CFIELD.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This routine is a special assembly routine to create fields for
- the field input routines. Given the fill character, attribute,
- and length of the field it will create the field without moving
- the cursor. No checking of parameters is done.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing is returned.
-
- See Also:
-
- finptstr()
-
- Example:
-
- #include <color.h>
-
- cfield('*',WHT_F+BLU_B,10); /* Ten character white on */
- /* blue asterisk field. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- chk_date
- Summary:
-
- int chk_date(m,d,y);
- int m; /* Month of Date to Check */
- int d; /* Day of Date to Check */
- int y; /* Year of Date to Check */
-
- Created: 12/27/85 Last Updated: 12/27/85
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: CSRDATE.OBJ
-
- Requires: num_days()
-
- Description:
-
- This routine verifies that the day and month of the given date
- are legitimate values. The year is needed in order to check for
- leapyears.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- The function evaluates true if the date is valid, false if it is
- not.
-
- See Also:
-
- valid_date() num_days() dt_diff()
-
- Example:
-
- if ( chk_date(6,15,1500) ) /* Evaluates True */
- function();
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- chline
- Summary:
-
- int chline(x,y,y2,type);
- int x; /* Upper Left Row */
- int y; /* Upper Left Col */
- int y2; /* Lower Right Col */
- int type; /* Style of Border */
-
- Created: 03/03/86 Last Updated: 03/03/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: COUTPUT.OBJ
-
- Requires: putchci() gotoxy()
-
- Description:
-
- This function will draw a line at x,y to x,y2 using the
- character(s) specified in type. Type may be any one of the five
- types accepted by box(). Usually this function is used to draw
- lines inside boxes, as it will use the proper side characters,
- but by using an ASCII character in type an ordinary line of that
- character is drawn. The line is drawn in the current color, as
- specified by color().
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Returns a one if successful, a negative one if invalid
- coordinates are passed.
-
- See Also:
-
- cvline() whline()
-
- Example:
-
- #include <color.h> /* Just for the colors... */
-
- color(RED_F,WHT_B); /* Red on White */
-
- cbox(5,5,20,60,1); /* A box with a single line border */
-
- chline(5,7,60,1); /* Draws a line across the box */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- cls
- Summary:
-
- int cls();
-
- Created: 12/28/85 Last Updated: 08/20/86
-
- Author: Bob Pritchett Source (C/A): A
-
- Located in: CLS.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function clears the screen and sends the cursor to the home
- position using the video BIOS interrupt.
-
- Compiler Specifics:
-
- Microsoft's assembly header information.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- ccls() wcls()
-
- Example:
-
- cls();
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- color
- Summary:
-
- #include <color.h> /* For Color Definitions Only */
-
- int color(attr)
- int attr; /* Color Attributes */
-
- Created: 03/03/86 Last Updated: 08/06/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: COUTPUT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This routine sets the colors to be used in all following
- operations involving color in the windows package, unless
- otherwise specified. In version 1.0 color() required two
- arguments, the fore and background attributes. To maintain
- compatibility with other <x>color() routines, there is now only
- one argument, with the attributes added together.
-
- If color()'s argument is -1, it returns the current value for
- color operations. This is useful if you wish to write windowing
- functions that restore the current color attributes after opening
- their own windows.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- The color is returned.
-
- See Also:
-
- wcolor() mcolor()
-
- Example:
-
- #include <color.h>
-
- color(RED_F+BOLD+BLU_B); /* Bold Red on Blue. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- current_page
- Summary:
-
- int current_page();
-
- Created: 02/22/86 Last Updated: 02/24/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: CURSOR.OBJ
-
- Requires: int86()
-
- Description:
-
- This function returns the current active video page.
-
- Compiler Specifics:
-
- Compiled with MSC 3.0. Only specific is use of register
- structures of MSC and int86(). Usually needs a change like
- sysint() instead of int86(). Check section three of this manual.
-
- Return Value:
-
- Number of current video page is returned, 0-3 or 0-7, depending
- on monitor.
-
- See Also:
-
- set_page()
-
- Example:
-
- #include <stdio.h>
-
- printf("The current video display page is: %d\n",current_page());
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- cursor_off
- Summary:
-
- int cursor_off();
-
- Created: 02/22/86 Last Updated: 02/24/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: CURSOR.OBJ
-
- Requires: int86()
-
- Description:
-
- This function will turn the cursor off using the technique used
- by graphics modes in order to make it 'invisible.'
-
- Compiler Specifics:
-
- Compiled with MSC 3.0. Only specific is use of register
- structures of MSC and int86(). Usually needs a change like
- sysint() instead of int86(). Check section three of this manual.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- cursor_on()
-
- Example:
-
- cursor_off();
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- cursor_on
- Summary:
-
- int cursor_on();
-
- Created: 02/22/86 Last Updated: 05/03/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: CURSOR.OBJ
-
- Requires: int86()
-
- Description:
-
- Doing the opposite of the cursor_off() function this function
- restores the cursor and returns the shape (scan lines) to their
- default state.
-
- Compiler Specifics:
-
- Compiled with MSC 3.0. Only specific is use of register
- structures of MSC and int86(). Usually needs a change like
- sysint() instead of int86(). Check section three of this manual.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- cursor_off()
-
- Example:
-
- cursor_off();
-
- cursor_on();
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- cursor_read
- Summary:
-
- int cursor_read(row,col)
- int *row; /* Location to Store Row */
- int *col; /* Location to Store Col */
-
- Created: 02/22/86 Last Updated: 02/22/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: CURSOR.OBJ
-
- Requires: int86()
-
- Description:
-
- This funciton places the current cursor positions into row and
- col, using the video BIOS interrupt.
-
- Compiler Specifics:
-
- Compiled with MSC 3.0. Only specific is use of register
- structures of MSC and int86(). Usually needs a change like
- sysint() instead of int86(). Check section three of this manual.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- gotoxy()
-
- Example:
-
- int x;
- int y;
- cursor_read(&x,&y);
- gotoxy(x+2,y-3); /* Move diagonally down and left. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- cursor_size
- Summary:
-
- int cursor_size(start,end);
- int start; /* Starting Scan Line */
- int end; /* Ending Scan Line */
-
- Created: 02/22/86 Last Updated: 02/24/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: CURSOR.OBJ
-
- Requires: int86()
-
- Description:
-
- This funciton sets the cursor scan lines to start and finish.
- Note that specifying a larger start then finish line causes it to
- wrap around and form a two part cursor.
-
- Compiler Specifics:
-
- Compiled with MSC 3.0. Only specific is use of register
- structures of MSC and int86(). Usually needs a change like
- sysint() instead of int86(). Check section three of this manual.
-
- Return Value:
-
- None.
-
- See Also:
-
- cursor_on() cursor_off()
-
- Example:
-
- cursor_size(6,7); /* Sets cursor to two line underline */
- /* in color mode. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- cvline
- Summary:
-
- int cvline(y,x,x2,type);
- int y; /* Upper Left Col */
- int x; /* Upper Left Row */
- int x2; /* Lower Right Row */
- int type; /* Style of Border */
-
- Created: 03/03/86 Last Updated: 03/03/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: COUTPUT.OBJ
-
- Requires: putchci() gotoxy()
-
- Description:
-
- This function will draw a line at x,y to x2,y using the
- character(s) specified in type. Type may be any one of the five
- types accepted by box(). Usually this function is used to draw
- lines inside boxes, as it will use the proper top and bottom
- characters, but by using an ASCII character in type an ordinary
- line of that character is drawn. The line is drawn in the
- current color, as specified by color().
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Returns a one if successful, a negative one if invalid
- coordinates are passed.
-
- See Also:
-
- chline() wvline()
-
- Example:
-
- #include <color.h> /* Just for the colors... */
-
- color(RED_F,WHT_B); /* Red on White */
-
- cbox(5,5,20,60,1); /* A box with a single line border */
-
- cvline(7,5,20,1); /* Draws a line down the box */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- date_sn
- Summary:
-
- unsigned int date_sn(m,d,y);
- int m; /* Month */
- int d; /* Day */
- int y; /* Year */
-
- Created: 09/01/86 Last Updated: 09/01/86
-
- Author: George Roukas Source (C/A): C
-
- Located in: CSRDATE.OBJ
-
- Requires: valid_date() day_of_year() isleap()
-
- Description:
-
- This function turns the given date into a single integer serial
- number which it returns. This serial number is used by various
- other date routines and can also be used for date arithmetic.
-
- The serial number may not exceed 54788, the number of days
- between January 1, 1900, and December 31, 2049.
-
- Note that the year may be in either four or two digit form.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Returns an unsigned integer serial number.
-
- See Also:
-
- dt_diff() valid_date() sn_date()
-
- Example:
-
- int m, d, y;
-
- printf("\nEnter your birthdate: (MM/DD/YY) ");
- scanf("%d/%d/%d",m,d,y);
- printf("\nYou special serial number is %d.\n",date_sn(m,d,y));
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- day_of_year
- Summary:
-
- int date_sn(m,d,y);
- int m; /* Month */
- int d; /* Day */
- int y; /* Year */
-
- Created: 09/01/86 Last Updated: 09/01/86
-
- Author: George Roukas Source (C/A): C
-
- Located in: CSRDATE.OBJ
-
- Requires: isleap()
-
- Description:
-
- This function is similar to the day_of_year() function in K&R, pp
- 103-104, and returns the number of elapsed days in the given
- year.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Elapsed days since the beginning of the year. 1/1 = 1, 1/2 = 2,
- etc.
-
- See Also:
-
- month_day()
-
- Example:
-
- int m, d, y;
-
- printf("\nEnter your birthdate: (MM/DD/YY) ");
- scanf("%d/%d/%d",m,d,y);
- printf("\nYou were born on the %d day of the year.\n"
- ,day_of_year(m,d,y));
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- dirwin
- Summary:
-
- int dirwin(path,name);
- char *path; /* Path, With Drive */
- char *name; /* Template for File Name */
-
- Created: 04/20/86 Last Updated: 04/22/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: DIRWIN.OBJ
-
- Requires: ffirst() fnext()
-
- Description:
-
- This routine opens a window in the current colors in which the
- specified directory is displayed in four columns of nine file
- names. When a directory exceeds thirty-six file names a key
- press clears the window and displays the next thirty-six, and so
- on until the last screen is displayed, after which the window is
- closed.
-
- The pathname should include the drive letter and subdirectory
- path. If the root is being used at least the \ should be in
- path. The title used is "[ Dir: %s\\%s ]",path,name. An
- appropriate path and template might be: "A:\\","*.*".
-
- The file names are displayed once in the order they are found on
- the disk. (The same order with the DIR command at the DOS
- prompt.) The filenames are left justified in their columns with
- a dot separater between the name and extension.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
-
-
- Example:
-
- dirwin("C:\\C","*.C");
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- dma
- Summary:
-
- int dma(x);
- int x; /* Value of DMA Flag */
-
- Created: 05/24/86 Last Updated: 05/24/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: COUTPUT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This routine sets the direct memory access flag on or off. The
- flag defaults to 1, on.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Returns -1 if a value other than 1 or 0 is passed.
-
- See Also:
-
- retrace()
-
- Example:
-
- dma(0); /* Turn off Direct Memory Access */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- dt_diff
- Summary:
-
- int dt_diff(m,d,y,mn,dy,yr);
- int m; /* Month of First Date */
- int d; /* Day of First Date */
- int y; /* Year of First Date */
- int mn; /* Month of Second Date */
- int dy; /* Day of Second Date */
- int yr; /* Year of Second Date */
-
- Created: 12/27/85 Last Updated: 08/17/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: CSRDATE.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function will return the number of days difference between
- the two dates passed as parameters.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Returns the number of days difference.
-
- See Also:
-
- date_sn() sn_date() chk_date() num_days()
-
- Example:
-
- int m;
- int d;
- int y;
-
- printf("I am %d days old as of August 17th, 1986.\n"
- ,dt_diff(6,15,1971,8,17,1986));
- /* The above returns 5541. */
-
- get_date(&d,&m,&y);
-
- printf("Ronald Reagan was born %d days ago.\n"
- ,dt_diff(2,6,1911,m,d,y));
- printf("C Spot Run Version 1.0 was released %d days ago.\n"
- ,dt_diff(5,5,1986,m,d,y));
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- fchar
- Summary:
-
- int fchar(chr);
- int chr; /* Character to Use in Fields */
-
- Created: 09/25/86 Last Updated: 09/25/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: FINPUT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function sets the character to be used for the background of
- field input. The default is an ASCII space, and when chr is
- given as -1, at any time, the function will return the current
- value of the background character. Otherwise the value of chr
- will be returned.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Returns the argument, or in the case of the argument being -1,
- the current value of the background character.
-
- See Also:
-
- wfchar() fcolor() ffill() finptint() finptstr()
-
- Example:
-
- fchar('*'); /* Set background to *'s. */
-
- printf("The current background character is: %c.\n",fchar(-1));
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- fcolor
- Summary:
-
- #include <color.h> /* For Color Defintions Only */
-
- int fcolor(clr);
- int clr; /* Color to Use in Fields */
-
- Created: 09/25/86 Last Updated: 09/25/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: FINPUT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function allows specification of the color to be used in
- field input routines. If the argument clr is equal to -1 the
- current color is returned, and not changed. The default is white
- on black.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Returns the argument, or in the case of the argument being -1,
- the current value of the field color.
-
- See Also:
-
- wfcolor() fchar() ffill() finptint() finptstr()
-
- Example:
-
- #include <color.h>
-
- fcolor(BLK_F+WHT_B); /* Reverse video attribute. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ffill
- Summary:
-
- int ffill(rw,cl,mx);
- int rw; /* Row of Field */
- int cl; /* Column of Field */
- int mx; /* Length of Field */
-
- Created: 12/05/86 Last Updated: 12/05/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: FINPUT.OBJ
-
- Requires: gotoxy() cfield()
-
- Description:
-
- The actual input fields used by the input routines are created
- when the input is performed, and remain on the screen to allow
- the program to bring the user back to change the field's
- contents. This arrangement means, though, that a full screen of
- field input will not display all the actual fields until all the
- input has been performed. This function takes the three
- arguments common to any field input function call in order to
- 'draw' the fields before input is performed. The current field
- color and character attributes are used.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing is returned.
-
- See Also:
-
- wffill() fchar() fcolor() finptint() finptstr()
-
- Example:
-
- ffill(10,20,10); /* At 10,20 a 10 character field. */
-
- putat(5,10,"Num: "); /* A prompt for the next field. */
- ffill(5,15,6); /* At 5,15 a 6 character field. */
- gotoxy(5,15); /* Not needed, as ffill() leaves */
- /* the cursor at the coordinates. */
- ccputs("192",fcolor(-1)); /* Put a default value on the */
- /* screen with the field color. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ffirst
- Summary:
-
- #include <csrdos.h> /* Contains struct DIRS, for buf */
-
- int ffirst(dir,buf,template,attr);
- char *dir; /* Subdir to Use */
- char *buf; /* Location to Store Data */
- char *template; /* FileName/Template to Search for */
- int attr; /* Attribute to Include in Search */
-
- Created: 04/04/86 Last Updated: 04/15/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: DIRSRCH.OBJ
-
- Requires: intdos()
-
- Description:
-
- Using DOS 2.0 function 0x4e (2.00 and above only) this function
- begins the search for a file in the specified directory using
- either a file name or template with wildcard characters ( ? * )
- as the file to search for. The path must be a standard DOS path
- name (without file name), using two backslashes instead of one.
- If the path to search is the root, use the path string of "".
-
- The attribute specified in attr is the attribute to use in the
- search. If none is specified, then only files are reported. If
- the volume attribute is used, the volume label is returned. If
- the sub-directory attribute is specified, all files AND sub-
- directories are returned. The same applies to the hidden and
- and system attributes, but the archive and read-only attributes
- can not be used in searches.
-
- After a file is found it's data is placed in buf (consult
- CSRDOS.H for the DIRS structure). The entry type may be
- determined by & ing the returned attribute and the attribute you
- wish to test for, as in if ( buf.attr & SUBDIR ) would be true
- if the entry was a subdirectory.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Returns the value of the AX register, 2 for file not found, and
- 18 for no more files to be found.
-
- See Also:
-
- fnext()
-
-
-
-
-
-
-
-
-
-
-
-
- ffirst
-
-
-
-
- Example:
-
- #include <csrdos.h>
-
- struct DIRS buf;
-
- ffirst("",&buf,"*.SYS",0); /* Find first .SYS file in root. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- fnext
- Summary:
-
- #include <csrdos.h> /* Contains struct DIRS, for buf */
-
- int fnext(dir,buf,template,attr);
- char *dir; /* Subdir to Use */
- char *buf; /* Location to Store Data */
- char *template; /* FileName/Template to Search for */
- int attr; /* Attribute to Include in Search */
-
- Created: 04/04/86 Last Updated: 04/15/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: DIRSRCH.OBJ
-
- Requires: intdos()
-
- Description:
-
- Using DOS 2.0 function 0x4f (2.00 and above only) this function
- continues the search begun with ffirst(). This function is
- dependant upon information left in the first 21 bytes of the
- buffer used in ffirst, so use the same buffer, or begin a new
- sequence with ffirst().
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Returns the value of the AX register, 18 for no more files to be
- found, or nothing.
-
- See Also:
-
- ffirst().
-
- Example:
-
- #include <csrdos.h>
-
- int x;
- struct DIRS buf;
-
- ffirst("",&buf,"*.SYS",0); /* Find first .SYS file in root. */
-
- while ( x != 18 )
- {
- printf("%s %ld\n",buf.name,buf.size); /* Print name & size. */
- x = fnext("",&buf,"*.SYS",0); /* Find next entry. */
- }
-
-
-
-
-
-
-
-
-
-
-
-
- finptint
- Summary:
-
- int finptint(rw,cl,mx,x);
- int rw; /* Row of Field */
- int cl; /* Column of Field */
- int mx; /* Length of Field */
- int *x; /* Where to Put Result */
-
- Created: 09/25/86 Last Updated: 09/25/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: FINPUT.OBJ
-
- Requires: gotoxy() cfield()
-
- Description:
-
- This function will draw the field as specified by the first three
- arguments, and place the cursor at the first character of this
- field. (See ffill() about drawing the field.) It will then wait
- for the user to input an integer number with no more than mx
- characters. The funtion will not allow the user to move on
- without entering an integer.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- The integer inputted is returned.
-
- See Also:
-
- inptint() finptintd() wfinptint() ffill() finptstr()
-
- Example:
-
- int x;
-
- putat(5,10,"Num: "); /* A prompt for the next field. */
- finptint(5,15,6,&x); /* At 5,15 a 6 character input. */
-
- printf("\n\n%d was the input.\n",x);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- finptintd
- Summary:
-
- int finptintd(rw,cl,mx,x,d);
- int rw; /* Row of Field */
- int cl; /* Column of Field */
- int mx; /* Length of Field */
- int *x; /* Where to Put Result */
- int d; /* Default Integer */
-
- Created: 09/25/86 Last Updated: 09/25/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: FINPUT.OBJ
-
- Requires: gotoxy() cfield()
-
- Description:
-
- This function will behave just as does finptint() with the
- exception that a carriage return as the first inputted character
- will cause the default variable to be returned. Any other
- character as the first input will cause the default to be erased
- to be replaced by the user input.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- The integer inputted is returned, or, in the case of a carriage
- return, the default.
-
- See Also:
-
- inptintd() finptint() wfinptintd() ffill() finptstr()
-
- Example:
-
- int x;
-
- putat(5,10,"Num: "); /* A prompt for the next field. */
- finptintd(5,15,4,&x,37); /* At 5,15 a 4 character input. */
-
- if ( x == 37 )
- printf("\n\nThe default, 37, was returned.\n");
- else
- printf("\n\n%d was the input.\n",x);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- finptintr
- Summary:
-
- int finptintr(rw,cl,mx,x,lw,hg);
- int rw; /* Row of Field */
- int cl; /* Column of Field */
- int mx; /* Length of Field */
- int *x; /* Where to Put Result */
- int lw; /* Minimum Acceptable Value */
- int hg; /* Maximum Acceptable Value */
-
- Created: 09/25/86 Last Updated: 09/25/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: FINPUT.OBJ
-
- Requires: finptint()
-
- Description:
-
- This function waits for a user inputted integer in the displayed
- field. A beep will sound and a new integer waited for if there
- is no input or the inputted integer is not within the specified
- range.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- The inputted integer, within the range, is returned.
-
- See Also:
-
- inptintr() finptint() wfinptintd() ffill() finptstr()
- finptintrd()
-
- Example:
-
- int x;
-
- putat(5,10,"Num: "); /* A prompt for the next field. */
- finptintr(5,15,4,&x,3,10); /* At 5,15 a 4 character input */
- /* greater than 2 and less than */
- /* ten. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- finptintrd
- Summary:
-
- int finptintrd(rw,cl,mx,x,lw,hg,d);
- int rw; /* Row of Field */
- int cl; /* Column of Field */
- int mx; /* Length of Field */
- int *x; /* Where to Put Result */
- int lw; /* Minimum Acceptable Value */
- int hg; /* Maximum Acceptable Value */
- int d; /* Default Value */
-
- Created: 09/25/86 Last Updated: 09/25/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: FINPUT.OBJ
-
- Requires: finptintd()
-
- Description:
-
- This function behaves as do finptintr() and finptintd(),
- combined. However no check is made to see that the default value
- is within the given range. If it is not, it will not be
- returnable.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- The inputted integer, within the range, is returned, or, in the
- case of a carriage return as the first inputted character, the
- default value.
-
- See Also:
-
- inptintr() finptint() wfinptintd() ffill() finptstr()
- finptintr()
-
- Example:
-
- int x;
-
- putat(5,10,"Num: "); /* A prompt for the next field. */
- finptintrd(5,15,4,&x,3,10,5);/* At 5,15 a 4 character input */
- /* greater than 2 and less than */
- /* ten, or 5. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- finptstr
- Summary:
-
- int finptstr(rw,cl,mx,str);
- int rw; /* Row of Field */
- int cl; /* Column of Field */
- int mx; /* Length of Field */
- char *str; /* Where to Place Input */
-
- Created: 09/25/86 Last Updated: 09/25/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: FINPUT.OBJ
-
- Requires: gotoxy() cfield()
-
- Description:
-
- This function displays the field and waits for a string to be
- inputted by the user. In the case that no input is made a beep
- is sounded and the function continues to wait until a string is
- inputted. When it is, it is placed in the variable specified,
- str.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- A pointer to a duplicate of the inputted string is returned, via
- strdup().
-
- See Also:
-
- inptintr() finptint() wfinptintd() ffill() finptstr()
- finptstrd()
-
- Example:
-
- char temp[80];
-
- finptstr(10,10,25,temp);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- finptstrd
- Summary:
-
- int finptstrd(rw,cl,mx,str,def);
- int rw; /* Row of Field */
- int cl; /* Column of Field */
- int mx; /* Length of Field */
- char *str; /* Where to Place Input */
- char *def; /* Default String */
-
- Created: 09/25/86 Last Updated: 09/25/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: FINPUT.OBJ
-
- Requires: gotoxy() cfield()
-
- Description:
-
- This function behaves as does finptstr() with the exception that
- the specified default string is displayed and will be returned as
- the input in the case of a carriage return as the first character
- entered.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- A pointer to a duplicate of the inputted string, or the default,
- is returned, via strdup().
-
- See Also:
-
- inptintr() finptint() wfinptintd() ffill() finptstr()
- finptstre()
-
- Example:
-
- char temp[80];
-
- finptstrd(10,10,25,temp,"C Spot Run");
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- finptstre
- Summary:
-
- int finptstre(rw,cl,mx,str);
- int rw; /* Row of Field */
- int cl; /* Column of Field */
- int mx; /* Length of Field */
- char *str; /* Where to Place Input */
-
- Created: 10/18/86 Last Updated: 10/18/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: FINPUT.OBJ
-
- Requires: finptstred()
-
- Description:
-
- This function calls finptstred() with a NULL string for a
- default and will not return until input has been made.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing is returned.
-
- See Also:
-
- inptstr() finptint() wfinptintd() ffill() finptstr()
- finptstred() finptstr()
-
- Example:
-
- char temp[80];
-
- finptstre(10,10,25,temp);
-
- printf("temp contains: >%s<\n");
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- finptstred
- Summary:
-
- int finptstred(rw,cl,mx,str,def);
- int rw; /* Row of Field */
- int cl; /* Column of Field */
- int mx; /* Length of Field */
- char *str; /* Where to Place Input */
- char *def; /* Default String */
-
- Created: 10/18/86 Last Updated: 10/18/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: FINPUT.OBJ
-
- Requires: gotoxy() cfield()
-
- Description:
-
- This powerful function displays the field specified and places
- the default string within it, and the cursor at the first
- character of this string. The default string may be returned
- with a carriage return as the first character, it may be editted
- with the left and right arrow keys and ins and del, the field may
- be erased with the Alt-X combination, and the default input can
- be restored with the Alt-D combination. Editting is performed
- with the ins and del keys in combination with movement by the
- left and right arrow keys. The insert key will toggle insert
- 'mode' on and off, although the cursor will not reflect the mode
- change. When in insert mode all characters to the right of the
- cursor will move right (and possibly scroll out of the field)
- when characters are inputted. The del key will erase the
- character the cursor rests on and move everything to the right of
- the cursor left one space. In order to allow for design of full
- input screens the function will return with the input in the
- appropriate location and the value of the key as the return value
- if one of several extended function keys is entered. These
- special keys are any use of a function key or keys, other than
- left and right arrows, on the numeric keypad. (Home, up, down,
- end, PgUp, PgDn.) (NOTE: Steps were taken to make this function
- as flexible as possible. However, in most cases requiring
- complicated input the peculiarities of this and related functions
- will damage their usefullness. If you need to make use of this
- type of function in an 'error proof' application it is
- recommended that you contact the author about getting a special
- routine or the source code to this one.)
-
- Compiler Specifics:
-
- None.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- finptstred
-
-
- Return Value:
-
- A one is returned unless input was terminated by a special key,
- in which case its value will be returned. (Special keys return a
- null followed by an integer. The integer is returned here.)
-
- See Also:
-
- inptstr() finptint() wfinptintd() ffill() finptstr()
- finptstred()
-
- Example:
-
- char temp[80];
- int x;
-
- x = finptstred(10,10,25,temp,"C Spot Run");
-
- if ( x != 1 ) /* Special Value */
- proccess(x); /* Proccess Key */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- finptyn
- Summary:
-
- int finptyn(rw,cl);
- int rw; /* Row of Field */
- int cl; /* Column of Field */
-
- Created: 09/25/86 Last Updated: 09/25/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: FINPUT.OBJ
-
- Requires: gotoxy() cfield()
-
- Description:
-
- This function displays a three character field at the given
- coordinates and waits for either a 'Y' or an 'N' (upper or lower
- case) to be inputted. Any other character will cause the
- function to sound a beep and continue to wait. When a valid
- character is inputted the full word will be displayed in the
- field and either a one or zero returned, for 'Y' or 'N',
- respectively.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- A one or a zero for a 'Y' or an 'N'.
-
- See Also:
-
- inptyn() finptint() wfinptintd() ffill() finptstr() finptynd()
-
- Example:
-
- char temp[80];
-
- finptyn(10,10);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- finptynd
- Summary:
-
- int finptynd(rw,cl,def);
- int rw; /* Row of Field */
- int cl; /* Column of Field */
- int def; /* Default Input */
-
- Created: 09/25/86 Last Updated: 09/25/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: FINPUT.OBJ
-
- Requires: gotoxy() cfield()
-
- Description:
-
- This function behaves exactly as finptyn() with the exception
- that the default input is displayed and will be returned if a
- carriage return is entered instead of a 'Y' or 'N'. The default
- value needs to be in the format of the return value, a one or
- zero.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- A one or a zero for a 'Y' or an 'N', or whatever the default was.
-
- See Also:
-
- inptynd() finptint() wfinptintd() ffill() finptstr() finptyn()
-
- Example:
-
- char temp[80];
-
- finptynd(10,10,0); /* Default to no. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- fixcolor
- Summary:
-
- int fixcolor(atrib);
- int *attr; /* Attribute to Check/Modify */
-
- Created: 12/12/86 Last Updated: 12/13/86
-
- Author: Source (C/A): C
-
- Located in: COUTPUT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function will, when a monochrome card, or the CGA's black
- and white mode, is currently in use, modify the attribute in
- order to make it compatible with monochrome attribute set. This
- routine is used internally by the windowing functions.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- color() wcolor()
-
- Example:
-
- #include <color.h>
-
- int x;
- int y;
-
- x = WHT_F+BLU_B;
- y = RED_F+WHT_B;
-
- fixcolor(&x); /* Modify the attribute if neccessary. * /
- fixcolor(&y);
-
- /* On a monochrome card x is now equivalent to WHT_F+BLK_B, */
- /* and y to BLK_F+WHT_B. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- gback
- Summary:
-
- int gback(clr);
- int clr; /* Color for Background */
-
- Created: 10/31/86 Last Updated: 10/31/86
-
- Author: Bob Pritchett Source (C/A): A
-
- Located in: GBACK.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This routine initializes the graphics screen to the specified
- color, one of the palette colors in the description of gpal().
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- ginit() gline() gdot() gpal()
-
- Example:
-
- ginit();
- gpal(0);
- gback(1); /* Background to Green */
-
- gdot(10,10,2); /* Red Dot at 10,10 */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- gbox
- Summary:
-
- int gbox(x,y,x2,y2,clr);
- int x; /* Upper Left Row */
- int y; /* Upper Left Column */
- int x2; /* Lower Right Row */
- int y2; /* Lower Right Column */
- int clr; /* Color for Box */
-
- Created: 11/01/86 Last Updated: 11/01/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: GBOX.OBJ
-
- Requires: gline()
-
- Description:
-
- This function draws a box with the coordinates given in the given
- color. See gpal() and ginit() for information on valid values.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- ginit() gline() gfbox() gpal()
-
- Example:
-
- ginit();
- gpal(0);
- gback(2); /* Background to Red */
-
- gbox(10,10,20,20,1); /* Green Box at 10,10 */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- gcircle
- Summary:
-
- int gcircle(x,y,r,clr);
- int x; /* Row of Center */
- int y; /* Column of Center */
- int r; /* Radius of Circle */
- int clr; /* Color for Box */
-
- Created: 10/31/86 Last Updated: 10/31/86
-
- Author: Source (C/A): C
-
- Located in: GCIRCLE.OBJ
-
- Requires: gdot()
-
- Description:
-
- This routine draws a circle at the given row and column in the
- specified color with the given radius. This routine assumes an
- aspect ratio of 1, and consequently will generate slightly
- eliptical circles on an IBM PC.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- ginit() gline() gdot() gpal()
-
- Example:
-
- ginit();
- gpal(0);
- gback(2); /* Background to Red */
-
- gcircle(100,150,10,1); /* Green Circle with radius of 10. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- gdot
- Summary:
-
- int gdot(x,y,clr);
- int x; /* Row */
- int y; /* Column */
- int clr; /* Color */
-
- Created: 10/31/86 Last Updated: 10/31/86
-
- Author: Bob Pritchett Source (C/A): A
-
- Located in: GDOT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function puts a graphic dot at the row and column specified.
- The color may be 0-3 in medium resulution, or 0-1 in high. See
- the descriptions of gpal() and ginit() for a list of colors and
- maximum coordinate values.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- ginit() gline() gback() gpal()
-
- Example:
-
- ginit();
- gpal(0);
-
- gdot(10,10,2);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- get_date
- Summary:
-
- int get_date(dy,mn,yr);
- int *dy; /* Location of Day */
- int *mn; /* Location of Month */
- int *yr; /* Location of Year */
-
- Created: 03/31/86 Last Updated: 03/31/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: GET_DATE.OBJ
-
- Requires: intdos()
-
- Description:
-
- This routine obtains the current date by using the DOS interrupt
- 0x2a, and places it into the variables specified. The day starts
- with numbering with 1, and continue to a maximum of 31, the month
- is numbered from 1 to 12, and the year is from 1980 to 2099.
-
- Compiler Specifics:
-
- Compiled with MSC 3.0, uses the dosint() function and register
- unions specified in DOS.H.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- get_dow() set_date() get_time()
-
- Example:
-
- int d;
- int m;
- int y;
-
- get_date(&d,&m,&y);
-
- printf("Today is %d/%d/%d.\n",m,d,y);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- get_dow
- Summary:
-
- int get_dow();
-
- Created: 03/31/86 Last Updated: 03/31/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: GET_DOW.OBJ
-
- Requires: intdos()
-
- Description:
-
- This routine returns the day of the week, 0 for sunday, 1 for
- monday, etc. It is obtained with a DOS interrupt.
-
- Compiler Specifics:
-
- Compiled with MSC 3.0, uses the dosint() function and register
- unions specified in DOS.H.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- get_date() get_time()
-
- Example:
-
- printf("Today is the %d day of the week.\n",get_dow());
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- get_drive
- Summary:
-
- int get_drive();
-
- Created: 04/04/86 Last Updated: 04/04/86
-
- Author: Bob Pritchett Source (C/A): A
-
- Located in: GETDRIVE.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function returns a single integer representing the current
- logical drive. The drives are number from 0, as in 0 = A, 1 = B,
- 2 = C, etc. Remember that even with only one floppy, DOS will
- still have an A and B drive, with the single floppy acting as
- both.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- The current drive.
-
- See Also:
-
- set_drive() num_drives()
-
- Example:
-
- printf("Current Drive is: %c:\n",'A'+get_drive());
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- get_mode
- Summary:
-
- int get_mode();
-
- Created: 04/16/86 Last Updated: 08/06/86
-
- Author: Bob Pritchett Source (C/A): A
-
- Located in: GETMODE.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function returns the current video mode.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- The current video mode.
-
- See Also:
-
- set_mode()
-
- Example:
-
- #include <stdio.h>
-
- printf("Current video mode is: %d\n",get_mode());
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- getpw
- Summary:
-
- int getpw(pass);
- char *pass; /* The Password to Check Against */
-
- Created: 04/13/86 Last Updated: 08/08/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: GETPW.OBJ
-
- Requires: Windowing routines and getch().
-
- Description:
-
- This function opens a small blue and white window in the center
- of the screen and inputs a password up to eighteen characters
- long. As each character is inputed an asterisk is echoed.
- Backspace editing is permitted. If the entered password is equal
- to the specified password (case ignored) the funtion returns a
- one, otherwise it returns a 0 on failure.
-
- Compiler Specifics:
-
- Uses MSC's getch().
-
- Return Value:
-
- 1 if the correct password is entered, 0 if not.
-
- See Also:
-
-
-
- Example:
-
- if ( getpw("pass") == 0 )
- printf("** Access Denied **\n");
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- get_time
- Summary:
-
- int get_time(hr,mn,sc,hn);
- int *hr; /* Location of Hour */
- int *mn; /* Location of Minutes */
- int *sc; /* Location of Seconds */
- int *hn; /* Location of Hundredths */
-
- Created: 03/31/86 Last Updated: 03/31/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: GET_TIME.OBJ
-
- Requires: intdos()
-
- Description:
-
- Using DOS interrupt 0x2c this routine obtains the current time,
- to the hundredths, and places it in the variables specified. The
- time is given in 24 hour format, and everything starts counting
- at 0, 0 to 23 hours, 0 to 59 seconds etc.
-
- Compiler Specifics:
-
- Compiled with MSC 3.0, uses the dosint() function and register
- unions specified in DOS.H.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- get_dow() get_date() set_time()
-
- Example:
-
- int h;
- int m;
- int s;
- int hn;
-
- get_time(&h,&m,&s,&hn);
-
- printf("The time is %d:%d:%d.%d.\n",h,m,s,hn);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- get_timer
- Summary:
-
- long get_timer();
-
- Created: 01/03/87 Last Updated: 01/03/87
-
- Author: Dave Perras Source (C/A): C
-
- Located in: TIMERS.C TIMERS.OBJ
-
- Requires: int86()
-
- Description:
-
- This function is used by the other timer routines in order to get
- the value of the real time clock. All DOS and compiler specifics
- concerning the timer routines are contained in this routine.
-
- Compiler Specifics:
-
- This function uses the int86() function and may need to be
- modified for some compilers.
-
- Return Value:
-
- A long value is returned holding the number of clock ticks from
- the real time clock counter.
-
- See Also:
-
- start_tmr() stop_tmr() read_tmr() reset_tmr() zero_tmr() timer()
- init_tmr()
-
- Example:
-
- long ltime;
-
- ltime = get_timer();
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- gfbox
- Summary:
-
- int gfbox(x,y,x2,y2,clr);
- int x; /* Upper Left Row */
- int y; /* Upper Left Column */
- int x2; /* Lower Right Row */
- int y2; /* Lower Right Column */
- int clr; /* Color for Box */
-
- Created: 11/01/86 Last Updated: 11/01/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: GFBOX.OBJ
-
- Requires: gline()
-
- Description:
-
- This function is identical to gbox() with the exception that the
- box created is filled in with the specified color.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- ginit() gline() gpal() gbox()
-
- Example:
-
- ginit();
- gpal(0);
- gback(2); /* Background to Red */
-
- gfbox(10,10,20,20,1); /* Solid Green Box at 10,10 */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ginit
- Summary:
-
- int ginit();
-
- Created: 10/31/86 Last Updated: 10/31/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: GINIT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function sets up the screen on a CGA for medium resolution
- graphics. It is the exact equivalent of set_mode(4). To set up
- for high resolution graphics, use the command set_mode(6) instead
- of ginit().
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- set_mode() gback() gdot() gpal()
-
- Example:
-
- ginit(); /* Medium Resolution Screen */
- gpal(0);
- gback(2); /* Background to Red */
-
- gcircle(100,150,10,1); /* Green Circle with radius of 10. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- gline
- Summary:
-
- int gline(x,y,x2,y2,clr);
- int x; /* Starting Row */
- int y; /* Starting Column */
- int x2; /* Ending Row */
- int y2; /* Ending Column */
- int clr; /* Color of Line */
-
- Created: / / Last Updated: / /
-
- Author: Dan Rollins Source (C/A): C
-
- Located in: GLINE.OBJ
-
- Requires: gdot()
-
- Description:
-
- This routine, found in the Febuary, 1986, Dr. Dobb's Journal,
- plots a line from the first to the second set of coordinates.
- The first set of coordinates needn't be lower than the second.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- gcircle() gback() gdot() gpal()
-
- Example:
-
- ginit(); /* Medium Resolution Screen */
- gpal(0);
- gback(2); /* Background to Red */
-
- gline(10,10,50,50,1); /* A Diagonal Green Line */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- gotoxy
- Summary:
-
- int gotoxy(row,col);
- int row; /* Screen Row */
- int col; /* Screen Column */
-
- Created: 00/00/00 Last Updated: 08/20/86
-
- Author: Source (C/A): A
-
- Located in: GOTOXY.OBJ
-
- Requires: Nothing
-
- Description:
-
- The gotoxy function will set the cursor to the screen coordinates
- specified in row and col, regardless of windows or other high-
- level screen manipulation.
-
- Service two of the bios video interrupt 0x10 is used.
-
- Compiler Specifics:
-
- Assembled with calling sequence for MSC 3.0 and Lattice. Other
- compilers not yet tested. Standard Microsoft OBJ format.
-
- Return Value:
-
- This routine returns nothing, and does not check coordinate
- validity.
-
- See Also:
-
- wgotoxy()
-
- Example:
-
- #include <stdio.h>
-
- int row;
- int col;
-
- row = 10;
- col = 20;
-
- gotoxy(row,col);
-
- printf("I am now at Column 20 on Row 10.\n");
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- gpal
- Summary:
-
- int gpal(palette);
- int palette; /* Color Palette to Use */
-
- Created: 10/31/86 Last Updated: 10/31/86
-
- Author: Bob Pritchett Source (C/A): A
-
- Located in: GPAL.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This routine sets the current color palette for use in medium
- resolution graphics. (In high resolution graphics the only
- choices are on one palette, 0 for black, 1 for white.)
-
- Palette 0: Palette 1:
- (0) Background Color (0) Background Color
- (1) Green (1) Cyan
- (2) Red (2) Magenta
- (3) Brown (3) White
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- ginit() gback() gdot()
-
- Example:
-
- ginit(); /* Medium Resolution Screen */
- gpal(0);
- gback(2); /* Background to Red */
-
- gline(10,10,50,50,3); /* A Diagonal Brown Line */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- init_tmr
- Summary:
-
- void init_tmr();
-
- Created: 01/03/87 Last Updated: 01/03/87
-
- Author: Dave Perras Source (C/A): C
-
- Located in: TIMERS.C TIMERS.OBJ
-
- Requires: get_timer()
-
- Description:
-
- This function must be called before any of the other timer
- functions are called. It tests the real time clock to ensure
- that it is operating, clears the ten timers to zero and sets an
- internal flag to show that the timers have been initialized.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- This function returns the elapsed time (in tenths of seconds) for
- 16000 iterations of an empty "for" loop. If the real time clock
- is diagnosed as not working, and error value of zero is returned.
-
- See Also:
-
- start_tmr() stop_tmr() read_tmr() reset_tmr() zero_tmr()
- get_timer()
-
- Example:
-
- #include <stdio.h>
-
- if ( ! init_tmr() )
- fprintf(stderr,"Real Time Clock Error\n");
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- inptint
- Summary:
-
- int inptint(prompt);
- char *prompt; /* Prompt for Input */
-
- Created: 08/16/86 Last Updated: 08/16/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: INPUT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function displays the prompt given at the current cursor
- location using stdout and then inputs an integer. After a
- carriage return (with mandatory input of an integer) the value
- entered is returned.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- The integer inputted.
-
- See Also:
-
- inptintd() inptintr() inptintrd()
-
- Example:
-
- printf("inptint() returns: %d.\n",inptint("Enter Integer:"));
-
- /* The above function prompts "Enter Integer: " and then */
- /* executes the printf statement. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- inptintd
- Summary:
-
- int inptintd(prompt,def);
- char *prompt; /* Prompt for Input */
- int def; /* Default Integer */
-
- Created: 08/16/86 Last Updated: 08/16/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: INPUT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function displays the prompt given followed by the default
- integer. If a carriage return is entered as the first character
- the default integer will be returned. If any other valid
- character is entered the default will be erased and the user may
- enter an integer value.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- The integer inputted, or the default.
-
- See Also:
-
- inptint() inptintr() inptintrd()
-
- Example:
-
- printf("inptintd() returns: %d.\n",inptintd("Enter Integer:",9));
-
- /* The above function prompts "Enter Integer: " and then */
- /* executes the printf statement. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- inptintr
- Summary:
-
- int inptintr(prompt,low,high);
- char *prompt; /* Prompt for Input */
- int low; /* Lowest Acceptable Input */
- int high; /* Highest Acceptable Input */
-
- Created: 08/16/86 Last Updated: 08/16/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: INPUT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- After displaying the prompt specified this function will input
- and integer in the same manner as inptint(), only checking to
- make sure that the value inputted is within the range given. If
- it is not equal to or within this range the function will prompt
- for another integer until a valid one is entered.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- The integer inputted, within the specified range.
-
- See Also:
-
- inptint() inptintd() inptintrd()
-
- Example:
-
- printf("inptintr() returns: %d.\n",inptintr("Enter Integer:"
- ,5,62));
-
- /* The above function prompts "Enter Integer: " and then */
- /* executes the printf statement. The returned value */
- /* will be greater than 4 and less than 63. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- inptintrd
- Summary:
-
- int inptintrd(prompt,low,high,def);
- char *prompt; /* Prompt for Input */
- int low; /* Lowest Acceptable Input */
- int high; /* Highest Acceptable Input */
- int def; /* Default Value */
-
- Created: 08/16/86 Last Updated: 08/16/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: INPUT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function displays the default integer value after the prompt
- and then returns either the default integer or a user inputted
- value within the specified range. The input follows the same
- rules as inptintd() and inptintr().
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- The integer inputted, or the default, within the specified range.
-
- See Also:
-
- inptint() inptintd() inptintr()
-
- Example:
-
- printf("inptintrd() returns: %d.\n",inptintrd("Enter Integer:"
- ,8,50,30));
-
- /* The above function prompts "Enter Integer: 30" and */
- /* then executes the printf statement. The returned */
- /* value will be greater than 7 and less than 51. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- inptstr
- Summary:
-
- char *inptstr(prompt);
- char *prompt; /* Prompt for Input */
-
- Created: 08/25/86 Last Updated: 08/25/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: INPUT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- After displaying the given prompt this function waits for an
- input string. Nothing longer than 80 characters will be handled
- correctly, and the routine will beep at a carriage return in the
- first column, making some input mandatory. For functions with
- more control over input parameters, see inptstrd() and finptstr()
- and related routines.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- The character string inputted.
-
- See Also:
-
- inptstrd() finptstr() finptstrd() finptstre() finptstred()
-
- Example:
-
- printf("Hello there, %s.\n",inptstr("Your name?"));
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- inptstrd
- Summary:
-
- char *inptstrd(prompt,def);
- char *prompt; /* Prompt for Input */
- char *def; /* Default String */
-
- Created: 08/25/86 Last Updated: 08/25/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: INPUT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function acts in the same manner as inptstr() with the
- exception that a default string may be specified, and at the
- choice of the user this string may be returned instead of a user
- entered string. When the function is called the default string
- is displayed immediately following the prompt, and the cursor is
- placed at the first character of the string. If a carriage
- return is entered as the first inputted character, the default
- string is returned. Any other key causes the default string to
- be erased and a user entered string may be inputted.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- The character string inputted, or the default string.
-
- See Also:
-
- inptstr() finptstr() finptstrd() finptstre() finptstred()
-
- Example:
-
- printf("Hello there, %s.\n",inptstrd("Your name?","Richard"));
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- inptyn
- Summary:
-
- char *inptyn(prompt);
- char *prompt; /* Prompt for Input */
-
- Created: 08/16/86 Last Updated: 08/16/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: INPUT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function displays the given prompt and then waits for either
- a Y or an N in reply. A single character is all that is
- inputted, and a Y or N must be entered. If a Y is entered a one
- is returned, if an N is entered a zero is returned.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- A one or zero, dependent on the inputted character.
-
- See Also:
-
- inptynd() finptyn() finptynd();
-
- Example:
-
- if ( inptyn("Do you program microcomputers?") )
- printf("Oh, you do.");
-
- /* Prompts 'Do you program microcomputers? (Y/N) ' */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- inptynd
- Summary:
-
- char *inptynd(prompt,x);
- char *prompt; /* Prompt for Input */
- int x; /* Default Answer */
-
- Created: 08/16/86 Last Updated: 08/16/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: INPUT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function works just like inptyn() except that the default
- response is the uppercase letter in the prompt which will be
- returned if a carriage return is entered instead of a Y or N.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- A one or zero, dependent on the inputted character, or the
- default.
-
- See Also:
-
- inptyn() finptyn() finptynd();
-
- Example:
-
- if ( inptyn("Do you program microcomputers?",1) )
- printf("Oh, you do.");
-
- /* Prompts 'Do you program microcomputers? (Y/n) ' */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- isleap
- Summary:
-
- int isleap(y);
- int y; /* Year */
-
- Created: 09/01/86 Last Updated: 09/01/86
-
- Author: George Roukas Source (C/A): C
-
- Located in: CSRDATE.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function will tell if the specified year (four or two digit
- format) is a leap year.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Returns a one if it is a leap year, zero if it is not.
-
- See Also:
-
-
-
- Example:
-
- int x = 1986;
-
- if ( isleap(x) )
- printf("%d is a leap year.\n");
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- iswild
- Summary:
-
- #include <csrmisc.h> /* Header File Containing the Macro */
-
- int iswild(c);
- int c; /* Character to Test */
-
- Created: 12/05/86 Last Updated: 12/05/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: CSRMISC.H
-
- Requires: Nothing.
-
- Description:
-
- This macro evaluates positive if the given character is a '?' or
- an '*'.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Acts positive if the character is a wildcard, negative if not.
-
- See Also:
-
- istemplate()
-
- Example:
-
- if ( iswild('?') )
- printf("This character is a wild card.\n");
-
- /* The printf statement is executed. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- istemplate
- Summary:
-
- int istemplate(str);
- char *str; /* String to Evaluate */
-
- Created: 12/05/86 Last Updated: 12/05/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: WILDCARD.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function returns a one if a wildcard is encountered within
- the given string. By using this function it can be determined
- whether a file may be opened or if the string should be passed to
- the ffirst() and fnext() routines.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Returns a one if a wildcard is encountered, zero if not.
-
- See Also:
-
- iswild()
-
- Example:
-
- if ( istemplate("file*.e?w") )
- printf("The filename given is a template.\n");
-
- /* The printf statement is executed. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- itofa
- Summary:
-
- int itofa(x,str);
- int x; /* Integer to Format */
- char *str; /* Location to Place String */
-
- Created: 11/07/85 Last Updated: 11/07/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: IOTFA.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function takes an integer and returns a string with that
- integer formatted with commas. The string is placed in str and a
- pointer is returned to it.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Returns a pointer to the formatted string.
-
- See Also:
-
- ltofa()
-
- Example:
-
- int x = 12526;
- char temp[10];
-
- printf("There are %s people in this county.\n",itofa(x,temp));
-
- /* Returns "12,526". */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- lprint
- Summary:
-
- int lprint(string);
- char *string; /* String to Print */
-
- Created: 03/10/86 Last Updated: 03/11/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: PRINT.OBJ
-
- Requires: lputchar()
-
- Description:
-
- This function simply prints the string to the printer. Nothing
- other then the standard escape codes are recognized.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- wprint()
-
- Example:
-
- lprint("This string has no formatting at all.\n");
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- lprintf
- Summary:
-
- int lprintf(string[,arguments...]);
- char *string; /* Format String to Print */
-
- Created: 03/10/86 Last Updated: 08/17/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: PRINT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function is a version of the familiar printf() function that
- prints directly to the printer. (Note that DOS function 5 is
- used, it is not done through file pointers.) The argument
- formatting should be in the same format as for printf().
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- wprintf()
-
- Example:
-
- lprintf("This goes to the printer: %02d %5s\n",6,"Wow");
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- lputchar
- Summary:
-
- int lputchar(c);
- int c; /* Character to Print */
-
- Created: 03/10/86 Last Updated: 03/11/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: PRINT.OBJ
-
- Requires: bdos()
-
- Description:
-
- Using the bdos call five this routine simply puts the character c
- to the printer. It is called by lprint().
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- lprint() lprintf()
-
- Example:
-
- lputchar('\r');
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ltofa
- Summary:
-
- int ltofa(x,str);
- long x; /* Long to Format */
- char *str; /* Location to Place String */
-
- Created: 11/07/85 Last Updated: 11/07/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: LOTFA.OBJ
-
- Requires: Nothing.
-
- Description:
-
- Performing just like itofa(), this function formats the given
- number into an ASCII string with commas.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Returns a pointer to the formatted string.
-
- See Also:
-
- itofa()
-
- Example:
-
- long x = 2364736;
- char temp[15];
-
- printf("There are %s apples in this county.\n",ltofa(x,temp));
-
- /* Returns "2,364,736". */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- match
- Summary:
-
- int match(pat,str,start);
- char pat[]; /* Pattern to Search for */
- char str[]; /* String to Search in */
- int start; /* Character to Start on */
-
- Created: 11/23/85 Last Updated: 11/23/85
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: MATCH.OBJ
-
- Requires: strlen()
-
- Description:
-
- The match() function searches the string str for the string pat,
- and returns an integer value of the first place pat is found
- within str. By changing the variable start from it's normal
- useage as 0, you may begin the search from a certain place in
- str. The following wildcards are acceptable within pat:
-
- # Any digit from 1-9, and 0
- ? Any character at all
- ! Any upper-case letter
- ^ Any control character
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Returns the first place that pat is found within str.
-
- See Also:
-
-
- Example:
-
- x = match("a?c","xyzabc",0); /* x = 3, where abc begins. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- mcolor
- Summary:
-
- #include <color.h> /* For Color Definitions Only */
-
- int mcolor(norm,bar);
- int norm; /* Color Used for Menu Options */
- int bar; /* Color for Hightlight Bar */
-
- Created: 04/16/86 Last Updated: 04/16/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: COUTPUT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function sets the colors to be used by pop_menu() and it's
- scrolling highlight bar. The variable norm contains the complete
- attribute for each option, and bar for the highlight bar.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- color() wcolor()
-
- Example:
-
- #include <color.h>
-
- mcolor(WHT_F+BLU_B,YEL_F+RED_B);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- message
- Summary:
-
- int message(mess,x);
- char *mess; /* Message to Display */
- int x; /* Flag for Window Message */
-
- Created: 08/09/86 Last Updated: 08/09/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: MESSAGE.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function opens a small window in the current color and
- displays the string specified in mess. If the variable x is set
- to one, the message "[ Hit a Key ]" is displayed on the bottom of
- the window. A single keystroke closes the window, and the key
- value is returned.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- The key used to close the window.
-
- See Also:
-
-
-
- Example:
-
- message("** Attempt to Open File Failed **",1);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- month_day
- Summary:
-
- int month_day(yr,yd,m,d);
- int yr; /* Year To Calculate For */
- int yd; /* Number of Days Elapsed in Year */
- int *m; /* Where to Store Month */
- int *d; /* Where to Store Day */
-
- Created: 09/01/86 Last Updated: 09/01/86
-
- Author: George Roukas Source (C/A): C
-
- Located in: CSRDATE.OBJ
-
- Requires: isleap()
-
- Description:
-
- Similar to the K&R (pp 103-104) routine of the same name, this
- function calculates the menth and day of the year when given the
- year and number of days elapsed in that year.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- date_sn() sn_date() isleap()
-
- Example:
-
- int m;
- int d;
-
- month_day(1986,3,&m,&d);
-
- printf("%02d/%02d is 3 days into 1986.\n",m,d);
-
- /* Will output: 01/03 is.... */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- num_days
- Summary:
-
- int num_days(m,y);
- int m; /* Month to Get Number of Days For */
- int y; /* Year */
-
- Created: 12/27/85 Last Updated: 12/27/85
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: CSRDATE.OBJ
-
- Requires: isleap()
-
- Description:
-
- This function returns the number of days in the month specified,
- leap years taken into account.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- The number of days.
-
- See Also:
-
- date_sn() sn_date() isleap() chk_date()
-
- Example:
-
- printf("%d days in February, 1980.\n",num_days(2,1980));
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- num_drives
- Summary:
-
- int num_drives();
-
- Created: 04/06/86 Last Updated: 04/06/86
-
- Author: Bob Pritchett Source (C/A): A
-
- Located in: NUMDRVS.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function returns a single integer value, the number of
- logical drives available. Remember that although this function
- returns the number of available drives, access to these drives is
- numbered from zero, so if 3 drives are reported, the highest
- number that may be accessed is 2.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- The total number of logical drives installed.
-
- See Also:
-
- get_drive() set_drive()
-
- Example:
-
- printf("%d drives installed. A: - %c:\n",num_drives(),
- ( 'A' + ( num_drives() - 1 ) ));
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- pmenu
- Summary:
-
- #include <csrmenu.h> /* Contains MENU typedef */
-
- int pmenu(menu)
- MENU menu; /* Pointer to Menu Structure */
-
- Created: 08/08/86 Last Updated: 08/20/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: MENU.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function will display a pop up menu and allow for selection
- of an item with the arrow keys, or the space and backspace keys.
- The differences between pmenu() and pop_menu() are mostly in the
- calling method. By using a data element of the MENU type as the
- only argument, the number of parameters specifiable is increased,
- allowing for better control of the menu, while the number of
- function arguments is reduced to one for cleaner coding.
-
- If the first character in an item name is a hyphen, the item will
- be a horizontal line of the border color and type. If the return
- value of an element is a negative one, the item is non
- selectable.
-
- Note, unlike pop_menu(), pmenu() will center the text of each
- entry to the width of the largest entry. If you place a space on
- each side of only the largest (widest) entry in a menu structure,
- all menu options will have at least one space on each side.
-
- For information on specification of menus, read the description
- of CSRMENU.H.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- The value of the menu item selected or a -1 for failure.
-
- See Also:
-
- pop_menu()
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- pmenu
-
-
-
-
- Example:
-
- #include <csrmenu.h>
- #include <color.h>
-
- MENU mnu;
-
- main()
- {
- int x;
- strcpy(mnu->title,"Menu");
- mnu->type = 3;
- mnu->border = WHT_F+BLU_B;
- mnu->normal = RED_F+WHT_B;
- mnu->bar = WHT_F+RED_B;
- mnu->row = 6;
- mnu->col = 20;
- mnu->num = 4;
- strcpy(mnu->entry[0].text,"Help");
- mnu->entry[0].value = 1;
- strcpy(mnu->entry[1].text,"Exit");
- mnu->entry[1].value = 2;
- strcpy(mnu->entry[2].text,"-");
- mnu->entry[2].value = -1;
- strcpy(mnu->entry[3].text," Static ");
- mnu->entry[3].value = -1;
- x = pmenu(mnu);
- if ( x == -1 )
- exit(1);
- else if ( x == 1 )
- help();
- else
- exit(0);
- .
- .
- .
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- pop_menu
- Summary:
-
- int pop_menu(x,y,num,args,title,type);
- int x; /* Row to Start on */
- int y; /* Col to Start on */
- int num; /* Number of Options */
- char *args[]; /* Function Names */
- char *title; /* Menu Title */
- int type; /* Window Type */
-
- Created: 03/09/86 Last Updated: 03/09/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: COUTPUT.OBJ
-
- Requires: wopen() wclose() wtitle()
-
- Description:
-
- This function opens a window at x,y titled with the string
- pointed to by title, of type border style, and with num options
- stored in args[]. The window's width is the size of the maximum
- length option. The options are printed as sent to the routine,
- but for a clean highligh bar, and better performance all the
- options should be centered previously in a string. See the demo
- programs for more examples of this. Also note, after an option
- is selected with the highlight bar, the it's number is returned,
- and the window closed. You must reopen the menu, this preferably
- done in a loop[ structure that opens the menu, processes the
- resulting code, and then reopens the menu. This system is a
- simple building block for more advanced menu design.
-
- Compiler Specifics:
-
- See window notes.
-
- Return Value:
-
- The number of the option selected with the highlight bar, or a -1
- signifying the user aborted the menu with the ESC key.
-
- See Also:
-
- mcolor()
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- pop_menu
-
-
-
-
- Example:
-
- #include <color.h>
-
- static char *array[] =
- {
- " Option 1 ",
- " Option 2 ",
- " Quit "
- };
-
- main()
- {
- int x;
- cls();
-
- while ( 1 )
- {
-
- /* Inside doesn't matter, mcolor() does that, so we use wcolor
- only to set our border. Then mcolor() will set our menu
- colors. (Color definition in loop in case other routines
- change them.) */
-
- wcolor(BLK_F,BLU_F+WHT_B);
- mcolor(YEL_F+RED_B,WHT_F+BLU_B);
-
- x = pop_menu(9,27,3,array," Menu ",3);
- if ( x == 0 )
- opt1();
- else if ( x == 1 )
- opt2();
- else if ( x == 2 || x == -1 )
- exit(0);
- }
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- print_screen
- Summary:
-
- int print_screen();
-
- Created: 03/10/86 Last Updated: 03/10/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: PRINT.OBJ
-
- Requires: int86()
-
- Description:
-
- Performing the exact same feature as if you had hit the PrtSc key
- while holding the shift key down, this routine prints the screen
- with the bios interrupt five.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
-
-
- Example:
-
- print_screen();
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- prtrns
- Summary:
-
- int prtrns(c);
- int c; /* Character to translate */
-
- Created: 02/22/86 Last Updated: 02/22/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: PRTRNS.C PRTRNS.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function is a simple one that takes c as an argument, and if
- it is a special box drawing character form the extended character
- set it is translated into an equivalent in the lower 127 ASCII
- range. Possibly useful in writing a screen or text dump that
- originally contained special characters.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Returns the character, translated if neccessary.
-
- See Also:
-
-
-
- Example:
-
- #include <stdio.h>
-
- int c = 179;
-
- c = prtrns(c); /* Would return |, replacing 179. */
-
- putc(c,stdprn);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- putat
- Summary:
-
- int putat(x,y,string);
- int x; /* Row to Put At */
- int y; /* Col to Put At */
- char *string; /* String to Put */
-
- Created: 12/28/85 Last Updated: 12/28/85
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: PUTAT.OBJ
-
- Requires: ccputs() putchci()
-
- Description:
-
- This function places the specified string at x,y on the global
- screen.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- putatf() wputat() wputatf()
-
- Example:
-
- putat(10,25,"+ The plus is at 10,25.");
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- putatf
- Summary:
-
- int putatf(x,y,string,args...);
- int x; /* Row to Put At */
- int y; /* Col to Put At */
- char *string; /* Formatted String to Put */
- args... /* Formatting Arguments */
-
- Created: 05/01/86 Last Updated: 08/20/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: PUTATF.OBJ
-
- Requires: ccputs() putchci()
-
- Description:
-
- This performs the same function as putat() with the addition of
- up to 15 formatting arguments in the same format as printf().
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- putat() wputat() wputatf()
-
- Example:
-
- putatf(10,25,"+ The plus %s at %d,%d.","is",10,25);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- putchc
- Summary:
-
- int putchc(c,color);
- int c; /* Character to Print */
- int color; /* Attribute to Use */
-
- Created: 09/25/86 Last Updated: 09/25/86
-
- Author: Bob Pritchett Source (C/A): A
-
- Located in: PUTCHC.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function simply outputs the character and attribute without
- incrementing the cursor.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- putchci() wputchar()
-
- Example:
-
- #include <color.h>
-
- putchc('C',GRN_F+BLK_B); /* Put out a C in green. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- putchci
- Summary:
-
- int putchci(c,color);
- int c; /* Character to Print */
- int color; /* Attribute to Use */
-
- Created: 12/28/85 Last Updated: 09/25/86
-
- Author: Bob Pritchett Source (C/A): A
-
- Located in: PUTCHCI.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This simply outputs the character c, using the color in color, to
- the video memory, and then increments the cursor.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- wputchar()
-
- Example:
-
- #include <color.h>
-
- putchci('A',RED_F+BLK_B); /* Put out an A in red. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- read_tmr
- Summary:
-
- unsigned read_tmr(x);
- int x; /* The Number of the Counter to Use */
-
- Created: 01/03/87 Last Updated: 01/03/87
-
- Author: Dave Perras Source (C/A): C
-
- Located in: TIMERS.C TIMERS.OBJ
-
- Requires: get_timer()
-
- Description:
-
- This function reads the specified timer and returns, in tenths of
- seconds, the difference between the stored time and the current.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- An unsigned value representing the tenths of seconds which have
- elapsed since the start_tmr() function was called for this timer.
- If the specified timer has not been initialized or has not been
- started an error value of zero is returned.
-
- See Also:
-
- get_timer() start_tmr() stop_tmr() reset_tmr() zero_tmr() timer()
- init_tmr()
-
- Example:
-
- init_tmr(); /* Initialize Timers */
-
- start_tmr(5); /* Start timer number 5. */
-
- printf("%d seconds have elapsed.\n",10 * read_tmr(5));
- /* The above statement does not stop the timer. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- reset_tmr
- Summary:
-
- void reset_tmr(x);
- int x; /* The Number of the Counter to Use */
-
- Created: 01/03/87 Last Updated: 01/03/87
-
- Author: Dave Perras Source (C/A): C
-
- Located in: TIMERS.C TIMERS.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function zeros the specified timer and clears its active
- flag.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing is returned.
-
- See Also:
-
- get_timer() start_tmr() stop_tmr() read_tmr() zero_tmr() timer()
- init_tmr()
-
- Example:
-
- init_tmr(); /* Initialize Timers */
-
- start_tmr(5); /* Start timer number 5. */
-
- printf("%d seconds have elapsed.\n",10 * read_tmr(5));
- /* The above statement does not stop the timer. */
-
- reset_tmr(5); /* Stop and reset timer 5. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- restore
- Summary:
-
- int restore(x,y,x2,y2,array);
- int x; /* Upper Left Row */
- int y; /* Upper Left Col */
- int x2; /* Lower Right Row */
- int y2; /* Lower Right Col */
- char *array; /* Array to Store Screen In */
-
- Created: 03/03/86 Last Updated: 03/03/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: COUTPUT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function restores the portion of the screen previously saved
- by save() in array at the coordinates which are specified, which
- don't have to be the same as those at which it was saved.
-
- Compiler Specifics:
-
- The MSC function movedata() was used.
-
- Return Value:
-
- Nothing is returned and there are no validity checks. Giving a
- set of bad coordinates will generate unknown results.
-
- See Also:
-
- save() restore_screen()
-
- Example:
-
- char *temp;
- temp = malloc(4000); /* Size of screen and attributes. */
-
- save(0,0,24,79,temp); /* Save whole screen. */
-
- restore(0,0,24,79,temp); /* Restore screen. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- restore_cursor
- Summary:
-
- int restore_cursor();
-
- Created: 02/22/86 Last Updated: 02/24/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: CURSOR.OBJ
-
- Requires: int86()
-
- Description:
-
- This function will return the cursor to the location it was at
- when save_cursor() was called.
-
- Compiler Specifics:
-
- Problems associated with int86() only.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- save_cursor() restore_screen()
-
- Example:
-
- save_cursor();
-
- restore_cursor();
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- restore_screen
- Summary:
-
- int restore_screen();
-
- Created: 03/09/86 Last Updated: 10/23/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: SRSCREEN.OBJ
-
- Requires: restore()
-
- Description:
-
- This function restores the screen saved with save_screen().
- Useful for restoring the screen present when a program was
- invoked after it finishes executing.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- save_screen() restore_cursor()
-
- Example:
-
- main()
- {
- save_screen();
-
- /* Etc... */
-
- restore_screen();
- exit(0);
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- retrace
- Summary:
-
- int retrace(x);
- int x; /* Type of Retrace to Test For */
-
- Created: 06/06/86 Last Updated: 06/06/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: COUTPUT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This routine determines which retrace to move data into video
- memory under. The value can be 1, (FAST) which represents data
- movement during the horizontal retrace, or 8, (SLOW) which causes
- data to be moved during the vertical retrace. The fast/slow
- adjectives have little to do with the data movement due to the
- number of screen repaints per second. The default is vertical
- retrace, 8, and the main purpose of this function is to allow
- an alternate method if desirable on some monitors.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Returns -1 if a value other then 1 or 8 is passed.
-
- See Also:
-
- dma()
-
- Example:
-
- retrace(8);
- /* Change to data movement during vertical retrace. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- save
- Summary:
-
- int save(x,y,x2,y2,array);
- int x; /* Upper Left Row */
- int y; /* Upper Left Col */
- int x2; /* Lower Right Row */
- int y2; /* Lower Right Col */
- char *array; /* Array to Store Screen In */
-
- Created: 03/03/86 Last Updated: 03/03/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: COUTPUT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function saves the portion of the screen specified by the
- four coordinates into array. No other action is taken, and the
- screen is not erased within that area.
-
- Compiler Specifics:
-
- The MSC function movedata() was used.
-
- Return Value:
-
- Nothing is returned and there are no validity checks. Giving a
- set of bad coordinates will generate unknown results.
-
- See Also:
-
- restore() save_screen()
-
- Example:
-
- char *temp;
- temp = malloc(4000); /* Size of screen and attributes. */
-
- save(0,0,24,79,temp); /* Save whole screen. */
-
- restore(0,0,24,79,temp); /* Restore screen. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- save_cursor
- Summary:
-
- int save_cursor();
-
- Created: 02/22/86 Last Updated: 02/24/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: CURSOR.OBJ
-
- Requires: int86()
-
- Description:
-
- This funciton will save the current cursor position in an
- internal variable for restoration with restore_cursor() at a
- later time.
-
- Compiler Specifics:
-
- int86().
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- restore_cursor()
-
- Example:
-
- save_cursor(); /* Save it here... */
-
- printf("This is a string of text...");
-
- restore_cursor(); /* To the beginning of the line... */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- save_screen
- Summary:
-
- int save_screen();
-
- Created: 03/09/86 Last Updated: 10/23/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: SRSCREEN.OBJ
-
- Requires: save()
-
- Description:
-
- This function saves the current screen and attributes for later
- restoration with the restore_screen() function.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- save_cursor() restore_screen()
-
- Example:
-
- main()
- {
- save_screen();
-
- /* Etc... */
-
- restore_screen();
- exit(0);
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- scroll
- Summary:
-
- int scroll(x,y,x2,y2,dir,num);
- int x; /* Upper Left Row */
- int y; /* Upper Left Col */
- int x2; /* Lower Right Row */
- int y2; /* Lower Right Col */
- int dir; /* 0 - Up / 1 - Down */
- int num; /* Number of Lines */
-
- Created: 03/03/86 Last Updated: 03/03/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: COUTPUT.OBJ
-
- Requires: int86()
-
- Description:
-
- This function scrolls the area inside and including the specified
- coordinates in the specified window. The number of lines
- scrolled is determined by the value of num and setting num to 0
- and the direction 0, up, will cause the window to clear
- completly.
-
- Compiler Specifics:
-
- None other then int86() related.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- wscroll()
-
- Example:
-
- scroll(0,0,24,80,0,0); /* Clear the whole screen. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- set_date
- Summary:
-
- int set_date(dy,mn,yr);
- int dy; /* Day */
- int mn; /* Month */
- int yr; /* Year */
-
- Created: 03/31/86 Last Updated: 03/31/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: SET_DATE.OBJ
-
- Requires: intdos()
-
- Description:
-
- Using the DOS interrupts this routine sets the date as specified
- in the three parameters. For more information see the
- description of get_date();
-
- Compiler Specifics:
-
- Compiled with MSC 3.0, uses the dosint() function and register
- unions specified in DOS.H.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- get_dow() get_date() set_time()
-
- Example:
-
- int d = 4;
- int m = 7;
- int y = 1987;
-
- set_date(d,m,y); /* Fourth of July, 1987. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- set_drive
- Summary:
-
- int set_drive(x);
- int x; /* Drive Numer to Set to */
-
- Created: 04/06/86 Last Updated: 04/06/86
-
- Author: Bob Pritchett Source (C/A): A
-
- Located in: SETDRIVE.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function sets the current drive to the number specified by
- x. For an explanation of numbering conventions, see get_drive().
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- get_drive() num_drives()
-
- Example:
-
- if ( num_drives() != 1 ) /* If we have more then 2 logical */
- set_drive(2); /* Make the current the first HD, C: */
- else
- set_drive(0); /* Else make it A: */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- set_mode
- Summary:
-
- #include <csrmodes.h> /* For Declarations Only */
-
- int set_mode(x);
- int x; /* Video Mode to Set to */
-
- Created: 05/03/86 Last Updated: 08/27/86
-
- Author: Bob Pritchett Source (C/A): A
-
- Located in: SETMODE.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function sets the video mode as specified in x. Please see
- CSRMODES.H for a description of these modes.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- get_mode()
-
- Example:
-
- #include <csrmodes.h>
-
- set_mode(CO80); /* 80 Columns - Color */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- set_time
- Summary:
-
- int set_time(hr,mn,sc,hn);
- int hr; /* Hour */
- int mn; /* Minutes */
- int sc; /* Seconds */
- int hn; /* Hundredths */
-
- Created: 03/31/86 Last Updated: 03/31/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: SET_TIME.OBJ
-
- Requires: intdos()
-
- Description:
-
- This routine uses DOS to set the current time as specified. For
- more information see the description of get_time().
-
- Compiler Specifics:
-
- Compiled with MSC 3.0, uses the dosint() function and register
- unions specified in DOS.H.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- get_dow() set_date() get_time()
-
- Example:
-
- int h = 3;
- int m = 15;
- int s = 0;
- int hn = 0;
-
- set_time(h,m,s,hn); /* Set the time to 3:15am. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- sn_date
- Summary:
-
- unsigned int sn_date(sn,m,d,y);
- unsigned int sn; /* Serial Number to Convert to Date */
- int *m; /* Location to Store Month */
- int *d; /* Location to Store Day */
- int *y; /* Location to Store Year */
-
- Created: 09/01/86 Last Updated: 09/01/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: CSRDATE.OBJ
-
- Requires: isleap()
-
- Description:
-
- This routine will turn serial numbers created by date_sn() into
- dates.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Returns a zero if the serial number is invalid, else returns a
- one.
-
- See Also:
-
- date_sn() valid_date() isleap() dt_diff()
-
- Example:
-
- int m;
- int d;
- int y;
- int sn;
-
- sn = date_sn(12,25,86); /* Convert to serial number. */
-
- /* . . . Modify/Manipulate Serial Number . . . */
-
- sn_date(sn,&m,&d,&y); /* Convert back to date. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- sound
- Summary:
-
- #include <csrsound.h> /* Only for Note Definitions */
-
- int sound(tone,duration);
- int tone; /* Frequency in Hertz */
- int duration; /* Length in Milliseconds */
-
- Created: 05/12/86 Last Updated: 05/12/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: CSRSOUND.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This routine will sound the specified frequency for the length of
- time, in milliseconds, specified in duration. The function does
- not return until the sound has completed playing.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
-
-
- Example:
-
- #include <csrsound.h>
-
- sound(C,500);
- sound(D,250);
- sound(E,125);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- soundex
- Summary:
-
- int soundex(name,code);
- char *name; /* Name to Process */
- char *code; /* String to Hold Code */
-
- Created: 00/00/00 Last Updated: 06/08/86
-
- Author: David Lovelock Source (C/A): C
-
- Located in: SOUNDEX.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This routine will, for any given name, return a code value
- representing it. This code value will be the same as values for
- similar sounding names. The code consists of the first letter of
- the name, followed by three digits and a NULL.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
-
-
- Example:
-
- /* All should return an identical code. */
-
- char code[5];
-
- soundex("MacHew",code);
- printf("MacHew: %s.\n",code);
-
- soundex("MacKew",code);
- printf("MacKew: %s.\n",code);
-
- soundex("McQue",code);
- printf("McQue: %s.\n",code);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- start_tmr
- Summary:
-
- void start_tmr(x);
- int x; /* The Number of the Counter to Use */
-
- Created: 01/03/87 Last Updated: 01/03/87
-
- Author: Dave Perras Source (C/A): C
-
- Located in: TIMERS.C TIMERS.OBJ
-
- Requires: get_timer()
-
- Description:
-
- This function will begin tracking the elapsed time using the
- timer number given. This is done by reading and storing the
- value of the real time clock.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing is returned.
-
- See Also:
-
- get_timer() stop_tmr() read_tmr() reset_tmr() zero_tmr() timer()
- init_tmr()
-
- Example:
-
- init_tmr(); /* Initialize Timers */
-
- start_tmr(2); /* Start timer number 2. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- stop_tmr
- Summary:
-
- unsigned stop_tmr(x);
- int x; /* The Number of the Counter to Use */
-
- Created: 01/03/87 Last Updated: 01/03/87
-
- Author: Dave Perras Source (C/A): C
-
- Located in: TIMERS.C TIMERS.OBJ
-
- Requires: get_timer()
-
- Description:
-
- This function will first read the current setting of the real
- time clock, determine the difference in tenths of seconds between
- the stored and current time, and then zero the specified timer
- and reset its active flag.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- An unsigned value representing the tenths of seconds which have
- elapsed since the start_tmr() function was called for this timer.
- The maximum interval over which the timer is accurate is
- determined by the size of an unsigned int, which for most
- compilers results in an approximate limit of 1.8 hours.
-
- See Also:
-
- get_timer() start_tmr() read_tmr() reset_tmr() zero_tmr() timer()
- init_tmr()
-
- Example:
-
- init_tmr(); /* Initialize Timers */
-
- start_tmr(5); /* Start timer number 5. */
-
- printf("%d seconds have elapsed.\n",10 * stop_tmr(5));
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- strcen
- Summary:
-
- strcen(string,result,width);
- char *string; /* String to Center */
- char *result; /* Where to Put It */
- int width; /* Width to Center on */
-
- Created: 03/03/86 Last Updated: 09/17/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: STRCEN.OBJ
-
- Requires: strtrm()
-
- Description:
-
- This routine places string into result with the appropriate
- amount of preceding and trailing spaces. The length of result
- will be width. Note that the string is trimmed (See strcen().)
- before it is centered, and that an uneven number of spaces on
- each side results in the extra space being tagged to the end.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- strtrm() strlft() strght() center()
-
- Example:
-
- char temp[25];
-
- strcen(" Centered ",temp,20);
- printf("Centered String:\n 12345678901234567890\n>%s<\n",temp);
-
- /* Results in > Centered < */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- strght
- Summary:
-
- strght(string,result,width);
- char *string; /* String to Right Justify */
- char *result; /* Where to Put It */
- int width; /* Width to Justify in */
-
- Created: 09/07/86 Last Updated: 09/17/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: STRGHT.OBJ
-
- Requires: strtrm()
-
- Description:
-
- This routine will right justify the given string, placing the
- result in the specified variable. The string will be trimmed
- with strtrm() before the justification.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- strcen() strlft() strtrm()
-
- Example:
-
- char temp[25];
-
- strght(" Right Just. ",temp,20);
- printf("Justified String:\n 12345678901234567890\n>%s<\n",temp);
-
- /* Results in > Right Just.< */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- strlft
- Summary:
-
- strlft(string,result,width);
- char *string; /* String to Left Justify */
- char *result; /* Where to Put It */
- int width; /* Width to Justify in */
-
- Created: 09/07/86 Last Updated: 09/17/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: STRLFT.OBJ
-
- Requires: strtrm()
-
- Description:
-
- This routine will left justify the given string, placing the
- result in the specified variable. The string will be trimmed
- with strtrm() before the justification.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- strcen() strght() strtrm()
-
- Example:
-
- char temp[25];
-
- strght(" Left Just. ",temp,20);
- printf("Justified String:\n 12345678901234567890\n>%s<\n",temp);
-
- /* Results in >Left Just. < */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- strtrm
- Summary:
-
- strtrm(string,result);
- char *string; /* String to Trim */
- char *result; /* Where to Put It */
-
- Created: 09/07/86 Last Updated: 09/17/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: STRTRM.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This routine trims all preceding and trailing spaces from a
- string, while preserving spaces inside the string.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- The length of the new string.
-
- See Also:
-
- strcen() strght() strlft()
-
- Example:
-
- char temp[25];
-
- strtrm(" Trim This. ",temp);
- printf("Trimmed String:\n>%s<\n",temp);
-
- /* Results in >Trim This.< */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- timer
- Summary:
-
- int timer();
-
- Created: 04/14/86 Last Updated: 04/14/86
-
- Author: Unknown Source (C/A): C
-
- Located in: TIMER.OBJ
-
- Requires: int86()
-
- Description:
-
- This routine will return an integer representing the number of
- clock ticks since the last call. Remember that there are about
- 18.2 ticks per second.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- The number of ticks since last call.
-
- See Also:
-
-
-
- Example:
-
- timer(); /* Start count... */
- routine();
- printf("routine() took %d ticks to execute.\n",timer());
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- valid_date
- Summary:
-
- int valid_date(m,d,y);
- int m; /* Month to Check */
- int d; /* Day to Check */
- int y; /* Year to Check */
-
- Created: 09/01/86 Last Updated: 09/01/86
-
- Author: George Roukas Source (C/A): C
-
- Located in: CSRDATE.OBJ
-
- Requires: isleap()
-
- Description:
-
- This function performs in a manner similar to that of chk_date()
- with the exception that it verifies that the year is between 1900
- and 2050, in order to be compatible with date_sn() and sn_date().
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Evaluates as true if the date is valid, false if it is not.
-
- See Also:
-
- chk_date() date_sn() sn_date() isleap()
-
- Example:
-
- if ( valid_date(6,15,1791) ) /* Evaluates as False */
- function();
-
- if ( valid_date(6,15,1971) ) /* Evaluates as True */
- otherwise();
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- vidblt
- Summary:
-
- vidblt(ss,so,ds,do,x);
- int ss; /* Segment Address of Source */
- int so; /* Segment Offset of Source */
- int ds; /* Segment Address of Destination */
- int do; /* Segment Offset of Destination */
- int x; /* Number of Bytes to Move */
-
- Created: 00/00/85 Last Updated: 00/00/85
-
- Author: Philip A. Mongelluzzo Source (C/A): A
-
- Located in: SNOWLESS.OBJ
-
- Requires: Uses _csrbit in COUTPUT.OBJ to determine retrace mode.
-
- Description:
-
- This routine is similar to Microsoft's movedata() except that it
- is used for moving data (with the same parameters) to and from
- the color monitor memory without causing snow or flicker.
-
- Compiler Specifics:
-
- Uses Microsoft's assembly header and footer.
-
- Return Value:
-
- No return value.
-
- See Also:
-
-
-
- Example:
-
- /* Contact Bob Pritchett if you need to use it independantly. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- wactivate
- Summary:
-
- int wactivate(wind);
- int wind; /* Pointer to Window to Activate */
-
- Created: 03/03/86 Last Updated: 03/09/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: COUTPUT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function activates the specified window. If the window is
- overlayed by other windows it is brought out from behind and
- becomes the active window, on top of the other and uncovered.
-
- Compiler Specifics:
-
- Compiled with MSC. See window notes.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- wclose() wopen()
-
- Example:
-
- wactivate(w3); /* Activate an opened window */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- wblank
- Summary:
-
- int wblank(wind,row);
- int wind; /* Pointer to Window to Use */
- int row; /* Row to Clear */
-
- Created: 04/30/86 Last Updated: 04/30/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: COUTPUT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function will erase the specified row within the specified
- window by deleting then inserting that row. The cursor is place
- at column 0 in this row.
-
- Compiler Specifics:
-
- Compiled with MSC. See window notes.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- winsert() wdelete()
-
- Example:
-
- wblank(win,3);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- wborder
- Summary:
-
- int wborder(num,type);
- int num; /* Number of Window to Use */
- int type; /* Type of Window Border to Use */
-
- Created: 04/25/86 Last Updated: 04/25/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: COUTPUT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function redraws the border of a window, using whatever type
- is specified, and the colors stored for this window. The most
- useful purpose is to 'erase' wtitle() and wmessage() messages,
- and to change the style of the border.
-
- Compiler Specifics:
-
- Compiled with MSC. See window notes.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- wcolor()
-
- Example:
-
- wborder(win,4);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- wcenter
- Summary:
-
- int wcenter(win,x,str);
- int win; /* Window to Use */
- int x; /* Line to Center on */
- char *str; /* String to Center */
-
- Created: 03/03/86 Last Updated: 03/03/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: WCENTER.OBJ
-
- Requires: wgotoxy() wprint()
-
- Description:
-
- This routine is functionally the same as center() except that x
- is a line within the specified window, and the string is centered
- in window coordinates, not global. The window's inside color is
- used.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- wcenterf() center()
-
- Example:
-
- wcenter(w3,5,"This is centered in window 3.");
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- wcenterf
- Summary:
-
- int wcenterf(win,x,str[,arguments...]);
- int win; /* Window to Use */
- int x; /* Line to Center on */
- char *str; /* String to Center */
-
- Created: 04/13/86 Last Updated: 08/17/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: WCENTERF.OBJ
-
- Requires: wgotoxy() wprint()
-
- Description:
-
- Just like centerf() only in the specified window.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- center() centerf() wcenter()
-
- Example:
-
- wcenterf(w3,5,"This is %s in window 3.","centered");
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- wclose
- Summary:
-
- int wclose(wind);
- int wind; /* Pointer to Window to Close */
-
- Created: 03/03/86 Last Updated: 03/09/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: COUTPUT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function closes a video window previously opened with
- wopen(). The portion of the screen that was covered with the
- window is restored. NOTE: You may close a window other then the
- active one, it will be acitivated and properly closed.
-
- Compiler Specifics:
-
- Compiled with MSC. See window notes.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- wcloseall() wopen() wactivate()
-
- Example:
-
- int w;
-
- w = wopen(10,10,20,70,2); /* Open a large window */
-
- wclose(w); /* Restore covered screen area */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- wcloseall
- Summary:
-
- int wcloseall();
-
- Created: 03/03/86 Last Updated: 03/09/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: COUTPUT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function closes all the open windows by repeatedly calling
- wclose(). The active window is closed first, and so on all the
- way down the stack.
-
- Compiler Specifics:
-
- Compiled with MSC. See window notes.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- wclose() wopen() wactivate()
-
- Example:
-
- int w;
- int w2;
-
- w = wopen(10,10,20,70,2); /* Open a large window */
- w2 = wopen(5,5,17,54,3);
-
- wcloseall(); /* Restore covered screen area */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- wcls
- Summary:
-
- int wcls(num);
-
- Created: 03/03/86 Last Updated: 03/09/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: COUTPUT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This routine will clear the specified window with it's current
- interior attributes. If not active the cleared window will
- become the foremost window.
-
- Compiler Specifics:
-
- Compiled with MSC. See window notes.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- cls() ccls()
-
- Example:
-
- wcls(win); /* Clear window win. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- wcol
- Summary:
-
- int wcol(wind);
- int wind; /* Pointer to Window to Use */
-
- Created: 03/03/86 Last Updated: 03/09/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: COUTPUT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function returns the number of the highest col in a window.
- If a window has siz columns, numbered zero to five, wcol() will
- return a five. Mostly an internal routine.
-
- Compiler Specifics:
-
- Compiled with MSC. See window notes.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- wrow()
-
- Example:
-
- x = wcol(w3); /* Returns the number of highest row */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- wcolor
- Summary:
-
- int wcolor(insd,bord);
- int insd; /* Color For Window Interior */
- int bord; /* Color For Window Border */
-
- Created: 03/03/86 Last Updated: 03/09/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: COUTPUT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This routine sets the current colors for the inside and outside
- of windows. These are the defaults used when a window is
- created. The difference between color() and wcolor() primarily
- is that color has two arguments, the fore and background colors,
- and wcolor makes you add the fore and back into one number for
- both the inside and border colors. Also, the color() function
- sets both border and inside attributes to be the same, while
- wcolor() allows them to be set to different values.
-
- Compiler Specifics:
-
- Compiled with MSC. See window notes.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- color()
-
- Example:
-
- wcolor(WHT_F+BLU_B,BLU_F+WHT_F);
- /* Inside is white on blue, border is blue on white. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- wdelete
- Summary:
-
- int wdelete(num,row,tms)
- int num; /* Pointer to Window to Use */
- int row; /* Row to Delete Line Before */
- int tms; /* Number of Lines to Delete */
-
- Created: 04/30/86 Last Updated: 04/30/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: COUTPUT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This routine deletes tms lines starting with the line number in
- row, and moves all lower lines up, making blanks at the bottom of
- the window.
-
- Compiler Specifics:
-
- Compiled with MSC. See window notes.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- winsert() wblank()
-
- Example:
-
- wdelete(win,2,4); /* Delete 4 line starting with line 2,
- so line 6 becomes line 2 etc. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- wfchar
- Summary:
-
- int wfchar(chr);
- int chr; /* Character to Use in Fields */
-
- Created: 10/19/86 Last Updated: 10/19/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: WFINPUT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- Behaving in a manner almost identical to that of fchar(), this
- function will set the background character for window field
- input, or, given an argument of -1, return the current value in
- use. Note that this value is independant of the one used by
- fchar(), although they both use the same default of the space
- character.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Returns the argument, or in the case of the argument being -1,
- the current value of the window field background character.
-
- See Also:
-
- fchar() wfcolor() wffill() finptint() finptstr()
-
- Example:
-
- int w;
-
- wfchar('*'); /* Set background to *'s. */
-
- w = wopen(10,0,20,79,3);
-
- wprintf(w,"The current background character is: %c.\n"
- ,wfchar(-1));
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- wfcolor
- Summary:
-
- #include <color.h> /* For Color Defintions Only */
-
- int wfcolor(clr);
- int clr; /* Color to Use in Window Fields */
-
- Created: 10/19/86 Last Updated: 10/19/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: WFINPUT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- Behaving as does fcolor(), wfcolor() will set the field color for
- window field input routines. This value is independant of the
- one used by normal field routines, and the current value will be
- returned if the argument is -1.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Returns the argument, or in the case of the argument being -1,
- the current value of the window field color.
-
- See Also:
-
- fcolor() wfchar() wffill() wfinptint() wfinptstr()
-
- Example:
-
- #include <color.h>
-
- wfcolor(BLU_F+WHT_B); /* Blue on white. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- wffill
- Summary:
-
- int wffill(w,rw,cl,mx);
- int w; /* Window in Which to Draw Field */
- int rw; /* Row of Field (Within Window) */
- int cl; /* Column of Field (Within Window) */
- int mx; /* Length of Field */
-
- Created: 12/05/86 Last Updated: 12/05/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: WFINPUT.OBJ
-
- Requires: wgotoxy() cfield()
-
- Description:
-
- This function behaves similarly to ffill(), under whose heading
- more information on the purpose of wffill() can be found.
- Simply, the function uses the current window character and color
- values to draw an input field in the specified window at the
- coordinates given. (The row and column values are within the
- window, not global.)
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing is returned.
-
- See Also:
-
- ffill() wfchar() wfcolor() wfinptint() wfinptstr()
-
- Example:
-
- int w;
-
- w = wopen(5,10,10,70,1);
-
- wffill(w,10,20,10); /* At 10,20 a 10 character field. */
-
- wputat(w,5,9,"Chrs: "); /* A prompt for the next field. */
- wffill(w,5,15,6); /* At 5,15 a 6 character field. */
- wgotoxy(w,5,15); /* Not needed, as wffill() leaves */
- /* the cursor at the coordinates. */
- ccputs("abc",fcolor(-1)); /* Put a default value on the */
- /* screen with the field color. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- wfinptint
- Summary:
-
- int wfinptint(w,rw,cl,mx,x);
- int w; /* Window to Use */
- int rw; /* Row of Field */
- int cl; /* Column of Field */
- int mx; /* Length of Field */
- int *x; /* Where to Put Result */
-
- Created: 10/19/86 Last Updated: 10/19/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: WFINPUT.OBJ
-
- Requires: wgotoxy() cfield()
-
- Description:
-
- This function displays the specified field and then waits for
- input of an integer just as does finptint(), under whose heading
- a complete description can be found.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- The integer inputted is returned.
-
- See Also:
-
- inptint() wfinptintd() finptint() wffill() wfinptstr()
-
- Example:
-
- int x;
- int w;
-
- w = wopen(2,2,20,78,3);
-
- wputat(w,5,10,"Num: "); /* A prompt for the next field. */
- wfinptint(w,5,15,6,&x); /* At 5,15 a 6 character input. */
-
- wprintf(w,"\n\n%d was the input.\n",x);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- wfinptintd
- Summary:
-
- int wfinptintd(w,rw,cl,mx,x,d);
- int w; /* Window to Use */
- int rw; /* Row of Field */
- int cl; /* Column of Field */
- int mx; /* Length of Field */
- int *x; /* Where to Put Result */
- int d; /* Default Integer */
-
- Created: 10/19/86 Last Updated: 10/19/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: WFINPUT.OBJ
-
- Requires: wgotoxy() cfield()
-
- Description:
-
- This function, which waits for input in a window field after
- displaying a default value, behaves like finptintd(), where more
- information can be found on its operation.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- The integer inputted is returned, or, in the case of a carriage
- return, the default.
-
- See Also:
-
- inptintd() wfinptint() finptintd() wffill() wfinptstr()
-
- Example:
-
- int x;
- int w;
-
- w = wopen(3,3,22,77,'*');
-
- wputat(w,5,10,"Num: "); /* A prompt for the next field. */
- wfinptintd(w,5,15,4,&x,37); /* At 5,15 a 4 character input. */
-
- if ( x == 37 )
- wprintf(w,"\n\nThe default, 37, was returned.\n");
- else
- wprintf(w,"\n\n%d was the input.\n",x);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- wfinptintr
- Summary:
-
- int wfinptintr(w,rw,cl,mx,x,lw,hg);
- int w; /* Window to Use */
- int rw; /* Row of Field */
- int cl; /* Column of Field */
- int mx; /* Length of Field */
- int *x; /* Where to Put Result */
- int lw; /* Minimum Acceptable Value */
- int hg; /* Maximum Acceptable Value */
-
- Created: 10/19/86 Last Updated: 10/19/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: WFINPUT.OBJ
-
- Requires: wfinptint()
-
- Description:
-
- This function, with the exception that it works within windows,
- will act like finptintr(), waiting for an integer within its
- specified range. All other input will cause the function to beep
- and wait.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- The inputted integer, within the range, is returned.
-
- See Also:
-
- inptintr() wfinptint() finptintr() wffill() wfinptstr()
- wfinptintrd()
-
- Example:
-
- int x;
- int w;
-
- w = wopen(1,1,23,78,'#');
-
- wputat(w,5,10,"Num: "); /* A prompt for the next field. */
- wfinptintr(w,5,15,4,&x,3,10);/* At 5,15 a 4 character input */
- /* greater than 2 and less than */
- /* ten. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- wfinptintrd
- Summary:
-
- int wfinptintrd(w,rw,cl,mx,x,lw,hg,d);
- int w; /* Window to Use */
- int rw; /* Row of Field */
- int cl; /* Column of Field */
- int mx; /* Length of Field */
- int *x; /* Where to Put Result */
- int lw; /* Minimum Acceptable Value */
- int hg; /* Maximum Acceptable Value */
- int d; /* Default Value */
-
- Created: 10/19/86 Last Updated: 10/19/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: WFINPUT.OBJ
-
- Requires: wfinptintd()
-
- Description:
-
- This function behaves as does finptintrd(), only within the
- specified window. Remember that the function makes no check to
- see if the default is within the specified range, and if it is
- not it will not be returnable.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- The inputted integer, within the range, is returned, or, in the
- case of a carriage return as the first inputted character, the
- default value.
-
- See Also:
-
- inptintr() wfinptintr() finptintrd() wffill() wfinptstr()
- finptintr()
-
- Example:
-
- int x;
- int w;
-
- w = wopen(2,2,20,78,2);
-
- wputat(w,5,10,"Num: "); /* A prompt for the next field. */
- wfinptintrd(w,5,15,4,&x,3,10,5); /* At 5,15 a 4 character */
- /* input greater than 2 and less */
- /* than ten, or 5. */
-
-
-
-
-
-
-
-
-
-
-
-
- wfinptstr
- Summary:
-
- int wfinptstr(w,rw,cl,mx,str);
- int w; /* Window to Use */
- int rw; /* Row of Field */
- int cl; /* Column of Field */
- int mx; /* Length of Field */
- char *str; /* Where to Place Input */
-
- Created: 10/19/86 Last Updated: 10/19/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: WFINPUT.OBJ
-
- Requires: wgotoxy() cfield()
-
- Description:
-
- This function is the windowing equivalent of finptstr() and
- performs just like it. See the description of finptstr() for
- more information on this routine.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- A pointer to a duplicate of the inputted string is returned, via
- strdup().
-
- See Also:
-
- inptstr() finptstr() wfinptint() wffill() wfinptstr()
- wfinptstrd()
-
- Example:
-
- char temp[80];
- int w;
-
- w = wopen(1,1,20,78,1);
-
- wfinptstr(w,10,10,25,temp);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- wfinptstrd
- Summary:
-
- int wfinptstrd(w,rw,cl,mx,str,def);
- int w; /* Window to Use */
- int rw; /* Row of Field */
- int cl; /* Column of Field */
- int mx; /* Length of Field */
- char *str; /* Where to Place Input */
- char *def; /* Default String */
-
- Created: 10/19/86 Last Updated: 10/19/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: WFINPUT.OBJ
-
- Requires: wgotoxy() cfield()
-
- Description:
-
- This function displays the specified field in the window along
- with the default string. A string may be inputted or the default
- returned in the same manner as with finptstrd().
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- A pointer to a duplicate of the inputted string, or the default,
- is returned, via strdup().
-
- See Also:
-
- inptstrd() wfinptint() wfinptstred() ffill() finptstrd()
- wfinptstre()
-
- Example:
-
- char temp[80];
- int w;
-
- w = wopen(10,10,20,70,4);
-
- wfinptstrd(w,5,5,25,temp,"C Spot Run");
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- wfinptstre
- Summary:
-
- int wfinptstre(w,rw,cl,mx,str);
- int w; /* Window to Use */
- int rw; /* Row of Field */
- int cl; /* Column of Field */
- int mx; /* Length of Field */
- char *str; /* Where to Place Input */
-
- Created: 10/19/86 Last Updated: 10/19/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: WFINPUT.OBJ
-
- Requires: wfinptstred()
-
- Description:
-
- This function calls wfinptstred() with a null string as the
- default argument. It will continue to do so until an input is
- made.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing is returned.
-
- See Also:
-
- inptstr() finptstr() wfinptint() wffill() wfinptstr()
- wfinptstred() finptstre()
-
- Example:
-
- char temp[80];
- int w;
-
- w = wopen(2,2,20,78,5);
-
- wfinptstre(w,10,10,25,temp);
-
- wprintf(w,"temp contains: >%s<\n");
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- wfinptstred
- Summary:
-
- int wfinptstred(w,rw,cl,mx,str,def);
- int w; /* Window to Use */
- int rw; /* Row of Field */
- int cl; /* Column of Field */
- int mx; /* Length of Field */
- char *str; /* Where to Place Input */
- char *def; /* Default String */
-
- Created: 10/19/86 Last Updated: 10/19/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: WFINPUT.OBJ
-
- Requires: wgotoxy() cfield()
-
- Description:
-
- This function behaves as does finptstred() with the exception
- that it works within a window. Due to the complexity of this
- routine and the fact that it is functionally identical to
- finptstred() the complete description is not repeated here.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- A one is returned unless input was terminated by a special key,
- in which case its value will be returned. (Special keys return a
- null followed by an integer. The integer is returned here.)
-
- See Also:
-
- inptstr() wfinptint() wfinptstred() wffill() wfinptstr()
- finptstred()
-
- Example:
-
- char temp[80];
- int x;
- int w;
-
- w = wopen(4,4,20,70,5);
-
- x = wfinptstred(w,10,10,25,temp,"C Spot Run");
-
- if ( x != 1 ) /* Special Value */
- proccess(x); /* Proccess Key */
-
-
-
-
-
-
-
-
-
-
-
-
-
- wfinptyn
- Summary:
-
- int wfinptyn(w,rw,cl);
- int w; /* Window to Use */
- int rw; /* Row of Field */
- int cl; /* Column of Field */
-
- Created: 10/19/86 Last Updated: 10/19/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: WFINPUT.OBJ
-
- Requires: wgotoxy() cfield()
-
- Description:
-
- This function behaves as does finptyn(), only within a window. A
- description of how it functions is available under the finptyn()
- heading.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- A one or a zero for a 'Y' or an 'N'.
-
- See Also:
-
- inptyn() finptyn() wfinptint() wffill() wfinptstr() wfinptynd()
-
- Example:
-
- char temp[80];
- int w;
-
- w = wopen(1,1,23,78,' ');
-
- wfinptyn(w,10,10);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- wfinptynd
- Summary:
-
- int wfinptynd(w,rw,cl,def);
- int w; /* Window to Use */
- int rw; /* Row of Field */
- int cl; /* Column of Field */
- int def; /* Default Input */
-
- Created: 10/19/86 Last Updated: 10/19/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: WFINPUT.OBJ
-
- Requires: wgotoxy() cfield()
-
- Description:
-
- This function behaves within a window in a manner similar to that
- of finptynd(), where a complete description of the both functions
- can be found.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- A one or a zero for a 'Y' or an 'N', or whatever the default was.
-
- See Also:
-
- inptynd() finptynd() wfinptint() wffill() wfinptstr() wfinptyn()
-
- Example:
-
- char temp[80];
- int w;
-
- w = wopen(12,12,20,70,'+');
-
- wfinptynd(w,10,10,1); /* Default to Yes */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- wfreeze
- Summary:
-
- int wfreeze(num,top,bot);
- int num; /* Pointer to Window to Use */
- int top; /* First Scrollable Line */
- int bot; /* Last Scrollable Line */
-
- Created: 04/16/86 Last Updated: 04/16/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: COUTPUT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This routine allows you to set the scrollable lines within a
- window. When text a newline is printed on the last line inside a
- window, the text scrolls up. This routine allows you to 'freeze'
- a number of lines at the top and bottom of the window. The
- numbers specified are the first and last scrollable lines, and
- the default, full window, values are 0 and wrow(num).
-
- No error checking is performed on the values.
-
- The wcls() routine will only clear scrollable lines, and whome()
- will home the cursor to the first character on the first
- scrollable line. Reset the wfreeze() values to 0 and wrow(num)
- to clear an entire window.
-
- Compiler Specifics:
-
- Compiled with MSC. See window notes.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
-
-
- Example:
-
- wfreeze(w2,2,wrow(w2)-3); /* Freeze lines 0-1 at top, and the
- bottom three lines. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- wgotoxy
- Summary:
-
- int wgotoxy(num,row,col);
- int num; /* Pointer to Window to Use */
- int row; /* Row In Window to Go To */
- int col; /* Col In Window to Go To */
-
- Created: 03/03/86 Last Updated: 04/16/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: COUTPUT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This routine perfomrs the same function as gotoxy() within window
- coordinates. Remember that as on the screen, window coordinates
- start numbering at 0,0.
-
- Compiler Specifics:
-
- Compiled with MSC. See window notes.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- gotoxy() whome()
-
- Example:
-
- wgotoxy(w1,2,4); /* Put cursor at 2,4 in window 1. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- whline
- Summary:
-
- int whline(wind,row);
- int wind; /* Window to Draw in */
- int row; /* Row to Draw Line on */
-
- Created: 03/03/86 Last Updated: 03/03/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: COUTPUT.OBJ
-
- Requires: chline()
-
- Description:
-
- This function calls chline() with the correct parameters to draw
- a horizontal line in the specified window. The correct colors
- and border styles are used.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- chline() wvline()
-
- Example:
-
- #include <color.h> /* Just for the colors... */
-
- int w;
-
- w = wopen(5,5,20,60,1); /* A box with a single line border */
-
- whline(w,7); /* Draws a line across the box */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- whome
- Summary:
-
- int whome(num);
- int num; /* Pointer to Window to Use */
-
- Created: 04/20/86 Last Updated: 04/20/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: COUTPUT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This routine homes the cursor to the same coordinates as would be
- used in a window clear with wcls(), the upper left scrollable
- character in the specified window.
-
- Compiler Specifics:
-
- Compiled with MSC. See window notes.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- gotoxy() wgotoxy()
-
- Example:
-
- wfreeze(w,3,wrow(num)); /* First three lines frozen. (0-2) */
- whome(w); /* Cursor goes to 3,0. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- winptint
- Summary:
-
- int winptint(w,prompt);
- int w; /* Window to Input Within */
- char *prompt; /* Prompt for Input */
-
- Created: 08/16/86 Last Updated: 08/16/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: WINPUT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function performs the same function as inptint() only within
- the specified window.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- The integer inputted.
-
- See Also:
-
- inptint() winptintd() winptintr() winptintrd()
-
- Example:
-
- int w;
-
- w = wopen(2,5,10,76,3);
-
- wprintf(w,"winptint() returns: %d.\n"
- ,winptint(w,"Enter Integer:"));
-
- /* The above function prompts "Enter Integer: " and then */
- /* executes the wprintf statement. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- winptintd
- Summary:
-
- int winptintd(w,prompt,def);
- int w; /* Window to Input Within */
- char *prompt; /* Prompt for Input */
- int def; /* Default Integer */
-
- Created: 08/16/86 Last Updated: 08/16/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: WINPUT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This functions prompts and waits for an integer, or a carriage
- return, in which case it returns the default integer. Refer to
- inptintd() for details.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- The integer inputted, or the default.
-
- See Also:
-
- inptintd() winptint() winptintr() winptintrd()
-
- Example:
-
- int w;
-
- w = wopen(4,1,8,78,2);
-
- wprintf(w,"winptintd() returns: %d.\n"
- ,winptintd(w,"Enter Integer:",7));
-
- /* The above function prompts "Enter Integer: " and then */
- /* executes the wprintf statement. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- winptintr
- Summary:
-
- int winptintr(w,prompt,low,high);
- int w; /* Window to Input Within */
- char *prompt; /* Prompt for Input */
- int low; /* Lowest Acceptable Input */
- int high; /* Highest Acceptable Input */
-
- Created: 08/16/86 Last Updated: 08/16/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: WINPUT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- Performing in the same manner as inptintr() this function prompts
- for an integer within a range and waits until a valid one is
- received. For details refer to inptintr().
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- The integer inputted, within the specified range.
-
- See Also:
-
- inptintr() winptint() winptintd() winptintrd()
-
- Example:
-
- int w;
-
- w = wopen(1,1,20,78,1);
-
- wprintf(w,"winptintr() returns: %d.\n",winptintr(w
- ,"Enter Integer:",5,62));
-
- /* The above function prompts "Enter Integer: " and then */
- /* executes the wprintf statement. The returned value */
- /* will be greater than 4 and less than 63. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- winptintrd
- Summary:
-
- int winptintrd(w,prompt,low,high,def);
- int w; /* Window to Input Within */
- char *prompt; /* Prompt for Input */
- int low; /* Lowest Acceptable Input */
- int high; /* Highest Acceptable Input */
- int def; /* Default Value */
-
- Created: 08/16/86 Last Updated: 08/16/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: WINPUT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- Behaving as does inptintrd() this function prompts within the
- specified window with the default integer and waits until a
- carriage return is hit, in which case the default is returned, or
- an integer within the specified range is entered.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- The integer inputted, or the default, within the specified range.
-
- See Also:
-
- inptintrd() winptint() winptintd() winptintr()
-
- Example:
-
- int w;
-
- w = wopen(2,2,10,70,5);
-
- wprintf(w,"winptintrd() returns: %d.\n"
- ,winptintrd(w,"Enter Integer:",8,50,30));
-
- /* The above function prompts "Enter Integer: 30" and */
- /* then executes the wprintf statement. The returned */
- /* value will be greater than 7 and less than 51. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- winptstr
- Summary:
-
- char *winptstr(prompt);
- int w; /* Window to Input Within */
- char *prompt; /* Prompt for Input */
-
- Created: 08/25/86 Last Updated: 08/25/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: WINPUT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function is the window equivalent of inptstr(). It
- functions in an identical manner with the exception that the
- prompt and input are within the window.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- The character string inputted.
-
- See Also:
-
- inptstr() winptstrd() wfinptstr() wfinptstrd() wfinptstre()
- wfinptstred()
-
- Example:
-
- int w;
-
- w = wopen(2,2,20,78,'*'); /* Border of *'s. */
-
- wprintf(w,"Hello there, %s.\n",winptstr(w,"Your name?"));
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- winptstrd
- Summary:
-
- char *winptstrd(win,prompt,def);
- int win; /* Window to Input Within */
- char *prompt; /* Prompt for Input */
- char *def; /* Default String */
-
- Created: 08/25/86 Last Updated: 08/25/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: WINPUT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function performs like winptstr() with the exception that it
- prompts with a default string that is returned if a carriage
- return is entered as the first keystroke. For more information
- see inptstrd().
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- The character string inputted, or the default string.
-
- See Also:
-
- inptstrd() winptstr() wfinptstr() wfinptstrd() wfinptstre()
- wfinptstred()
-
- Example:
-
- int w;
-
- w = wopen(4,2,10,76,2);
-
- wprintf(w,"Hello there, %s.\n"
- ,winptstrd(w,"Your name?","Robert"));
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- winptyn
- Summary:
-
- char *winptyn(win,prompt);
- int win; /* Window to Prompt Within */
- char *prompt; /* Prompt for Input */
-
- Created: 08/16/86 Last Updated: 08/16/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: WINPUT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function behaves in the same manner as inptyn(), prompting
- and waiting for a yes or no response.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- A one or zero, dependent on the inputted character.
-
- See Also:
-
- inptyn() winptynd() wfinptyn() wfinptynd()
-
- Example:
-
- if ( winptyn(w,"Do you program microcomputers?") )
- wprintf(w,"Oh, you do.");
-
- /* Prompts 'Do you program microcomputers? (Y/N) ' */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- winptynd
- Summary:
-
- char *winptynd(win,prompt,x);
- int win; /* Window to Input Within */
- char *prompt; /* Prompt for Input */
- int x; /* Default Answer */
-
- Created: 08/16/86 Last Updated: 08/16/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: WINPUT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function performs identically to winptyn() except that the
- default response is the capital letter, and is returned if a
- carriage return is entered.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- A one or zero, dependent on the inputted character, or the
- default.
-
- See Also:
-
- inptynd() winptyn() wfinptyn() wfinptynd()
-
- Example:
-
- if ( winptyn(w,"Do you program microcomputers?",1) )
- wprintf(w,"Oh, you do.");
-
- /* Prompts 'Do you program microcomputers? (Y/n) ' */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- winsert
- Summary:
-
- int winsert(num,row,tms)
- int num; /* Pointer to Window to Use */
- int row; /* Row to Insert Line Before */
- int tms; /* Number of Lines to Insert */
-
- Created: 04/30/86 Last Updated: 04/30/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: COUTPUT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This routine inserts tms lines before the specified line in the
- specified window, scrolling all lines below down tms. The cursor
- goes to the first column in the first new line.
-
- Compiler Specifics:
-
- Compiled with MSC. See window notes.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- wdelete() wblank()
-
- Example:
-
- winsert(win,3,2); /* Insert two lines before line 3,
- new lines become 3 and 4, 3 becomes
- line 5. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- wjump
- Summary:
-
- int wjump(wind,x,y);
- int wind; /* Pointer to Window to Jump */
- int x; /* Upper Right Row */
- int y; /* Upper Right Col */
-
- Created: 03/03/86 Last Updated: 03/09/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: COUTPUT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function activates and moves the specified window to the x,y
- coordinates given. The window instantly 'jumps', placing it's
- upper right hand corner at x,y.
-
- Compiler Specifics:
-
- Compiled with MSC. See window notes.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- wmove()
-
- Example:
-
- wjump(w2,10,10); /* Jumps window w2 to 10,10 */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- wmessage
- Summary:
-
- int wmessage(win,str,val);
- int win; /* Window to Use */
- char *str; /* Message to Use */
- int val; /* Message Location */
-
- Created: 03/03/86 Last Updated: 03/03/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: COUTPUT.OBJ
-
- Requires: wprint()
-
- Description:
-
- Using the window's border attribute, this function prints a
- message to the user on the bottom border. For more information
- see the description of wtitle().
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- wtitle()
-
- Example:
-
- wmessage(w,"< Press a Key >",0);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- wmove
- Summary:
-
- int wmove(wind,dir);
- int wind; /* Pointer to Window to Move */
- int dir; /* Direction to Move Window */
-
- Created: 03/03/86 Last Updated: 03/09/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: COUTPUT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function will activate and move the specified window one
- space in the direction given in dir. The dir value is a number
- from one to four, up, right, down, and left, respectively.
-
- Compiler Specifics:
-
- Compiled with MSC. See window notes.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- wjump()
-
- Example:
-
- wmove(w2,10,10); /* Jumps window w2 to 10,10 */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- wopen
- Summary:
-
- int wopen(x,y,x2,y2,type);
- int x; /* Upper Left Row */
- int y; /* Upper Left Col */
- int x2; /* Lower Right Row */
- int y2; /* Lower Right Col */
- int type; /* Type of Border */
-
- Created: 03/03/86 Last Updated: 03/09/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: COUTPUT.OBJ
-
- Requires: cbox()
-
- Description:
-
- This function opens a video window. The current video attributes
- are used, the portion of the screen covered is saved, and then
- blanked with the interior color. The argument type may be of any
- one of the valid types used by box() and cbox().
-
- Compiler Specifics:
-
- Compiled with MSC. See window notes.
-
- Return Value:
-
- Returns a type int value needed to reference the window at a
- later time.
-
- See Also:
-
- wclose() wactivate()
-
- Example:
-
- int w;
-
- w = wopen(10,10,20,70,2); /* Open a large window */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- wprint
- Summary:
-
- int wprint(win,str);
- int win; /* Window to Use */
- char *str; /* String to Print */
-
- Created: 03/03/86 Last Updated: 03/03/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: COUTPUT.OBJ
-
- Requires: putchci()
-
- Description:
-
- Using the window's inside attributes, the string is printed at
- the current cursor position within the specified window, which is
- activated if it is not already so. The following escape
- characters may be used:
-
- \n Newline
- \t Tab
- \r Return
- \f Form-Feed, clear window
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- wprintf()
-
- Example:
-
- wprint(w3,"This line is outputted where the cursor is.\n");
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- wprintf
- Summary:
-
- int wprintf(win,str,args...);
- int win; /* Window to Use */
- char *str; /* Formatted String to Print */
- args... /* Formatting Arguments */
-
- Created: 03/09/86 Last Updated: 08/17/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: WPRINTF.OBJ
-
- Requires: wprint()
-
- Description:
-
- This function supports the full formatting capabilities of the
- regular printf() function, only it prints to the specified
- window. A maximum of 15 formatting arguments may be included, it
- is unlikely more should be needed.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- wprint()
-
- Example:
-
- wprintf(w2,"This is formatting... %03d %s.\n",38,"times");
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- wputat
- Summary:
-
- int wputat(win,x,y,string);
- int win; /* Window to Use */
- int x; /* Row to Print on */
- int y; /* Column to Print at */
- char *string; /* String to Print */
-
- Created: 03/09/86 Last Updated: 03/09/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: WPUTAT.OBJ
-
- Requires: wgotoxy() wprint()
-
- Description:
-
- This routine will place the string in the window specified at the
- coordinates specified. If not active the specified window will
- be activated.
-
- Compiler Specifics:
-
- Compiled with MSC. See window notes.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- putat()
-
- Example:
-
- wputat(win,4,5,"+ The plus sign is at 4,5 in window win.");
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- wputatf
- Summary:
-
- int wputatf(num,row,col,string,args...)
- int num; /* Pointer to Window to Use */
- int row; /* Row Coordinate */
- int col; /* Col Coordinate */
- char *string; /* Format String */
- args... /* Formatting Arguments */
-
- Created: 05/01/86 Last Updated: 08/17/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: WPUTATF.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This routine performs the same function as putatf() only within
- the specified window.
-
- Compiler Specifics:
-
- Compiled with MSC. See window notes.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- putatf() wputat() putat()
-
- Example:
-
- wputatf(win,4,6,"This line at %d,%d.",4,6);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- wputchar
- Summary:
-
- int wputchar(num,c);
- int num; /* Number of Window to Use */
- int c; /* Character to Output in Window */
-
- Created: 04/25/86 Last Updated: 04/25/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: COUTPUT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function simply outputs the character at the current
- position of the specified window.
-
- Compiler Specifics:
-
- Compiled with MSC. See window notes.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- wprint() wprintf()
-
- Example:
-
- wputchar(win,'\n');
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- wrow
- Summary:
-
- int wrow(wind);
- int wind; /* Pointer to Window to Use */
-
- Created: 03/03/86 Last Updated: 03/09/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: COUTPUT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function returns the number of the highest row in a window.
- If a window has four lines, numbered zero to three, wrow() will
- return a three. Mostly an internal routine.
-
- Compiler Specifics:
-
- Compiled with MSC. See window notes.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- wcol()
-
- Example:
-
- x = wrow(w3); /* Returns the number of highest row */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- wscolor
- Summary:
-
- #include <color.h> /* For Color Defintitions Only */
-
- int wscolor(wind,insd,bord);
- int wind; /* Pointer to Window to Use */
- int insd; /* New Color For Window Insides */
- int bord; /* New Color For Window Border */
-
- Created: 09/14/86 Last Updated: 09/14/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: COUTPUT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function is the equivalent of wcolor() except that it has an
- affect only on the specified window. It does not change the
- current color of the windows, but rather all subsequent output in
- that window.
-
- Compiler Specifics:
-
- Compiled with MSC. See window notes.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- wcolor() wcolor()
-
- Example:
-
- #include <color.h>
-
- int w;
-
- wcolor(RED_F,BLU_F);
-
- w = wopen(10,10,20,20,1);
- wprint(w,"This is some output.\n"); /* In red. */
- wscolor(w,GRN_F,WHT_F);
- wprint(w,"This text is in green, and any border manipualtion\n");
- wprint(w,"will be in white from now on, in this window.\n");
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- wscroll
- Summary:
-
- int wscroll(num,dir,tms)
- int num; /* Number of Window to Use */
- int dir; /* Direction to Scroll in */
- int tms; /* Number of Lines to Scroll */
-
- Created: 03/03/86 Last Updated: 03/03/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: COUTPUT.OBJ
-
- Requires: Nothing.
-
- Description:
-
- This function will scroll the specified window tms lines in the
- specified window. The direction is 0 for up, or 1 for down.
- Specifying 0 lines will clear the window.
-
- Compiler Specifics:
-
- Compiled with MSC. See window notes.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- scroll()
-
- Example:
-
- wscroll(win,0,1);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- wtitle
- Summary:
-
- int wtitle(win,str,val);
- int win; /* Window to Use */
- char *str; /* Title to Use */
- int val; /* Title Location */
-
- Created: 03/03/86 Last Updated: 03/03/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: COUTPUT.OBJ
-
- Requires: wprint()
-
- Description:
-
- This routine will place a string along the top border of the
- specified window in either the center, on the left, or on the
- right. To specify the location, val is 0, center, 1, left, or 2,
- right. The window's border attribute is used.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- wmessage()
-
- Example:
-
- wtitle(w,"[ Window 1 ]",1);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- wvline
- Summary:
-
- int wvline(wind,col);
- int wind; /* Window to Use */
- int col; /* Column for the Line */
-
- Created: 03/03/86 Last Updated: 03/03/86
-
- Author: Bob Pritchett Source (C/A): C
-
- Located in: COUTPUT.OBJ
-
- Requires: cvline() putchci() gotoxy()
-
- Description:
-
- This function calls cvline() with the correct parameters to draw
- a vertical line in the specified window. The correct colors and
- border styles are used.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing.
-
- See Also:
-
- cvline() whline()
-
- Example:
-
- #include <color.h> /* Just for the colors... */
-
- int w;
-
- w = wopen(5,5,20,60,1); /* A box with a single line border */
-
- wvline(w,10); /* Draws a line down the box */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- zero_tmr
- Summary:
-
- void zero_tmr(x);
- int x; /* The Number of the Counter to Use */
-
- Created: 01/03/87 Last Updated: 01/03/87
-
- Author: Dave Perras Source (C/A): C
-
- Located in: TIMERS.C TIMERS.OBJ
-
- Requires: get_timer()
-
- Description:
-
- This function sets the specified timer to the current value of
- the real time clock, effectively 'zeroing' the counter.
-
- Compiler Specifics:
-
- None.
-
- Return Value:
-
- Nothing is returned.
-
- See Also:
-
- get_timer() start_tmr() stop_tmr() read_tmr() reset_tmr() timer()
- init_tmr()
-
- Example:
-
- init_tmr(); /* Initialize Timers */
-
- start_tmr(5); /* Start timer number 5. */
-
- printf("%d seconds have elapsed.\n",10 * read_tmr(5));
- /* The above statement does not stop the timer. */
-
- zero_tmr(5); /* Zero the timer to the current */
- /* time. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- CheckC
- Summary:
-
- Created: 12/25/85 Last Updated: 09/16/86
-
- Author: Bob Pritchett Source: C
-
- Syntax: CheckC [/A] <source> [<source>...]
-
- Documentation:
-
- CheckC
-
- A Small C Code Checker.
-
- Copyright 1985, 1986 Bob Pritchett
- New Dimension Software
-
- Version 2.1 - Documentation
-
- CheckC has come quite some distance since version 1.3 was
- released with the first version of C Spot Run. It now supports
- an analysis mode with full error recovery, and is better
- implemented over all.
- CheckC started as a simple bracket counter type program,
- checking to make sure brackets, quotes, etc, all were present in
- even numbers. And the present time it can analyze a file and
- report syntactical errors to, on average, within two lines, and
- then recover in order to find any subsequent errors, assuming the
- one just found was corrected.
- CheckC may be invoked with as many file names as DOS allows,
- and will check each one in order for matching pairs of all
- relevant characters, quotes, and comments. The real power is
- displayed when it is invoked with a /A as the first argument,
- followed by the file names. In this case a rather comprehensive
- (for a character oriented program) syntax check will be executed,
- with errors and problem spots reported in the format of line
- number followed by error description.
- CheckC knows when to and when not to be checking syntax.
- While in comments, everything but an end of comment is ignored.
- (NOTE! CheckC does NOT allow for nested comments, in accordance
- with K&R.) The same applies to quoted strings, with the added
- contitions that CheckC is aware of when to ignore quotes (as in
- escape sequences), and when they may be missing. (When a newline
- is found in a quoted string a warning is generated indicating
- that further analysis may be incorrect.) Single quotes are
- processed under the rule that only one character is allowed
- between them, the maximum physical characters being two in the
- case of an escape sequence.
- CheckC's analysis will sometimes refer to errors concerning
- functions or blocks. CheckC refers to any code one bracket level
- deep as a function, and any code several brackets deep as a
- block. Unfortunatly, as you may open a virtually unlimited
- number of blocks, a missing open bracket can only be detected
- when the number of closing brackets exceeds the number of opening
-
-
-
-
-
-
-
-
-
-
-
- ones. In such a case an error is noted, the missing character
- assumed, and analysis continued. By noting funtion vs. block in
- the error, and tracing structured code up from the line number,
- the missing (or extra) bracket can easily be found.
- Another way of finding mismatched characters as soon as
- possible is looking for semicolons within them. Anytime a
- semicolon is found within a set of parenthesis or square
- brackets, chances are that there is a missing closing character
- within a few lines of it. (Semicolons within for() statements
- will not cause this error flag.)
- If a comment is left open, causing the rest of the file to
- go un-analyzed, a line number will be reported with the error at
- when end of file is reached. This is the line on which last
- found comment was opened, and from there the error should be
- obvious.
- On the whole, CheckC's errors are self explanatory, and in
- all testing so far it has been perfectly accurate. It is much
- more likely to report a few extra errors when recovery is not
- complete then to miss any. Without the analysis mode it is
- severly crippled, and it is recommended that you use the /A flag
- with everything unless your code varies from K&R enough to cause
- false errors.
- I'd appreciate it if you could report any bugs or
- suggestions, and let me know how you like it. Good luck!
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- FLine
- Summary:
-
- Created: 03/02/86 Last Updated: 03/03/86
-
- Author: Bob Pritchett Source: C
-
- Syntax: FLine <source> <dest>
-
- Documentation:
-
- FLine
-
- A Structured Programming Utility
-
- Copyright 1986 Bob Pritchett
- New Dimension Software
-
- Version 1.1 - Documentation
-
- FLine is a programming tool that goes through source code
- and places all lines beginning with a non-whitespace character
- into the specified output file. This creates a useful reference
- file containing a list of all function declarations, including
- arguments, global variables, comments, and pre-processor
- directives. (This assumes, of course that you indent the actual
- code within your source file.)
- FLine is called as:
-
- FLine <source> <dest>
-
- Where <source> is the source code to process and <dest> is
- the name of the file to place the output in. Note that whatever
- is in <dest> is erased and replaced with FLine's output.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- CSRSHELL.ASM
- Summary:
-
- Created: 09/10/86 Last Updated: 09/10/86
-
- Author: Various
-
- Documentation:
-
- CSRShell.ASM is a small file that contains a complete shell
- for writing assembly interfaces to Microsoft C. (In the planning
- stages are additions for contitional assembly for other
- compilers.) Things such as large and small model assembly,
- argument reading, stack setup and more are included and
- explained.
- To make use of the shell, copy it into another appropriately
- named file, insert the correct function name over _shell
- (remember to preserve the underscore, MSC needs it), replace the
- two dummy argument reads with your assembly source, and place
- your data in the appropriate place.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- COLOR.H
- Summary:
-
- Created: 04/14/86 Last Updated: 09/20/86
-
- Author: Bob Pritchett
-
- Description:
-
- This include file contains the define statements for all the
- color attributes possible in text. The colors are listed with a
- three letter name followed by a _ and F or B signifying fore or
- background attribute. To get a full attribute, add a fore and
- background color. (BLU_F+RED_B)
-
- Also included are definitions for BOLD (which is added to an
- attribute to intensify it), NORMAL (white on black), and several
- others. (NOTE: Some of the attriutes are for monochrome
- displays only, for example, UNDERLINE shows as blue on a color
- screen, and REVERSE as black on white.)
-
- For a list of all the colors and their abbreviations look at the
- header file.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- CSRDOS.H
- Summary:
-
- Created: 04/04/86 Last Updated: 04/04/86
-
- Author: Bob Pritchett and Alan Losoff
-
- Description:
-
- This header file contains structures and #define statements
- needed by functions accessing DOS 2.0 functions.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- CSRMENU.H
- Summary:
-
- Created: 08/08/86 Last Updated: 08/16/86
-
- Author: Bob Pritchett
-
- Description:
-
- This header file contains the typdef statement to create the MENU
- data type needed for the function pmenu(). The structure is as
- follows:
-
- typedef struct _mnu
- {
- char title[23]; /* Title of the menu */
- int type; /* Style of the border */
- int border; /* Window's border color */
- int normal; /* Color for unhighlighted items */
- int bar; /* Color for the highlight bar */
- int row; /* Upper left window row */
- int col; /* Upper left window column */
- int num; /* Number of enteries */
- struct _ent
- {
- char text[25]; /* Item's name */
- int value; /* Return value for item / -1 Static */
- } entry[MAX_ENTRIES];
- } *MENU;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- CSRMISC.H
- Summary:
-
- Created: 04/20/86 Last Updated: 12/05/86
-
- Author: Bob Pritchett
-
- Description:
-
- This header file contains dummy(), iswild(), and the defintions
- for the min() and max() macros which were ommitted from
- Microsoft's standard library.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- CSRMODES.H
- Summary:
-
- Created: 05/05/86 Last Updated: 05/05/86
-
- Author: Bob Pritchett
-
- Description:
-
- This header file contains define statements for the different
- video modes. It is intended to be used with set_mode().
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- CSRSOUND.H
- Summary:
-
- Created: 08/07/86 Last Updated: 08/07/86
-
- Author: Bob Pritchett (Data from Norton's Book.)
-
- This header file contains note definitions for use with the
- sound() routine in CSRSOUND.OBJ.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- CSRTIME.H
- Summary:
-
- Created: 05/05/86 Last Updated: 04/20/86
-
- Author: Bob Pritchett
-
- This file contains two static char * arrays containing the names
- of the days of the week and the days of the month. The days of
- the week start with Sunday, the months start with a null and then
- January as the second entry, element one, to allow compatibility
- with the way DOS returns the date.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ERRORS.H
- Summary:
-
- Created: 05/05/86 Last Updated: 05/05/86
-
- Author: Bob Pritchett (Data from Norton's Book.)
-
- This file contains a static char * array containing the DOS
- errors returned in AX after a DOS function call. These errors
- are for DOS 2.X alone, and do not apply to DOS 3.X extended error
- codes. Error descriptions start with element one.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- SKEY.H
- Summary:
-
- Created: 02/22/86 Last Updated: 02/22/86
-
- Author: Bob Pritchett (Data from Norton's Book.)
-
- Description:
-
- This header file contains #define statements for all of the
- special keys and combinations on the keyboard. These values are
- those returned as extened codes, after a null is read. They are
- in the basic format of KEY1KEY2, or simply Fx for function keys.
- (Note: Function keys are numbered through 40, 1-10 are normal
- keys, 11-20 are shift keys, 21-30 are ctrl keys, and 31-40 are
- alt keys. As in Shift-F2 returns F12.)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- C Spot Run - Documentation
-
-
- Appendix A - Updating the Library
-
- The C Spot Run routine library is constantly being added to
- as we receive contributions and write more routines ourselves.
- In the interest of saving time and space, library updates will
- come in one of two forms.
- First, small collections of new routines, or single
- routines, will be placed in archives along with a single page of
- documentation and distributed via BBSs. Registered users will
- receive information about new updates or a copy of those updates.
- When you receive an update archive you simply place the files
- into your library or linking directory and print out the
- documentation page, which is then inserted in alphabetical order
- into the library description section of this manual. (This is
- why those pages are not numbered and we recommend storing your
- manual in a three ring binder.)
- Second, major updates to the entire library will be
- distributed in archives containing all the routines, and a
- totally new version of the complete manual. These updates will
- be on new version numbers.
- To keep on top of changes to the library it is suggested
- that you read issues of the C Spot Run Newsletter as it is
- released, and make an occasional call to the support BBS where
- the latest version of the library and newsletter are always
- available.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- C Spot Run - Documentation
-
-
- Appendix B - Contacting Authors
-
- Each description page mentions the name of the author of
- that routine, utility, or aid. If for some reason you would like
- to contact that author you may check the following directory for
- addresses and possibly phone numbers. (NOTE: All of the
- following authors voluntarily placed their addresses and
- sometimes their phone numbers in this directory. They have
- indicated a willingness to answer questions by doing this, but we
- ask you to be considerate with you calling hours and keep in mind
- differences in time zones.)
-
- Mongelluzzo, Philip A. (203) 574-2326 - Voice
- 273 Windy Drive (203) 271-1579 - Data (300/1200B)
- Waterbury, CT 06705
-
- Pritchett, Bob (609) 424-2595 - Voice
- 23 Pawtucket Drive (609) 354-9259 - Data (300-2400B)
- Cherry Hill, NJ 08003 FidoNet: 107/414
-
- Roukas, George
- C/O Pinelands BBS (609) 354-9259 - Data (300-2400B)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- C Spot Run - Documentation
-
-
- Appendix C - Submitting Routines or Utilities
-
- All submissions to the routine library or utility collection
- should be made using the Routine/Utility Submission Form, and
- should be sent to the address on that form. Please do not make
- additions to the library or utility collection on your own, this
- creates a problem and complicates the distribution.
- In addition to the following form please enclose a
- description of the routine or utility, preferably on an IBM PC
- disk (360K or 1.2Meg). Please make this description in the
- appropriate format as specified in sections 4.1 and 4.2 of this
- manual.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- C Spot Run - Documentation
-
-
- Appendix D - History of Versions and Changes
-
- 01/10/87 - Version 2.0 of the library released with new
- features and a new newsletter.
-
- 10/13/86 - Limited release of version 1.1 of the library to
- some registered users. Most bugs fixed, manual updated, new
- routines.
-
- 06/27/86 - First issue of the newsletter released.
-
- 05/05/86 - Version 1.0 of the library released.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- C Spot Run - Documentation
-
-
- Appendix E - ASCII Table
-
- Dec Hex Chr Dec Hex Chr Dec Hex Chr
- --- --- --- --- --- --- --- --- ---
- 0 00 NUL 43 2B + 86 56 V
- 1 01 SOH 44 2C , 87 57 W
- 2 02 STX 45 2D - 88 58 X
- 3 03 ETX 46 2E . 89 59 Y
- 4 04 EOT 47 2F / 90 5A Z
- 5 05 ENQ 48 30 0 91 5B [
- 6 06 ACK 49 31 1 92 5C \
- 7 07 BEL 50 32 2 93 5D ]
- 8 08 BS 51 33 3 94 5E ^
- 9 09 HT 52 34 4 95 5F _
- 10 0A LF 53 35 5 96 60 `
- 11 0B VT 54 36 6 97 61 a
- 12 0C FF 55 37 7 98 62 b
- 13 0D CR 56 38 8 99 63 c
- 14 0E SO 57 39 9 100 64 d
- 15 0F SI 58 3A : 101 65 e
- 16 10 DLE 59 3B ; 102 66 f
- 17 11 DC1 60 3C < 103 67 g
- 18 12 DC2 61 3D = 104 68 h
- 19 13 DC3 62 3E > 105 69 i
- 20 14 DC4 63 3F ? 106 6A j
- 21 15 NAK 64 40 @ 107 6B k
- 22 16 SYN 65 41 A 108 6C l
- 23 17 ETB 66 42 B 109 6D m
- 24 18 CAN 67 43 C 110 6E n
- 25 19 EM 68 44 D 111 6F o
- 26 1A SUB 69 45 E 112 70 p
- 27 1B ESC 70 46 F 113 71 q
- 28 1C FS 71 47 G 114 72 r
- 29 1D GS 72 48 H 115 73 s
- 30 1E RS 73 49 I 116 74 t
- 31 1F US 74 4A J 117 75 u
- 32 20 75 4B K 118 76 v
- 33 21 ! 76 4C L 119 77 w
- 34 22 " 77 4D M 120 78 x
- 35 23 # 78 4E N 121 79 y
- 36 24 $ 79 4F O 122 7A z
- 37 25 % 80 50 P 123 7B {
- 38 26 & 81 51 Q 124 7C |
- 39 27 ' 82 52 R 125 7D }
- 40 28 ( 83 53 S 126 7E ~
- 41 29 ) 84 54 T 127 7F DEL
- 42 2A * 85 55 U
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- C Spot Run - Documentation
-
-
- Appendix F - Window Border Styles
-
-
- Type 1 Type 2
-
- +--------+ +========+
- | | | |
- +--------+ :========:
- | | | |
- +--------+ +========+
-
-
- Type 3 Type 4
-
- ++======++ ++------++
- || || || ||
- |:======:| |+------+|
- || || || ||
- ++======++ ++------++
-
-
- Type 5
-
- The actual plus and minus characters will
- be used, resulting in a display identical to
- the non graphic representation of type number 1.
-
-
- Any Other Character
-
- If any other character is used as the type
- argument, that character will be used for the border.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- C Spot Run - Documentation
-
-
- Quick Reference Chart
-
- Control-Break Routines
- ----------------------------------------
- cbcapt() cbrest()
-
- Cursor Control Routines
- ----------------------------------------
- current_page() cursor_off() cursor_on() cursor_read()
- cursor_size() gotoxy() restore_cursor()
- save_cursor()
-
- Date Manipulation Routines
- ----------------------------------------
- chk_date() date_sn() day_of_year() dt_diff()
- isleap() month_day() sn_date() valid_date()
-
- Disk Drive Routines
- ----------------------------------------
- dirwin() ffirst() fnext() get_drive()
- num_drives() set_drive()
-
- Field Input Routines
- ----------------------------------------
- cfield() fchar() fcolor() ffill()
- finptint() finptintd() finptintr() finptintrd()
- finptstr() finptstrd() finptstre() finptstred()
- finptyn() finptynd()
-
- Graphics Routines
- ----------------------------------------
- gback() gbox() gcircle() gdot()
- gfbox() ginit() gline() gpal()
-
- Input Routines
- ----------------------------------------
- inptint() inptintd() inptintr() inptintrd()
- inptstr() inptstrd() inptyn() inptynd()
-
- Miscellaneous Routines
- ----------------------------------------
- dosver() getpw() istemplate() itofa()
- ltofa() mcolor() sound() soundex()
-
- Printer Routines
- ----------------------------------------
- lprint() lprintf() lputchar() print_screen()
- prtrns()
-
- Screen Control and Output Routines
- ----------------------------------------
- border() box() cbox() ccenter()
- ccls() ccputs() center() centerf()
- cfield() chline() cls() cvline()
- message() mscroll() pmenu() pop_menu()
-
-
-
-
-
-
-
-
- C Spot Run - Documentation
-
-
- putat() putatf() putchc() putchci()
- restore() restore_screen() save()
- save_screen() scroll() set_mode() vidblt()
-
- String Routines
- ----------------------------------------
- match() soundex() strcen() strght()
- strlft() strtrm()
-
- System Clock Routines
- ----------------------------------------
- get_date() get_dow() get_time() set_date()
- set_time()
-
- Timer Routines
- ----------------------------------------
- get_timer() init_tmr() read_tmr() reset_tmr()
- start_tmr() stop_tmr() timer() zero_tmr()
-
- Window Routines
- ----------------------------------------
- cmenu() color() dma() fixcolor()
- retrace() wactivate() wblank() wborder()
- wcenter() wcenterf() wclose() wcloseall()
- wcls() wcol() wcolor() wdelete()
- wfreeze() wgotoxy() whline() whome()
- winsert() wjump() wmessage() wmove()
- wopen() wprint() wprintf() wputat()
- wputatf() wputchar() wrow() wscolor()
- wscroll() wtitle() wvline()
-
- Window Field Input Routines
- ----------------------------------------
- wcfield() wfchar() wfcolor() wffill()
- wfinptint() wfinptintd() wfinptintr() wfinptintrd()
- wfinptstr() wfinptstrd() wfinptstre() wfinptstred()
- wfinptyn() wfinptynd()
-
- Window Input Routines
- ----------------------------------------
- winptint() winptintd() winptintr() winptintrd()
- winptstr() winptstrd() winptyn() winptynd()
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Routine/Utility Submission Form
-
-
- Name of Routine/Utility: ___________________________________
-
- Form(s) of Submission (C/ASM/OBJ/LIB/EXE/COM): _____________
-
-
- Are you releasing this routine/utility to the Pubic Domain
-
- or under another program? (PD/Program): ___________________
-
-
- If this release is under a voluntary contribution program,
-
- what is the suggested contribution? ($): ___________________
-
-
- May we put your address in the author directory? (Y/N): ____
-
- Your phone number? (Y/N): ____
-
- Your data address? (Y/N): ____
-
-
- Name: _________________________________
-
- Address: _________________________________
-
- City: _____________________ State: ____ ZIP: _________
-
- Phone: ( ) - Hours: ____________________
-
- Source ID: _______________ CompuServe ID: _________________
-
- Data #: ( ) - Hours: ____________________
-
- Fido Net: ____ /_____ Baud: ____________________
-
- In submitting this form you place your routine or utility
- into the C Spot Run C Add-on and Utility Library, and give
- permission for it's use as specified in Appendix C and
- sections one and two of this manual.
-
- Please send this form via US Mail to the following address,
- or via modem to the accompanying FidoNet address.
-
- Don't forget the description sheets, and of course the files
- you are submitting!
-
- C Spot Run
- New Dimension Software FidoNet 107/414
- 23 Pawtucket Drive Data: (609) 354-9259
- Cherry Hill, NJ 08003
-
-
-
-
-
-
-
-
-
-
-
-
- User Response Form
-
-
- We would like to hear from you, and would appreciate any
- comments, suggestions, and/or donations. Even if you are not
- making a donation or contributing to the library, we would
- appreciate some input, and it helps us to know if the library is
- serving it's intended purpose, and gives us some information on
- our users. Of course this is voluntary, but we hope you will
- take the time to fill out and mail this form.
-
- How did you obtain your copy of C Spot Run? ________________
-
- ____________________________________________________________
-
-
- What, in your opinion, are the most useful routines and
-
- utilities? _________________________________________________
-
-
- What do you think of the documentation? ____________________
-
- ____________________________________________________________
-
-
- Are you enclosing a contribution, and if so, how much and
-
- why? _______________________________________________________
-
-
- Do you have any comments and/or suggestions? _______________
-
- ____________________________________________________________
-
- ____________________________________________________________
-
-
- Would you like to be on a possible mailing list? (Y/N) ____
-
-
- Name: _________________________________
-
- Address: _________________________________
-
- City: _____________________ State: ____ ZIP: _________
-
- Phone: ( ) - Hours: ____________________
-
- Source ID: _______________ CompuServe ID: _________________
-
- Data #: ( ) - Hours: ____________________
-
- Fido Net: ____ /_____ Baud: ____________________
-
-
-
-
-
-
-
-
-
-
-
-
-
- Thank you, we hope you find the C Spot Run library of use.
-
- Please send this form via US Mail to the following address,
- or via modem to the accompanying FidoNet address.
-
-
- C Spot Run
- New Dimension Software FidoNet 107/414
- 23 Pawtucket Drive Data: (609) 354-9259
- Cherry Hill, NJ 08003
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Order Form
-
- NOTE: Users who receive source code may not redistribute
- it. The code is for your use only, and the right to redistribute
- is not included in the purchase. If two or more people will be
- using the source, rather then ordering just one copy please
- contact the author about a discount on several copies.
-
-
- ( ) I would like to register as a C Spot Run User, receive
-
- complete source code on disk, update notifications, and be placed
-
- on whatever mailing list may be formed. I am enclosing a $50
-
- donation.
-
-
- ( ) I would like to register as a C Spot Run User and
-
- receive all the benfits of such status with the exception of the
-
- source code. I am enclosing a $10 donation.
-
-
- Name: _________________________________
-
- Address: _________________________________
-
- City: _____________________ State: ____ ZIP: _________
-
- Phone: ( ) - Hours: ____________________
-
- Source ID: _______________ CompuServe ID: _________________
-
- Data #: ( ) - Hours: ____________________
-
- Fido Net: ____ /_____ Baud: ____________________
-
-
- C Spot Run
- New Dimension Software FidoNet 107/414
- 23 Pawtucket Drive Data: (609) 354-9259
- Cherry Hill, NJ 08003
-
-
-
- +-------------------- NDS USE ONLY --------------------+
- | |
- | Recieved: ____ /____ /____ Sent: ____ /____ /____ |
- | |
- | Serial Number: ________________ |
- | |
- +--------------------------------------------------------+
-
-
-
-
-
-
-
-
-