home *** CD-ROM | disk | FTP | other *** search
/ Hot Shareware 35 / hot35.iso / ficheros / LC / SIMPWN18.ZIP / SIMPWIN.ZIP / SIMPWIN.DOC < prev    next >
Text File  |  1998-06-25  |  72KB  |  2,047 lines

  1. <READOCS-FILE>
  2. <LEFT>                              
  3. <PRINT><PAGE><OFF>
  4. <PRINT><WINDOW><9><1><80><60><2><0>
  5. <PRINT><LINE><22><0><1>
  6. <READ><HEADER><Simple Windows 1.7 Docs>
  7. <CENTER>
  8. Simple Windows 1.8   
  9. Copyright 1994-1997 By Bruce O'Banion
  10. A Text graphic I/O engine for Turbo C/C++
  11.  
  12. Turbo C 2.0 and Turbo C++ 1.0 copyright 1987-1990 
  13. by Borland International Inc.
  14. MS-DOS 5.0 copyright 1991 by Microsoft Corp.
  15.  
  16. Sharespell v3.1 copyright 1989-96 by Acropolis Software.
  17.  
  18. This is an unregistered version of Simple Windows.
  19. <PRINT><LINE><1><48><205>
  20. <PRINT><PAGE><NEW>
  21. <PRINT><LINE><4><0><1>
  22. <READ><OFF>
  23. <PRINT><PAGE><OFF>
  24. Table of Contents
  25. <PRINT><LINE><1><17><205>
  26. <LEFT>
  27.  
  28.   General Info ............................... Page 1
  29.   Support .................................... Page 3
  30.   Future ..................................... Page 4
  31.   Version History ............................ Page 5
  32.   Quarks/Hints ............................... Page 6
  33.   Functions:
  34.       Window ................................. Page 7
  35.       Menu ................................... Page 11
  36.       Entry .................................. Page 13
  37.       Print .................................. Page 16
  38.       Screen ................................. Page 19
  39.       Music .................................. Page 22
  40.       Disk ................................... Page 23
  41.       Init ................................... Page 25
  42.       Mouse .................................. Page 26
  43.   Defines .................................... Page 29
  44.   Legal Stuff ................................ Page 30
  45.   Registration ............................... Page 38
  46.  
  47.  
  48. <PRINT><PAGE><NEW>
  49. <PRINT><HEADER><General Information>
  50. <CENTER>
  51. <READ><LINE><1><74><205>
  52. General Info
  53. <PRINT><LINE><1><12><205>
  54. <LEFT>
  55.  
  56.    Simple Windows 1.8 is a text graphic orientated Turbo C/C++ 
  57. utility. The basic system used is file allocation with a static 
  58. 18k buffering system. This system achieves a small static ram 
  59. usage with virtually unlimited capacity. Literal thousands of 
  60. windows, menus, forms, and songs can be used and the library will 
  61. remain a static 18k ram usage. The libraries are small. ranging 
  62. from less than 37k to max 54k for the large debug library. The 
  63. library contains window and menu management. Both screen and print
  64. form loads. Tone and cord music routines as will as a playsong 
  65. function. There is also disk management for all opening and 
  66. closing operations including pointers. Print management for 60 
  67. line by 80 characters pages is also included as will as a 
  68. makefile editor for the load files. There are two types of 
  69. libraries, debug and no debug. Swinerrx.lib is the debug library 
  70. and contains checks on parameters and files and displays error 
  71. messages on screen. The error massage will appear and the 
  72. function will abort. The massage will contain the parameters 
  73. found bad, the function it is in and the number of the current 
  74. window. Swinx.lib contains no error detection but will return 
  75. error codes from the functions on file allocation. It is also 
  76. smaller.
  77.    All functions return 0 on success and 1 on failure except 
  78. cursor hide/show All file allocations return -1 on end of file or 
  79. _doserrno on all other fails. Printer functions _doserrno on 
  80. failure,3 on time out, and biosprint stats for any other failure 
  81. and 0 for success. Mouse21 is a small mouse function library that 
  82. has a graphics cursor as will as the standard text graphics 
  83. cursor. There are defines for left, right and mid button pressed 
  84. and release. Loadcurs() loads one of 8 cursors for graphics 
  85. cursor from file cursor.fnt. 
  86.  Simptut.c is included for study and you can fell free to use
  87. any of the code included in it.
  88.  Simple Windows libraries were compiled on a 286 HP using Turbo 
  89. C 2.0 and Turbo C++ 1.0,Coprocessor emulation and 286 instruction
  90. set were used.
  91.   SWSKDEF.H is the special key bios codes (F, ALT, PageUP/DN, 
  92. CURSOR) and should be included if these are to be used.
  93.   Makefile is the real heart of simple windows. It is the editor 
  94. for constructing the call files. It has help screens for every 
  95. function. All you have to do is cursor to the function and hit F1. 
  96. A help screen will then appear. 
  97.   There are six types of files 5 are for the call files themselves 
  98. (window, menu,screen forms, print forms, and songs). The sixth is 
  99. the scheme file. It is for viewing your graphics for your entire 
  100. program. The current scheme display is also used when creating 
  101. windows and menus. All file types can be loaded at once so you can 
  102. work with windows and menus or screens for a single program 
  103. without reloading.
  104.   When all your files are made they then can be call in the 
  105. program saving much coding that would be required to build them 
  106. in the program. This will make your program much smaller and also 
  107. allows you to design your graphics with out using the compiler or 
  108. ,if you use a graphic artist, knowing programing.
  109.   For now the editor is fairly crude but the upgrade will have 
  110. click drag mouse and only a single name for the files will be 
  111. needed.  
  112.  Swloadft.exe uses the file name of the font file you are loading 
  113. as a parameter,use system and call swloadft font.fnt(or file name) 
  114. to load fonts in the program. I have included 8 font files.
  115.   I have 3 conversion executes to change older Simple Windows 
  116. files to the new format. Convwin and Convmen will convert
  117. old (version 1.6 or earlier) menu, help files and window files 
  118. to the new format. Convsng will convert song files. They take 
  119. one argument the file name of the file to convert. 
  120.   Swtotext.exe and txttosw.exe will convert menu and help files
  121. to an ASCII text format for spell checking and back to Simple
  122. Windows format. Swtotxt.exe converts a file to ASCII text. It
  123. takes an argument of the file name to convert and gives it the
  124. extension .TXT. Txttosw.exe converts the file back to Simple
  125. windows format. It takes 2 arguments the text file to convert
  126. with the extension .TXT and the file name to restore to with
  127. extension (.MEN, .HLP, ect...). I have also include ShareSpell
  128. v3.1 to do the spell checking. Registration is $20 for this.
  129.  
  130.    Installation is easy just unzip SIMPWN18.ZIP and from that 
  131. directory or disk type install at the prompt. Then follow the 
  132. instructions. Simple Windows can be deinstalled just as easy. 
  133. Again use install.exe from the distribution disk or if zipped 
  134. unzip to a temp directory and run from there. Simpwin.doc can be 
  135. read or printed with readocs.exe. It is a text file reader/printer 
  136. and will read or print a text file.
  137.  
  138.   This program and utility were compiled on a 386 clone with the 
  139. 286 instruction set. It requires a 286 PC or compatible DOS 4.1
  140. or higher,MS mouse, and EGA or higher (VGA for some 
  141. functions). A 9 pin dot matrix is needed to print the docs. 
  142.  
  143.   Feel free to call me or leave a note of criticism or praise 
  144. about this or any other part of this utility. Any feedback will be 
  145. greatly appreciated. See support for addresses.
  146. <PRINT><PAGE><NEW>                              
  147. <PRINT><HEADER><Support>
  148. <CENTER>
  149. <READ><LINE><1><74><205>
  150. Support
  151. <PRINT><LINE><1><7><205>
  152. <LEFT>
  153.  
  154. I will be available for tech support at this address:
  155.      
  156.            Bruce R. O'Banion
  157.            RT 1 Box 148A
  158.            Pauls Valley,OK 73075
  159.        
  160.            Phone: 405-665-4042  (24hr answer machine)
  161.                   405-665-4047  (24hr answer machine)
  162.      
  163. Or on the internet simplyst@telepath.com
  164.  
  165. Home page: http://www.telepath.com/simplyst/homepage.htm
  166.  
  167. <PRINT><PAGE><NEW>
  168. <PRINT><HEADER><Future>
  169. <CENTER>
  170. <READ><LINE><1><74><205>
  171. The Future
  172. <PRINT><LINE><1><10><205>
  173. <LEFT>
  174.  
  175.    The future looks bright for simple windows. I plan for more 
  176. music cords and styles, 4 screens modes, a better makefile editor, 
  177. more entries like float and double. I am also working on a full 
  178. screen editor as a single call. There will be complete window 
  179. management, editing, and moves. Also Dual screen fonts with full 
  180. font editing. There will be 16 out of 64 colors in EGA and over 
  181. 200k in VGA. Last but not least more ASM code for speed and size 
  182. and more.
  183.    Later still I plan to take this system to full graphics and i/o 
  184. control for a complete i/o utility. Again the system will remain 
  185. small and static for easy programming. If you have suggestions 
  186. feel free to contact me.
  187.  
  188. Email simplyst@telepath.com
  189.  
  190. Or see my web page and the other Simply Soft products:
  191.   http://www.telepath.com/simplyst/homepage.htm
  192.  
  193. <PRINT><PAGE><NEW>
  194. <PRINT><HEADER><Version History>
  195. <CENTER>
  196. <READ><LINE><1><74><205>
  197. Version History
  198. <PRINT><LINE><1><15><205>
  199. <LEFT>
  200.  
  201. Version 1.0
  202.    Basic functions and first release.
  203.    6/10/94
  204. Version 1.1
  205.    Bug fixes to functions and additional functions.
  206.    12/3/94
  207. Version 1.2 
  208.    Bug fixes, Additions to online docs.
  209.    2/21/95
  210. Version 1.3
  211.    Addition of Readocs.exe and ASP exceptence.
  212.    Addition of swloadft.exe
  213.    4/12/96
  214. Version 1.4
  215.    ASP specs fixes and repackaging.
  216.    6/12/96
  217. Version 1.5
  218.    Bug fixes to makefile and upgrade of Readocs.exe
  219.    12/2/96
  220. Version 1.6
  221.    More fixes to makefile.exe
  222.    3/10/97
  223. Version 1.7
  224.    Upgrade of formating and buffering system.
  225.    addition of conversion files and ShareSpell.
  226.    7/2/97
  227. Version 1.8
  228.    Doc Upgrade
  229.    6/23/98
  230. <PRINT><PAGE><NEW>
  231. <CENTER>
  232. <READ><LINE><1><74><205>
  233. Quarks
  234. <PRINT><LINE><1><6><205>
  235. <LEFT>
  236.  
  237. SIMPLE WINDOWS:
  238.     When compiling small debug library a text overflow may occur. 
  239.     Change to the large debug library and compile tell error free 
  240.     then try the small non debug library.
  241.  
  242. Makefile:
  243.     When using the screen editor layout all the coordinates on
  244.     graph paper then enter them as you have lade them out.
  245.  
  246.     Make all windows and menus in order (window 0,menu 1,window
  247.     1, menu 2, ect ...(windows start at 1 and menus start at 0). 
  248.     This will show your scheme as it will appear in your program.
  249.  
  250.     For songs also lay them out on paper then enter them.
  251.  
  252.     The makefile menu editor will not show a blank line unless
  253.     it has two or three spaces in it.
  254.  
  255. Mouse 21:
  256.     A debugging tip with Mouse21 is shown in simptut.c. Make 
  257.     mou_switch = 0 after mouse is installed and OR it equal to
  258.     zero with bioskey(1). This will make the loop stop and look 
  259.     for key entry at the bioskey(0) call.
  260.  
  261.     The mouse functions are Micro Soft Mouse or compatible.
  262. <PRINT><PAGE><NEW>                           
  263. <PRINT><HEADER>-Window Functions
  264. <CENTER>
  265. <READ><LINE><1><74><205>
  266. Windows Functions
  267. <READ><LINE><1><17><223>
  268. <PRINT><LINE><1><17><205>
  269. <PRINT><LINE><1><64><196>
  270. <READ><LINE><1><74><205>
  271. simp_window()
  272. <PRINT><LINE><1><64><196>
  273. <READ><LINE><1><74><205>
  274. <LEFT>
  275.    Simp_window() is the basic window function. It dose not mask 
  276. so what is on screen a the time of call is lost. If you study the 
  277. simptut code you will see that I use simp_window() as a base 
  278. window and with mouse along with a screen save. 
  279.    The parameters for this function are the corner coordinates 
  280. left, top, right, bottom. The boarder and shadow styles are next. 
  281. Then come the text attributes foreground and back ground. Next is 
  282. the shadow location. After that come the shadow attributes fore 
  283. and back. Last the boarder character if needed and the fill 
  284. character.
  285.    The window coordinates are from 1 to 80 for left and right and 
  286. 1 to 25 for top and bottom. Boarder styles are 0 through 5: 0 for 
  287. no boarder, 1 for single, 2 for double, 3 and 4 for single/double 
  288. line, and 5 for any ASCII character boarder. Shadow style are 0 
  289. through 3: 0 for no shadow, 1 for wide shadow, and 3 for narrow 
  290. shadow.
  291.    Color attributes for text and shadows are standard text colors 
  292. 0 to 15. Colors 8 to 15 in the back ground set the blink bit. The 
  293. shadow locations are 1 to 4 (see simpwn12.h for defines). And last 
  294. the borader and fill characters are any ASCII code 0 through 255.
  295.  
  296.    Example:
  297.  
  298.           simp_window(20,5,60,20,5,2,14,4,1,8,0,170,190);
  299.  
  300.    This will display a window 40 x 15 with a boarder of character 
  301.    190 with a narrow shadow with yellow text on a red background.
  302. <CENTER>
  303. <PRINT><LINE><1><64><196>
  304. <READ><LINE><1><74><205>
  305. popup_window()
  306. <PRINT><LINE><1><64><196>
  307. <READ><LINE><1><74><205>
  308. <LEFT>
  309.    Popup_window() is the basic mask window call. It has the same 
  310. parameters as simp_window() except for the first one and that is 
  311. the record or file number. This call will not error if the file 
  312. number is greater than the number of windows initialized but 
  313. after the maxed initialized they must be called in sequence or the 
  314. wrong file number will be saved. Once called it can be called then 
  315. in any sequence. Popup_window() should be called only for windows 
  316. that are not made either by makefile or make_window() since it 
  317. will change the parameters saved for that window. The file number 
  318. can be defined as a name (est. QUIT_WIN) using a define statement.
  319.          
  320. Example:
  321.    Popup_window(31,20,10,60,12,1,2,7,0,1,8,0,0,0);
  322.  
  323.    This will display window 31 that is 40 x 3 with a single 
  324.    boarder, narrow shadow and lightgray characters on a black 
  325.    background.
  326. <CENTER>
  327. <PRINT><LINE><1><64><196>
  328. <PRINT><PAGE><NEW>
  329. <PRINT><LINE><1><64><196>
  330. <READ><LINE><1><74><205>
  331. make_window()
  332. <PRINT><LINE><1><64><196>
  333. <READ><LINE><1><74><205>
  334. <LEFT>
  335.     Make_window() is a nondisplay call and has the same 
  336. parameters as popup_window(). It is used to make a window in the 
  337. program rather than in the makefile. It only saves the parameters 
  338. to a file number and call_window must be used to display the 
  339. window. This call will error if the file number is greater than 
  340. the max number of windows initialized. 
  341.  
  342. Example:
  343.      make_window(3,20,10,60,15,1,2,15,1,1,8,0,0,0);
  344.  
  345.      This call will make a window in the win.dat file at record 3 
  346.      that is 40 x 6 with a single boarder, narrow shadow, and 
  347.      white characters on a blue background.
  348. <CENTER>
  349. <PRINT><LINE><1><64><196>
  350. <READ><LINE><1><74><205>
  351. call_window()
  352. <PRINT><LINE><1><64><196>
  353. <READ><LINE><1><74><205>
  354. <LEFT>
  355.     Call_window() displays a already made window. It has only one 
  356. parameter the file number. It will error if the file number 
  357. exceeds the max windows initialized. Call_window can be call at 
  358. any time for a window already created with make_window() or 
  359. MAKEFILE. If it is called more than once with out an 
  360. uncall_window() the masking info will be lost and only the last 
  361. calls mask is saved. This will be improved in the upgrade so that 
  362. no info is lost and calls can be make at any time with out worry.
  363.            
  364. Example:
  365.    call_window(4);
  366.  
  367.    This will call window 4 from the win.dat file.
  368. <CENTER>
  369. <PRINT><LINE><1><64><196>
  370. <READ><LINE><1><74><205>
  371. uncall_window()
  372. <PRINT><LINE><1><64><196>
  373. <READ><LINE><1><74><205>
  374. <LEFT>
  375.    Uncall_window() restores the screen info save by the last call 
  376. to call_window() for a particular file number. It has like 
  377. call_window() only one parameter the file number.
  378.              
  379. Example:
  380.    uncall_window(4);
  381.  
  382.    This will uncall window 4.
  383. <CENTER>
  384. <PRINT><LINE><1><64><196>
  385. <PRINT><PAGE><NEW>
  386. <PRINT><LINE><1><64><196>
  387. <READ><LINE><1><74><205>
  388. unpopup_window()
  389. <PRINT><LINE><1><64><196>
  390. <READ><LINE><1><74><205>
  391. <LEFT>
  392.    unpopup_window() is the uncall function for popup_window and 
  393. acts the same. It has only one parameter, the file number.
  394.          
  395. Example:
  396.    unpopup_window(31);
  397.  
  398.    This will unpopup window 31.
  399. <CENTER>
  400. <PRINT><LINE><1><64><196>
  401. <READ><LINE><1><74><205>
  402. clear_window()
  403. <PRINT><LINE><1><64><196>
  404. <READ><LINE><1><74><205>
  405. <LEFT>
  406.    Clear_window() will clear and fill the current window with the 
  407. fill character. This can be any ASCII code character.
  408.    
  409. Example:   
  410.    clear_window(0);
  411.     
  412.    This will fill the current window with null or space characters 
  413.    leaving the boarder untouched.
  414. <CENTER>
  415. <PRINT><LINE><1><64><196>
  416. <READ><LINE><1><74><205>
  417. move_window()
  418. <PRINT><LINE><1><64><196>
  419. <READ><LINE><1><74><205>
  420. <LEFT>
  421.    Move_window() will move the current window's lefttop corner to 
  422. the new x, y coordinates. If the window moves off of the screen 
  423. the function fails and no move is made.
  424.      
  425. Example:
  426.    move_window(10,10);
  427.    
  428.    This moves the current window ,text and all, to the new topleft 
  429.    setting.
  430. <CENTER>
  431. <PRINT><LINE><1><64><196>
  432. <READ><LINE><1><74><205>
  433. load_win_data()
  434. <PRINT><LINE><1><64><196>
  435. <READ><LINE><1><74><205>
  436. <LEFT>
  437.     Load_win_data loads a file made by makefile so it can be used 
  438. by call_window(). It has a single parameter, the file name as a 
  439. string to be loaded. This function loads a file to the window file 
  440. path chosen with init_window().
  441.          
  442. Example:
  443.    load_win_data("c:\tc\simptut.win");
  444.  
  445.    This will load simptut.win (make with makefile) from directory 
  446.    tc to win.dat.
  447. <CENTER>
  448. <PRINT><LINE><1><64><196>
  449. <READ><LINE><1><74><205>
  450. <PRINT><PAGE><NEW>
  451. <PRINT><LINE><1><64><196>
  452. write_window()
  453. <PRINT><LINE><1><64><196>
  454. <READ><LINE><1><74><205>
  455. <LEFT>
  456.    Write_window() is like printf but has positioning parameters. 
  457. It will fail and abort if a character is out side of the boarder 
  458. of the current win.
  459.    
  460. Example:
  461.    char name[20] = "bruce";
  462.    
  463.    write_window(3,5,"My name is % s",name);
  464.    
  465.    This will display 'My name is bruce' at 3,5 of the current 
  466.    window.
  467. <CENTER>
  468. <PRINT><LINE><1><64><196>
  469. <PRINT><PAGE><NEW>
  470. <READ><LINE><1><74><205>
  471. Menu Functions
  472. <READ><LINE><1><14><223>
  473. <PRINT><LINE><1><14><205>
  474. <PRINT><LINE><1><64><196>
  475. <READ><LINE><1><74><205>
  476. make_menu()
  477. <PRINT><LINE><1><64><196>
  478. <READ><LINE><1><74><205>
  479. <LEFT>
  480.    Make_menu() is a nondisplay function to create menus in 
  481. program. It has 3 parameters, file number, line count, and a 
  482. string for each line. File number is the record number for the 
  483. menu file. This is the record or file number used to save the menu 
  484. and to call it. Line count is the number of lines in the menu. 
  485. This tells how many strings there are to the menu. The max number 
  486. of lines in a menu are 23 of 76 characters each.
  487.       
  488. Example:
  489.    make_menu(2,5,"string 1","string 2","string 3","string 4",
  490.              "string 5");
  491.  
  492.    This will make a menu with strings 1 through 5 and store it in 
  493.    position 2 in menu.dat.
  494. <CENTER>
  495. <PRINT><LINE><1><64><196>
  496. <READ><LINE><1><74><205>
  497. load_menu_text()
  498. <PRINT><LINE><1><64><196>
  499. <READ><LINE><1><74><205>
  500. <LEFT>
  501.    Load_menu_text() loads the menu file make with makefile into 
  502. the menu data file. It has one parameter, a string for the path 
  503. and name of the file to be loaded.
  504.           
  505. Example:
  506.    load_menu_text("simptut.men");
  507.  
  508.    This will load simptut.men (make with makefile) into menu.dat.
  509. <CENTER>
  510. <PRINT><LINE><1><64><196>
  511. <READ><LINE><1><74><205>
  512. call_menu()
  513. <PRINT><LINE><1><64><196>
  514. <READ><LINE><1><74><205>
  515. <LEFT>
  516.     Call_menu() displays the menu called by the parameter 
  517. file_num. There are 3 parameters to this call, file number, X 
  518. coordinate, and Y coordinate. The file number is the record number 
  519. for the menu in the menu data file. X and Y coordinates are the 
  520. upper left location in the current window to start displaying the 
  521. menu.  
  522.             
  523. Example:
  524.     call_menu(2,3,3);
  525.  
  526.     This will call menu 2 from menu.dat and display it in the 
  527.     current window starting at coordinates 3, 3.
  528. <CENTER>
  529. <PRINT><LINE><1><64><196>
  530. <PRINT><PAGE><NEW>
  531. <PRINT><LINE><1><64><196>
  532. <READ><LINE><1><74><205>
  533. load_text()
  534. <PRINT><LINE><1><64><196>
  535. <READ><LINE><1><74><205>
  536. <LEFT>
  537.     Load_text() displays a screen of text 22 lines by 76 
  538. characters max. It displays at coordinates 3,3 of the current 
  539. window. There are to parameters fine number and file name. File 
  540. number is the record number of the text screen to display and 
  541. file name contains the path and name of the text file. The text 
  542. files are the same as the menu files but are used for help 
  543. screens. They are also made the same as menu files with makefile.
  544.       
  545. Example:
  546.    load_text(2,"c:\tc\stuttext.men");
  547.  
  548.    This will display text screen 2 from stuttext.men (made with 
  549.    makefile) in the current window.
  550. <CENTER>
  551. <PRINT><LINE><1><64><196>
  552. <PRINT><PAGE><NEW>
  553. <READ><LINE><1><74><205>
  554. Entry Functions
  555. <READ><LINE><1><16><223>
  556. <PRINT><LINE><1><16><205>
  557. <PRINT><LINE><1><64><196>
  558. <READ><LINE><1><74><205>
  559. get_choice()
  560. <PRINT><LINE><1><64><196>
  561. <READ><LINE><1><74><205>
  562. <LEFT>
  563.   Get_choice() is a boolean function in that it returns a 1 for 
  564. true or yes and 0 for false or no. There are three parameters, X 
  565. and y coordinates for cursor and default display positioning in 
  566. the current window and the default character. This is either T or 
  567. F or Y or N. It returns 2 on failure.
  568.           
  569. Example:
  570.   get_choice(20,3,"Y");
  571.  
  572.   This call will display a Y at coordinates 20, 3 and wait for a 
  573.   return or a y or n and return.
  574. <CENTER>
  575. <PRINT><LINE><1><64><196>
  576. <READ><LINE><1><74><205>
  577. get_int_date()
  578. <PRINT><LINE><1><64><196>
  579. <READ><LINE><1><74><205>
  580. <LEFT>
  581.    Get_int_date() gets the date in MM/DD/YY format. There are 3 
  582. parameters in this function, a 3 int array for the date and X and 
  583. Y coordinates for positioning in the current window. Array[0] is 
  584. the month, array[1] is the day, and array[2] is the year.
  585.         
  586. Example:
  587.      int date[3];
  588.        
  589.      get_int_date(date,20,3);
  590.  
  591.      This call will display the contents of date in the format 
  592.      date[0]/date[1]/date[2] at 20,3 in the current window and 
  593.      wait for data entry and return.
  594. <CENTER>
  595. <PRINT><LINE><1><64><196>
  596. <READ><LINE><1><74><205>
  597. get_int()
  598. <PRINT><LINE><1><64><196>
  599. <READ><LINE><1><74><205>
  600. <LEFT>
  601.     Get_int() is a intiger entry and takes a pointer to int, the 
  602. number of digits including the sign, and X and Y coordinates. 
  603. Valid digit lengths are 1 to 6 with overflow detection. X Y 
  604. coordinates are again for current window placement of display.
  605.           
  606. Example:
  607.    int number;
  608.          
  609.    get_int(&number,4,3,3);
  610.  
  611.    This call will display the contents of number at coordinates 
  612.    3,3 and wait for 4 digit entries including - and exit on esc 
  613.    or return.
  614. <CENTER>
  615. <PRINT><LINE><1><64><196>
  616. <PRINT><PAGE><NEW>
  617. <PRINT><LINE><1><64><196>
  618. <READ><LINE><1><74><205>
  619. get_string()
  620. <CENTER>
  621. <PRINT><LINE><1><64><196>
  622. <READ><LINE><1><74><205>
  623. <LEFT>
  624.     Get_string is a standard string entry. It has backspace with 
  625. no cursor or insert. It is masked and formated. It's parameters 
  626. are:pointer to string, a mask string, a format string, X and Y 
  627. coordinates, Mask strip switch, and default display switch. The 
  628. mask string is any ASCII character for and space for a mask, The 
  629. format string is made up of spaces where masked and format 
  630. characters (see edit_string()) for entries. Both mask and format
  631. must be consistent for proper function. Error detection is in the 
  632. debug lib but masked characters and entries must match. The strip 
  633. switch is ON for stripping the mask form entry and 0 for the 
  634. masks inclusion in entry. The default display switch is ON or 1 
  635. to display what is in the enter string and OFF or 0 for no display 
  636. and mask display. The x y coordinate are for display placement in 
  637. the current window. It returns 27 on ESC. 
  638.  
  639. Example:
  640.    char name[10];
  641.        
  642.    get_string(name,"         ","uAAAAAAAA",3,3,1,1);
  643.  
  644.    This call will display the contents of name at coordinates 3, 
  645.    3, mask all but alpha characters and force an upper case on the 
  646.    first entry. It will strip the mask and if any character but 
  647.    backspace is hit first clear name. It will exit on esc with no 
  648.    data change or return.
  649. <CENTER>
  650. <PRINT><LINE><1><64><196>
  651. <READ><LINE><1><74><205>
  652. edit_string()
  653. <PRINT><LINE><1><64><196>
  654. <READ><LINE><1><74><205>
  655. <LEFT>
  656.    Edit_string() is a full field edit using insert or overstrike. 
  657. The left and right cursor keys are active as are HOME and END. 
  658. Any special key such as F keys, ALT keys, PGUP/PGDN, or UP/DN 
  659. cursor keys are return by the function with the edit string saved. 
  660. This allows edit_string to be used in a full screen editor (see 
  661. simptut demo). The defines for the special keys are in swskdef.h 
  662. and should be an include if you use this function. The parameters 
  663. are, a pointer to a string, a format string of format characters,
  664. X and Y coordinates for the display of the string in the current 
  665. window, and a string of special key masking characters. Format 
  666. characters allow only certain characters to be entered and special 
  667. key mask block the use of certain special keys.
  668.  
  669. Example:
  670.   char name[10];
  671.      
  672.   edit_string(name,"*********",3,3,"TCAFP");  
  673.  
  674.   This call displays the contents of name at coordinates 3, 3 
  675.   and will mask out tabs,up/dn cursor,up/dn page,F and ALT keys 
  676.   and control characters. The contents of name can be edited with 
  677.   insert/overstrike and left/right cursor 
  678. <PRINT><LINE><1><64><196>
  679. <CENTER>
  680. <READ><LINE><1><74><196>
  681. <PRINT><LINE><1><64><196>
  682. Format Characters
  683. <PRINT><LINE><1><64><196>
  684. <READ><LINE><1><74><196>
  685. <LEFT>
  686.    Format characters:                     Special key masks
  687.                                                    
  688. *  any ascii character                   T  mask out TAB keys
  689. A  alphanumeric character                A  mask out ALT key
  690. U  upper case alpha only                 F  mask out function keys
  691. L  lower case alpha only                 C  mask out CTRL key
  692. u  forced upper case alpha               P  mask out printer 
  693. l  forced lower case alpha                     characters
  694. 9  digits 0 - 9 only                     U  mask out UP/DN cursor 
  695. F  digits 0 - 9, -, . only                    and PGUP/PGDN keys
  696. e  digits 0 - 9, -, ., e, E only              PGUP/PGDN keys
  697. #  digits 0 - 9 and -                    E mask out ESC key
  698. h  digits 0 - 9, a,b,c,d,e.f,A,B,C,D,E,F,- only
  699. o  digits 0 - 7,- only
  700. T  t, T, f, F only
  701. Y  y, Y, n, N only
  702. <CENTER>
  703. <PRINT><LINE><1><64><196>
  704. <READ><LINE><1><74><205>
  705. get_long()
  706. <PRINT><LINE><1><64><196>
  707. <READ><LINE><1><74><205>
  708. <LEFT>
  709.     Get_long is the same as get_int() only it takes a pointer to 
  710. long. It,s valid digit length is 1 to 10.
  711.                 
  712. Example:
  713.    long int Lnumber;             
  714.          
  715.    get_long(&Lnumber,8,3,2);
  716.  
  717.    This call acts the same as get_int except it takes a long.
  718. <CENTER>
  719. <PRINT><LINE><1><64><196>
  720. <PRINT><PAGE><NEW>
  721. <READ><LINE><1><74><205>
  722. Print Functions
  723. <READ><LINE><1><15><223>
  724. <PRINT><LINE><1><15><205>
  725. <PRINT><LINE><1><64><196>
  726. <READ><LINE><1><74><205>
  727. print_printf()
  728. <PRINT><LINE><1><64><196>
  729. <READ><LINE><1><74><205>
  730. <LEFT>
  731.    Print_printf() is just like printf() but it goes to a print 
  732. buffer and has the first to parameters, X and Y coordinates, for 
  733. placement on the print page The print page is a 60 line by 80 
  734. character buffer that is printed by print_buff(). 
  735.         
  736. Example:
  737.    int variable = 26;
  738.     
  739.    print_printf(20,25,"Number is % d",variable);
  740.  
  741.    This call will load Number is 26 into the print buffer at 
  742.    coordinates 20, 25.
  743. <CENTER>
  744. <PRINT><LINE><1><64><196>
  745. <READ><LINE><1><74><205>
  746. print_putch()
  747. <PRINT><LINE><1><64><196>
  748. <READ><LINE><1><74><205>
  749. <LEFT>
  750.    Print_putch(), like print_printf, is the same as putch(). The 
  751. first two parameters, which are X and Y coordinates, are for 
  752. placement. It is used for single character placement such as line 
  753. feeds or carriage returns in the print page and can also be used 
  754. for fancier graphic designs. 
  755.  
  756. Example:
  757.     print_putch(80,30,0x0d);
  758.  
  759.     This call will put character 0x0d at coordinates 80,30 in the 
  760.     print buffer.
  761. <CENTER>
  762. <PRINT><LINE><1><64><196>
  763. <READ><LINE><1><74><205>
  764. print_horizontal_line()
  765. <PRINT><LINE><1><64><196>
  766. <READ><LINE><1><74><205>
  767. <LEFT>
  768.    Print_horizontal_line has six parameters. The first three are 
  769. the start, middle, and end characters of the line. These are any 
  770. ASCII character 0 to 255. The last three parameters are the start 
  771. X, end X, and y coordinates. X can be 1 to 80 but the start must 
  772. be greater than or equal to the end. Y can be 1 to 60. It like all 
  773. the print functions is loaded into the page buffer.
  774.      
  775. Example
  776.    print_horizontal_line(0xc7,0xc4,0xb6,1,80,20);
  777.  
  778.    This call puts a line 80 characters long in row 20 of the print 
  779.    buffer.
  780. <CENTER>
  781. <PRINT><LINE><1><64><196>
  782. <PRINT><PAGE><NEW>
  783. <PRINT><LINE><1><64><196>
  784. <READ><LINE><1><74><205>
  785. print_vertical_line()
  786. <PRINT><LINE><1><64><196>
  787. <READ><LINE><1><74><205>
  788. <LEFT>
  789.    Print_vertical_line has six parameters. The first three are 
  790. start, middle and end characters of the line. These are any ASCII 
  791. characters 0 to 255. The last three parameters are X, start Y, end 
  792. Y. X can be 1 to 80, y is 1 to 60. This is loaded into the page 
  793. buffer for printing later.
  794.     
  795. Example:
  796.   print_vertical_line(0xd2,0xba,0xd0,40,1,60);
  797.  
  798.   This call puts a vertical line in column 40, 60 characters long 
  799.   in the print buffer.
  800. <CENTER>
  801. <PRINT><LINE><1><64><196>
  802. <READ><LINE><1><74><205>
  803. print_window()
  804. <PRINT><LINE><1><64><196>
  805. <READ><LINE><1><74><205>
  806. <LEFT>
  807.     Print_window() draws a window in the page buffer. It has the 
  808. four window parameters left, top, right, bottom. It also has the 
  809. boarder style and boarder character for ANY_BOARDER. The boarder 
  810. styles are the same as simp_window() and the characters are any 
  811. ASCII code 0 to 255. Windows can be as large as the whole page or 
  812. 80 x 60.
  813.     
  814. Example:
  815.    print_window(1,1,80,60,2,0);
  816.  
  817.    This call puts a window 80x60 with a double boarder in the 
  818.    print buffer.
  819. <CENTER>
  820. <PRINT><LINE><1><64><196>
  821. <READ><LINE><1><74><205>
  822. clear_print_buff()
  823. <PRINT><LINE><1><64><196>
  824. <READ><LINE><1><74><205>
  825. <LEFT>
  826.    Clear_print_buff clears the page buffer and loads it with the 
  827. ASCII code 0x20. It is used when a new form is to be made.
  828.     
  829. Example:
  830.    clear_print_buff();
  831.  
  832.    This call clears the print buffer.
  833. <CENTER>
  834. <PRINT><LINE><1><64><196>
  835. <READ><LINE><1><74><205>
  836. print_buff()
  837. <PRINT><LINE><1><64><196>
  838. <READ><LINE><1><74><205>
  839. <LEFT>
  840.   Print_buff sends the contents of the page buffer to the printer. 
  841. All 60 lines will be printed unless you insert a NULL (0x00) 
  842. character in the page buffer. If a NULL character is encountered 
  843. or all 60 lines are printed the printing will stop and the 
  844. function will return. 
  845.  
  846. Example:
  847.    print_buff();
  848.         
  849.    This sends what is current in the print buff to the printer.
  850. <CENTER>
  851. <PRINT><LINE><1><64><196>
  852. <PRINT><PAGE><NEW>
  853. <PRINT><LINE><1><64><196>
  854. <READ><LINE><1><74><205>
  855. load_form()
  856. <PRINT><LINE><1><64><196>
  857. <READ><LINE><1><74><205>
  858. <LEFT>
  859.    Load_form() is for loading a premade print form made with 
  860. makefile into the page buffer. It then can be further edited and 
  861. printed. The record number and path/filename are the parameters.
  862.     
  863. Example:
  864.   load_form(0,"simptut.prn");
  865.  
  866.   This call will load print form 0 from simptut.prn (make with 
  867.   makefile) to the print buffer.
  868. <CENTER>
  869. <PRINT><LINE><1><64><196>
  870. <READ><LINE><1><74><205>
  871. print_char()
  872. <PRINT><LINE><1><64><196>
  873. <READ><LINE><1><74><205>
  874. <LEFT>
  875.    Print_char() sends a character to the printer and prints it. It 
  876. takes a ASCII character code 0 thru 255.
  877.  
  878. Example:
  879.    print_char(0x0c);   
  880.       
  881.    This will send a form feed to the printer.
  882. <CENTER>
  883. <PRINT><LINE><1><64><196>
  884. <PRINT><PAGE><NEW>
  885. <READ><LINE><1><74><205>
  886. Screen Functions
  887. <READ><LINE><1><16><223>
  888. <PRINT><LINE><1><16><205>
  889. <PRINT><LINE><1><64><196>
  890. <READ><LINE><1><74><205>
  891. draw_horizontal_line()
  892. <PRINT><LINE><1><64><196>
  893. <READ><LINE><1><74><205>
  894. <LEFT>
  895.    Draw_horizontal_line() will put a horizontal line stating at 
  896. start_x, y and end on end_x, y. The three character parameters 
  897. are: start, middle, end. These can be any ASCII code character.
  898.      
  899. Example:
  900.     draw_horizontal_line(0x101,0x102,0x103,3,50,10);
  901.      
  902.     This will draw a line (ABBBBBB...BBBBBBBC) at 3,10 to 50,10.
  903. <CENTER>
  904. <PRINT><LINE><1><64><196>
  905. <READ><LINE><1><74><205>
  906. draw_vertical_line()
  907. <PRINT><LINE><1><64><196>
  908. <READ><LINE><1><74><205>
  909. <LEFT>
  910.    Draw_vertical_line() is the same as horizontal line except it 
  911. takes x, start_y,end_y.
  912.            
  913.    Example:
  914.      draw_vertical_line(0x101,0x102,0x103,20,3,20); 
  915.  
  916.      This will draw line  A  at 20,3 to 20,20.
  917.                           B
  918.                           B
  919.                          ...
  920.                           B
  921.                           B
  922.                           C
  923. <CENTER>
  924. <PRINT><LINE><1><64><196>
  925. <READ><LINE><1><74><205>
  926. show_cursor()
  927. <PRINT><LINE><1><64><196>
  928. <READ><LINE><1><74><205>
  929. <LEFT>
  930.    Show_cursor() will display the IBM cursor.
  931.    
  932.    Example:
  933.    show_cursor();
  934.    
  935.    This will display the blinking IBM cursor.
  936. <CENTER>
  937. <PRINT><LINE><1><64><196>
  938. <READ><LINE><1><74><205>
  939. hide_cursor()
  940. <PRINT><LINE><1><64><196>
  941. <READ><LINE><1><74><205>
  942. <LEFT>
  943.    Hide_cursor() turns the IBM cursor off.
  944.    
  945.    Example:
  946.      hide_cursor();
  947.     
  948.      This will hide or turn of the IBM cursor display.
  949. <CENTER>
  950. <PRINT><LINE><1><64><196>
  951. <PRINT><PAGE><NEW>
  952. <PRINT><LINE><1><64><196>
  953. <READ><LINE><1><74><205>
  954. move_cursor()
  955. <PRINT><LINE><1><64><196>
  956. <READ><LINE><1><74><205>
  957. <LEFT>
  958.    Move_cursor() will move the cursor in the current window. If 
  959. the cursor is moved beyond the current window the function will 
  960. fail and no move will be made.
  961.    
  962. Example:
  963.   move_cursor(3,10);
  964.    
  965.   This will position the cursor at window coordinates 3,10 in the 
  966.   current window.
  967. <CENTER>
  968. <PRINT><LINE><1><64><196>
  969. <READ><LINE><1><74><205>
  970. load_screen_form()
  971. <PRINT><LINE><1><64><196>
  972. <READ><LINE><1><74><205>
  973. <LEFT>
  974.   Load_screen_form loads a ready made form (mode with makefile) 
  975. to the current window. The form will truncate beyond the inner 
  976. window parameters. A record number and a file name are called for.
  977.    
  978. Example:
  979.    load_screen_form(0,"simptut.scr");
  980.    
  981.    This will load the simptut title screen into the current window
  982. <CENTER>
  983. <PRINT><LINE><1><64><196>
  984. <READ><LINE><1><74><205>
  985. read_text()
  986. <PRINT><LINE><1><64><196>
  987. <READ><LINE><1><74><205>
  988. <LEFT>
  989.    Read_text() will display a text file in the current window 
  990. truncating or wrapping around with page up/dn. It will exit with 
  991. ESC.
  992.   
  993. Example:
  994.    read_text("mou.doc",1);
  995.     
  996.    This will display the text of mou.doc page by page int the 
  997.    current window with wraparound.
  998. <CENTER>
  999. <PRINT><LINE><1><64><196>
  1000. <READ><LINE><1><74><205>
  1001. save_screen()
  1002. <PRINT><LINE><1><64><196>
  1003. <READ><LINE><1><74><205>
  1004. <LEFT>
  1005.    Save_screen() will save the current screen to screen save file 
  1006. at the designated record number.
  1007.   
  1008. Example:
  1009.    save_screen(2);
  1010.    
  1011.    This saves the current screen to record number 2 in screen.dat.
  1012. <CENTER>
  1013. <PRINT><LINE><1><64><196>
  1014. <PRINT><PAGE><NEW>
  1015. <PRINT><LINE><1><64><196>
  1016. <READ><LINE><1><74><205>
  1017. load_screen()
  1018. <PRINT><LINE><1><64><196>
  1019. <READ><LINE><1><74><205>
  1020. <LEFT>
  1021.    Load_screen() is the other half of screen save and works the 
  1022. same.
  1023.    
  1024. Example:   
  1025.    
  1026.    load_screen(2);
  1027.    
  1028.    This will load the screen record 2 from screen.dat and display 
  1029.    it.
  1030. <CENTER>
  1031. <PRINT><LINE><1><64><196>
  1032. <READ><LINE><1><74><205>
  1033. save_screen_buff()
  1034. <PRINT><LINE><1><64><196>
  1035. <READ><LINE><1><74><205>
  1036. <LEFT>
  1037.    Save_screen_buff() saves the current screen to a ram buffer. 
  1038. It is for use with a mouse or when a fast screen display is 
  1039. needed.
  1040.    
  1041. Example:
  1042.    save_screen_buff();
  1043.   
  1044.    This will save the current screen to ram.
  1045. <CENTER>
  1046. <PRINT><LINE><1><64><196>
  1047. <READ><LINE><1><74><205>
  1048. load_screen_buff()
  1049. <PRINT><LINE><1><64><196>
  1050. <READ><LINE><1><74><205>
  1051. <LEFT>
  1052.    Load_screen_buff() will display the save screen buffer.
  1053.   
  1054. Example:  
  1055.    load_screen_buff();
  1056.    
  1057.    This will display the screen in save screen buffer.
  1058. <CENTER>
  1059. <PRINT><LINE><1><64><196>
  1060. <READ><LINE><1><74><205>
  1061. <PRINT><PAGE><NEW>
  1062. Music Functions
  1063. <READ><LINE><1><15><223>
  1064. <PRINT><LINE><1><15><205>
  1065. <PRINT><LINE><1><64><196>
  1066. <READ><LINE><1><74><205>
  1067. set_tempo()
  1068. <PRINT><LINE><1><64><196>
  1069. <READ><LINE><1><74><205>
  1070. <LEFT>
  1071.   Set_tempo() sets the speed or tempo of each note. The settings 
  1072. are in milli seconds.
  1073.    
  1074. Example:
  1075.    set_tempo(1000);
  1076.    
  1077.    This sets the duration of a quarter note at 1 second.
  1078. <CENTER>
  1079. <PRINT><LINE><1><64><196>
  1080. <READ><LINE><1><74><205>
  1081. tone()
  1082. <PRINT><LINE><1><64><196>
  1083. <READ><LINE><1><74><205>
  1084. <LEFT>
  1085.    Tone sounds a single note. It takes the octave (0 thru 7 
  1086. Zero being no sound), the note (A thru Ab), and the size of 
  1087. the note (64,32,16,8,4,2,1). The fourth argument is a dummy
  1088. for future use.
  1089.    
  1090. Example:
  1091.    tone(3,Cs,4,0); (alternate tone(3,5,4,0);)
  1092.    
  1093.    This sounds the second octave above A55 with a C# quarter note.
  1094. <CENTER>
  1095. <PRINT><LINE><1><64><196>
  1096. <READ><LINE><1><74><205>
  1097. cord()
  1098. <PRINT><LINE><1><64><196>
  1099. <READ><LINE><1><74><205>
  1100. <LEFT>
  1101.    Cord() sounds a 4 or 6 note arpeggio cord. It takes the root 
  1102. note (A thru Ab), the duration of the cord (8,4,2,1), the cord 
  1103. (1 thru 12)(see defines), and the time signature (4/4 or 3/4).
  1104.     
  1105. Example:
  1106.    cord(Cs,1,MINOR,3/4); (alternate cord(5,1,2,1);)
  1107.    
  1108.    This sounds a 6 note C# minor cord for one whole note.
  1109. <CENTER>
  1110. <PRINT><LINE><1><64><196>
  1111. <READ><LINE><1><74><205>
  1112. playsong()
  1113. <PRINT><LINE><1><64><196>
  1114. <READ><LINE><1><74><205>
  1115. <LEFT>
  1116.   Playsong() will play a song file (made with makefile) returning 
  1117. 0 if no key is struck before the end of the file or a 1 if a key 
  1118. is entered.
  1119.    
  1120. Example:
  1121.    while(playsong("simptut.sng") == 0){}
  1122.    
  1123.    This will play simptut.sng tell a key is struck.
  1124. <CENTER>
  1125. <PRINT><LINE><1><64><196>
  1126. <PRINT><PAGE><NEW>
  1127. <READ><LINE><1><74><205>
  1128. Disk Functions
  1129. <READ><LINE><1><14><223>
  1130. <PRINT><LINE><1><14><205>
  1131. <PRINT><LINE><1><64><196>
  1132. <READ><LINE><1><74><205>
  1133. read_file()
  1134. <PRINT><LINE><1><64><196>
  1135. <READ><LINE><1><74><205>
  1136. <LEFT>
  1137.    Read_file() reads a block of bytes from a file. Parameters are: 
  1138. buff for the bytes read, file path and name, block size in bytes 
  1139. (int), byte to start read (long int). 
  1140.  
  1141. Example:
  1142.    read(buff,"simptut.win",2000,4056L);
  1143.    
  1144.    This will read the first 2000 bytes of file simptut.win stating 
  1145.    at byte 4056 into buff.
  1146. <CENTER>
  1147. <PRINT><LINE><1><64><196>
  1148. <READ><LINE><1><74><205>
  1149. write_file()
  1150. <PRINT><LINE><1><64><196>
  1151. <READ><LINE><1><74><205>
  1152. <LEFT>
  1153.    Write file is the same as read file only it writes buff into 
  1154. the file.
  1155.    
  1156. Example:
  1157.    write_file(buff,"simptut.win",2000,4056L);
  1158.    
  1159.    This will write the contents of buff into the first 2000 bytes 
  1160.    of the file simptut.win starting at byte 4056.
  1161. <CENTER>
  1162. <PRINT><LINE><1><64><196>
  1163. <READ><LINE><1><74><205>
  1164. file_to_file()
  1165. <PRINT><LINE><1><64><196>
  1166. <READ><LINE><1><74><205>
  1167. <LEFT>
  1168.    File_to_file copies a block of bytes from one file to another. 
  1169. It takes a buffer the size of the block, a source file, its start 
  1170. byte, a destination file, its start byte, and the size of the 
  1171. block. 
  1172.  
  1173. Example:
  1174.    char buff[2000];
  1175.    
  1176.    file_to_file(buff,"simptut.win",4056L,"win.dat",0L,2000);
  1177.    
  1178.    This will copy the first 2000 bytes of simptut.win starting at 
  1179.    byte 4056 to win.dat starting at 0 bytes.
  1180. <CENTER>
  1181. <PRINT><LINE><1><64><196>
  1182. <READ><LINE><1><74><205>
  1183. copy_file()
  1184. <PRINT><LINE><1><64><196>
  1185. <READ><LINE><1><74><205>
  1186. <LEFT>
  1187.    Copy file() copies one file to another. It takes the 
  1188. destination file and source file. If there is no destination file 
  1189. it will attempt to create one.
  1190.      
  1191. Example:
  1192.    copy_file("simptut.win","win.dat");
  1193.    
  1194.    This will copy simptut.win to win.dat.
  1195. <CENTER>
  1196. <PRINT><LINE><1><64><196>
  1197. <PRINT><PAGE><NEW>
  1198. <PRINT><LINE><1><64><196>
  1199. <READ><LINE><1><74><205>
  1200. creat_file()
  1201. <PRINT><LINE><1><64><196>
  1202. <READ><LINE><1><74><205>
  1203. <LEFT>
  1204.    Creat_file() will creat a file if one dose not exist. It takes 
  1205. the file name and path.
  1206.     
  1207. Example:
  1208.    creat_file("win.dat");
  1209.    
  1210.    This will creat a file called win.dat if one dose not exist.
  1211. <CENTER>
  1212. <PRINT><LINE><1><64><196>
  1213. <READ><LINE><1><74><205>
  1214. read_directory()
  1215. <PRINT><LINE><1><64><196>
  1216. <READ><LINE><1><74><205>
  1217. <LEFT>
  1218.    Read_directory() reads the files in a directory an loads buff 
  1219. with their names. It takes the buffer, the number of names, and 
  1220. the full path/file name (*.text).
  1221.    
  1222. Example:
  1223.    char buff[20][13];
  1224.    
  1225.    read_directory(buff,20,"*.text");
  1226.    
  1227.    This will read the current directory and load buff with the 
  1228.    first 20 text files found. This can then be displayed for 
  1229.    selection.
  1230. <CENTER>
  1231. <PRINT><LINE><1><64><196>
  1232. <PRINT><PAGE><NEW>
  1233. <READ><LINE><1><74><205>
  1234. Initialize Functions
  1235. <READ><LINE><1><20><223>
  1236. <PRINT><LINE><1><20><205>
  1237. <PRINT><LINE><1><64><196>
  1238. <READ><LINE><1><74><205>
  1239. init_window()
  1240. <PRINT><LINE><1><64><196>
  1241. <READ><LINE><1><74><205>
  1242. <LEFT>
  1243.    Init_window() initiates the temp files and mallocs the 
  1244. buffering. It's parameters are the number of windows, menus, and 
  1245. screen saves, the drive to use (a ram disk can be used), and 
  1246. selects the LP port to use.
  1247.    
  1248. Example:
  1249.    init_window(20,20,5,"D",1);
  1250.    
  1251.    This will init the utility to use 20 windows, 20 menus, 5 
  1252.    screen saves, drive D, and LP port 1.
  1253. <CENTER>
  1254. <PRINT><LINE><1><64><196>
  1255. <READ><LINE><1><74><205>
  1256. uninit_window()
  1257. <PRINT><LINE><1><64><196>
  1258. <READ><LINE><1><74><205>
  1259. <LEFT>
  1260.    Uninit_window() will delete the temp files and free any 
  1261. malloced buffers.
  1262.    
  1263. Example:
  1264.    uninit_window();   
  1265.  
  1266.    This call frees malloc memory and removes the temp files.
  1267. <CENTER>
  1268. <PRINT><LINE><1><64><196>
  1269. <PRINT><PAGE><NEW>
  1270. <PRINT><HEADER><Mouse Functions>
  1271. <READ><LINE><1><74><205>
  1272. Mouse Functions
  1273. <PRINT><LINE><1><15><205>
  1274. <READ><LINE><1><15><223>
  1275. <PRINT><LINE><1><64><196>
  1276. <READ><LINE><1><74><205>
  1277. mouinstalled()
  1278. <PRINT><LINE><1><64><196>
  1279. <READ><LINE><1><74><205>
  1280. <LEFT>
  1281.   Mouinstalled() returns the number of buttons if the mouse driver 
  1282. is present or 0 if no driver found. 
  1283.    
  1284.   Example:
  1285.    
  1286.         mouinstalled();
  1287.    
  1288.   This will check for mouse driver and return a the number of 
  1289.   buttons if found.
  1290. <CENTER>
  1291. <PRINT><LINE><1><64><196>
  1292. <READ><LINE><1><74><205>
  1293. moureset()
  1294. <PRINT><LINE><1><64><196>
  1295. <READ><LINE><1><74><205>
  1296. <LEFT>
  1297.    Moureset() resets the mouse driver and should be used when 
  1298. mouinstalled finds a driver and when exiting the program.
  1299.    
  1300.    Example:
  1301.     
  1302.         moureset();
  1303.    
  1304.    This will reset the mouse driver.
  1305. <CENTER>
  1306. <PRINT><LINE><1><64><196>
  1307. <READ><LINE><1><74><205>
  1308. moubuttonpressed()
  1309. <PRINT><LINE><1><64><196>
  1310. <READ><LINE><1><74><205>
  1311. <LEFT>
  1312.   Moubuttonpressed() takes the number of the button that you want 
  1313. to check (0 LEFTBUTTON, 1 RIGHTBUTTON, 2 MIDBUTTON) and returns 
  1314. the number of times the button was pressed since last checked.   
  1315.  
  1316.   Example:
  1317.    
  1318.         if(moubuttonpressed(0))
  1319.         {   
  1320.                read_text("mouse.doc",0); 
  1321.         }
  1322.    
  1323.   This will read the mouse docs if the LEFTBUTTON is pressed.
  1324. <CENTER>
  1325. <PRINT><LINE><1><64><196>
  1326. <READ><LINE><1><74><205>
  1327. mouhide()
  1328. <PRINT><LINE><1><64><196>
  1329. <READ><LINE><1><74><205>
  1330. <LEFT>
  1331.   Mouhide() hides the mouse cursor for text.
  1332.     
  1333.   Example:
  1334.   
  1335.        mouhide();
  1336.    
  1337.   The standard mouse cursor will be hidden.
  1338. <CENTER>
  1339. <PRINT><LINE><1><64><196>
  1340. <PRINT><PAGE><NEW>
  1341. <PRINT><LINE><1><64><196>
  1342. <READ><LINE><1><74><205>
  1343. moushow()
  1344. <PRINT><LINE><1><64><196>
  1345. <READ><LINE><1><74><205>
  1346. <LEFT>
  1347.    Moushow() shows the mouse cursor and needs to be 
  1348. called after every a mouhide().
  1349.    
  1350.    Example:
  1351.    
  1352.         moushow();
  1353.     
  1354.    This will show the standard mouse cursor.
  1355. <CENTER>
  1356. <PRINT><LINE><1><64><196>
  1357. <READ><LINE><1><74><205>
  1358. mouposition()
  1359. <PRINT><LINE><1><64><196>
  1360. <READ><LINE><1><74><205>
  1361. <LEFT>
  1362.    Mouposition() returns the mouse position in the parameters *x, 
  1363. *y.
  1364.    
  1365.    Example:
  1366.    
  1367.    int x,y;
  1368.    
  1369.           mouposition(&x,&y);
  1370.     
  1371.    This will put the current mouse position in the ints x and y.
  1372. <CENTER>
  1373. <PRINT><LINE><1><64><196>
  1374. <READ><LINE><1><74><205>
  1375. moucursortype()
  1376. <PRINT><LINE><1><64><196>
  1377. <READ><LINE><1><74><205>
  1378. <LEFT>
  1379.    Moucursortype() selects the mouse cursor. 0 will select a
  1380. reverse video block, any other is a character code 0 - 255.
  1381. adding (0x80 << 8) to the character code will get the cursor to
  1382. blink and (0x33 << 8) will reverse the video.
  1383.  
  1384. Example:
  1385.    moucursortype(0x01 + (0x80 << 8));
  1386.  
  1387.    This will show a blinking happy face.
  1388. <CENTER>
  1389. <PRINT><LINE><1><64><196>
  1390. <READ><LINE><1><74><205>
  1391. mousetposition()
  1392. <PRINT><LINE><1><64><196>
  1393. <READ><LINE><1><74><205>
  1394. <LEFT>
  1395.    Mousetposition() puts the mouse cursor and mouse at the x, y 
  1396. coordinates int the parameters.
  1397.    
  1398.    Example:
  1399.     
  1400.         mousetposition(5,5);
  1401.    
  1402.    This will place the mouse at coordinates 5,5 on the screen.
  1403. <CENTER>
  1404. <PRINT><LINE><1><64><196>
  1405. <PRINT><PAGE><NEW>
  1406. <PRINT><LINE><1><64><196>
  1407. <READ><LINE><1><74><205>
  1408. mousetmaxposition()
  1409. <PRINT><LINE><1><64><196>
  1410. <READ><LINE><1><74><205>
  1411. <LEFT>
  1412.    Mousetmaxposition() sets the mouse coordinates limits. It takes 
  1413. four parameters menx, maxx, meny, maxy.
  1414.   
  1415.    Example:
  1416.     
  1417.         mousetmaxposition(5,20,5,20);
  1418.    
  1419.    This will confine mouse movement to a window(5,5,20,20).
  1420. <CENTER>
  1421. <PRINT><LINE><1><64><196>
  1422. <READ><LINE><1><74><205>
  1423. moubuttonrelease()
  1424. <PRINT><LINE><1><64><196>
  1425. <READ><LINE><1><74><205>
  1426. <LEFT>
  1427.    Moubuttonrelease() takes the number of the button to check (0 
  1428. LEFTBUTTON, 1 RIGHTBUTTON, 2 MIDBUTTON) and returns the number of 
  1429. times that button was released since last checked.   
  1430.  
  1431.    Example:
  1432.    
  1433.    for(;;)
  1434.    {
  1435.          if(moubuttonrelease(2))
  1436.          {
  1437.                 break;
  1438.          }
  1439.    }
  1440.     
  1441.    This will remain in the loop until the MIDBUTTON is pressed 
  1442.    and released.
  1443. <CENTER>
  1444. <PRINT><LINE><1><64><196>
  1445. <READ><LINE><1><74><205>
  1446. loadcurs()
  1447. <PRINT><LINE><1><64><196>
  1448. <READ><LINE><1><74><205>
  1449. <LEFT>
  1450.    Loadcurs() loads the graphic cursor. It takes the file name and 
  1451. an int 0 to 31.
  1452.    
  1453.    Example:
  1454.   
  1455.         loadcurs("cursor.fnt",3);
  1456.     
  1457.    This will load the forth character in the file cursor.fnt for 
  1458.    use with mou_on and mou_off.
  1459. <CENTER>
  1460. <PRINT><LINE><1><64><196>
  1461. <READ><LINE><1><74><205>
  1462. <PRINT><PAGE><NEW>
  1463. <PRINT><HEADER><DEFINES>
  1464. Special key defines:
  1465. <PRINT><LINE><1><20><205>
  1466. <READ><LINE><1><20><205>
  1467. <LEFT>
  1468.  
  1469.   ESC            283   F1 15104    ALT_F1  26624    SHIFT_TAB 3840
  1470.   PGDN         20736   F2 15360    ALT_F2  26880    BACKSPACE 3592
  1471.   PGUP         18688   F3 15616    ALT_F3  27136    DEL      21248
  1472.   CURSOR_UP    18432   F4 15872    ALT_F4  27392    TAB       3849 
  1473.   CURSOR_DN    20480   F5 16128    ALT_F5  27648
  1474.   CURSOR_LEFT  19200   F6 16384    ALT_F6  27904
  1475.   CURSOR_RIGHT 19712   F7 16640    ALT_F7  28160
  1476.   ENTER         7181   F8 16896    ALT_F8  28416
  1477.   HOME         18176   F9 17152    ALT_F9  28672
  1478.   END          20224   F10 17408   ALT_F10 28928
  1479.   
  1480.   ALT_A   7680    ALT_B  12288    ALT_C  11776    ALT_D   8192
  1481.   ALT_E   4608    ALT_F   8448    ALT_G   8704    ALT_H   8960
  1482.   ALT_I   5888    ALT_J   9216    ALT_K   9472    ALT_L   9728
  1483.   ALT_M  12800    ALT_N  12544    ALT_O   6144    ALT_P   6400
  1484.   ALT_Q   4096    ALT_R   4864    ALT_S   7936    ALT_T   5120
  1485.   ALT_U   5632    ALT_V  12032    ALT_W   4352    ALT_X  11520
  1486.   ALT_Y   5376    ALT_Z  11264              
  1487.  
  1488. <CENTER>
  1489. <READ><LINE><1><74><205>
  1490. Other Defines:
  1491.  
  1492.        boarder:            shadow style:     shadow location:
  1493.  
  1494.   NO_BOARDER       0      NO_SHADOW      0     LOWER_LEFT   1
  1495.   SINGLE_BOARDER   1      NARROW_SHADOW  2     UPPER_LEFT   2
  1496.   DOUBLE_BOARDER   2      WIDE_SHADOW    1     LOWER_RIGHT  3
  1497.   SIG_DUB_BOARDER  3                           UPPER_RIGHT  4
  1498.   DUB_SIG_BOARDER  4      ON   1   YES  1                    
  1499.   ANY_BOARDER      5      OFF  0   NO   0      EOF   -1      
  1500.  
  1501. <READ><LINE><1><74><205>
  1502. notes:
  1503.                                                   
  1504. _A   1    _Bb   2    _B    3    _C    4
  1505. _Cs  5    _D    6    _Eb   7    _E    8
  1506. _F   9    _Fs  10    _G   11    _Ab  12
  1507.  
  1508. <READ><LINE><1><74><205>
  1509. cord types:
  1510.   _MAJOR       1         _MINOR       2         _MAJOR_7TH    3
  1511.   _7TH         4         _MINOR_7TH   5         _MAJOR_9TH    6
  1512.   _6TH         7         _MINOR_6TH   8         _9TH          9
  1513.   _MINOR_9TH   10        _AUGMENTED   11        _DIMINISHED   12
  1514.  
  1515. <READ><LINE><1><74><205>
  1516. mouse defines:
  1517. LEFTBUTTON    0       BLINKCUR       0x8000     STANDARDCUR   0
  1518. RIGHTBUTTON   1       INVERSCHAR     0x3300
  1519. MIDBUTTON     2       GRAPHICCUR     0x00ff
  1520. <READ><LINE><1><74><205>
  1521. <PRINT><LINE><1><64><196>
  1522. <PRINT><PAGE><NEW>
  1523. <PRINT><HEADER><Legal Stuff>
  1524. DEFINITION OF SHAREWARE
  1525. <PRINT><LINE><1><23><205>
  1526. <READ><LINE><1><23><223>
  1527. <LEFT>
  1528.  
  1529.       Shareware distribution gives users a chance to try software
  1530.    before buying it. If you try a Shareware program and continue
  1531.    using it, you are expected to register. Individual programs
  1532.    differ on details -- some request registration while others
  1533.    require it, some specify a maximum trial period. With
  1534.    registration, you get anything from the simple right to 
  1535.    continue using the software to an updated program with printed 
  1536.    manual.
  1537.  
  1538.       Copyright laws apply to both Shareware and commercial 
  1539.    software, and the copyright holder retains all rights, with a 
  1540.    few specific exceptions as stated below. Shareware authors are 
  1541.    accomplished programmers, just like commercial authors, and the 
  1542.    programs are of comparable quality. (In both cases, there are 
  1543.    good programs and bad ones!) The main difference is in the 
  1544.    method of distribution. The author specifically grants the 
  1545.    right to copy and distribute the software, either to all and 
  1546.    sundry or to a specific group. For example, some authors 
  1547.    require written permission before a commercial disk vendor may 
  1548.    copy their Shareware.
  1549.  
  1550.       Shareware is a distribution method, not a type of software. 
  1551.    You should find software that suits your needs and pocketbook,
  1552.    whether it's commercial or Shareware. The Shareware system 
  1553.    makes fitting your needs easier, because you can try before you 
  1554.    buy. And because the overhead is low, prices are low also. 
  1555.    Shareware has the ultimate money-back guarantee -- if you don't 
  1556.    use the product, you don't pay for it.
  1557.  
  1558.      PLEASE!  Show your support for Shareware by registering the
  1559.      programs you actually use.  Simpsoft Inc. depends upon and
  1560.      needs your support.  Thank you!
  1561.  
  1562.  
  1563. <CENTER>
  1564. <PRINT><LINE><1><64><205>
  1565. <READ><LINE><1><74><219>
  1566. <LEFT>
  1567.    This file contains important license information regarding the
  1568.    use of Simple Windows, Version 1.8.  This information applies 
  1569.    to individual users who wish to pass copies out to friends and
  1570.    associates.
  1571. <CENTER>
  1572. <PRINT><LINE><1><64><205>
  1573. <READ><LINE><1><74><219>
  1574. <LEFT>
  1575.  
  1576.     Trial Use License:
  1577.     ~~~~~~~~~~~~~~~~~~
  1578.     Simple Windows is NOT a public domain program.  It is 
  1579.     Copyright (c) 1994-1997 by Bruce O'Banion.  All rights 
  1580.     reserved. This software and accompanying documentation are 
  1581.     protected by United States Copyright law and also by 
  1582.     International Treaty provisions.  Any use of this software in 
  1583.     violation of Copyright law or the terms of this limited 
  1584.     license will be prosecuted to the best of our ability.  The 
  1585.     conditions under which you may copy this software and 
  1586.     documentation are clearly outlined below under "Distribution 
  1587.     Restrictions".
  1588.  
  1589.     Bruce O'Banion hereby grants you a limited license to use this
  1590.     software for evaluation purposes for a period not to exceed 
  1591.     Thirty (30) days.  If you intend to continue using this 
  1592.     software (and/or it's documentation) after the Thirty (30) day 
  1593.     evaluation period, you MUST make a registration payment to 
  1594.     Bruce R. O'Banion.
  1595.  
  1596.            - Simple Windows, Version 1.8 - LICENSE.DOC -
  1597.  
  1598.  
  1599.     Using this software after the thirty (30) day evaluation 
  1600.     period without registering the software is a violation of the 
  1601.     terms of this limited license.
  1602.  
  1603.     Licensee shall not use, copy, rent, lease, sell, modify,
  1604.     decompile, disassemble, otherwise reverse engineer, or 
  1605.     transfer the licensed program except as provided in this 
  1606.     agreement.  Any such unauthorized use shall result in 
  1607.     immediate and automatic termination of this license.
  1608.  
  1609.     All rights not expressly granted here are reserved to Simpsoft
  1610.     Inc.
  1611.  
  1612.  
  1613.     Limited Distribution License:
  1614.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1615.     As the copyright holder for Simple Windows, Bruce R. O'Banion
  1616.     authorizes distribution by individuals only in accordance with
  1617.     the following restrictions.
  1618.  
  1619.     Individuals are hereby granted permission by Bruce R. O'Banion 
  1620.     to copy the Simple Windows diskette for their own use (for
  1621.     evaluation purposes) or for other individuals to evaluate, 
  1622.     ONLY when the following conditions are met.
  1623.  
  1624.     The Simple Windows package is defined as containing all the
  1625.     material listed in the PACKING.LST text file.  If any files
  1626.     listed in the PACKING.LST text file, or the PACKING.LST file
  1627.     itself, are missing, then the package is not complete and
  1628.     distribution is forbidden.  Please contact us to obtain a
  1629.     complete package suitable for distribution.
  1630.  
  1631.     o  The Simple Windows package - including all related program
  1632.        files and documentation files - CANNOT be modified in any
  1633.        way and must be distributed as a complete package, without
  1634.        exception.  The PACKING.LST text file contains a list of
  1635.        all files that are part of the Simple Windows package.
  1636.  
  1637.     o  No price or other compensation may be charged for the
  1638.        Simple Windows package.  A distribution cost may be
  1639.        charged for the cost of the diskette, shipping and
  1640.        handling, as long as the total (per disk) does not exceed
  1641.        US$15.00 in the U.S. and Canada, or US$20.00
  1642.        internationally.
  1643.  
  1644.     o  The Simple Windows package CANNOT be sold as part of some
  1645.        other inclusive package.  Nor can it be included in any
  1646.        commercial software packaging offer, without a written
  1647.        agreement from Bruce R. O'Banion.
  1648.  
  1649.     o  The User's Guide may not be reproduced in whole or
  1650.        in part, using any means, without the written permission
  1651.        of Bruce R. O'Banion.  In other words, the disk-based
  1652.        documentation may not be distributed in PRINTED (hardcopy)
  1653.        form.
  1654.  
  1655.     o  The Simple Windows package cannot be "rented" or "leased"
  1656.        to others.
  1657.  
  1658.     o  Licensee shall not use, copy, rent, lease, sell, modify,
  1659.        decompile, disassemble, otherwise reverse engineer, or
  1660.        transfer the licensed program except as provided in this
  1661.        agreement.  Any such unauthorized use shall result in
  1662.        immediate and automatic termination of this license.
  1663.  
  1664.     All rights not expressly granted here are reserved to Bruce R.
  1665.     O'Banion
  1666.  
  1667. <CENTER>
  1668. <PRINT><LINE><1><64><196>
  1669. <READ><LINE><1><74><196>
  1670. Distribution Requirements VENDORS
  1671. <PRINT><LINE><1><64><196>
  1672. <READ><LINE><1><74><196>
  1673. <LEFT>
  1674.  
  1675.     Computer Clubs and User Groups wishing to add the Simple 
  1676.     Windows package to their disk library may do so in accordance 
  1677.     with the Distribution Restrictions listed below.
  1678.  
  1679.     Limited Distribution License:
  1680.     -----------------------------
  1681.  
  1682.     As the exclusive copyright holder for Simple Windows, Bruce R. 
  1683.     O'Banion authorizes distribution only in accordance with the 
  1684.     following restrictions. 
  1685.  
  1686.     ASP Approved Vendors in good standing are hereby given 
  1687.     permission to distribute Simple Windows package.  Non-ASP 
  1688.     member vendors are requested to ask permission prior to 
  1689.     distributing this package.
  1690.     
  1691.     The Simple Windows package is defined as containing all the 
  1692.     material listed in the PACKING.LST text file.  If any files 
  1693.     listed in the PACKING.LST text file, or the PACKING.LST file 
  1694.     itself, are missing, then the package is not complete and 
  1695.     distribution is forbidden.  Please contact us to obtain a
  1696.     complete package suitable for distribution.
  1697.  
  1698.     The Simple Windows package - including all related program 
  1699.     files and documentation files - CANNOT be modified in any way 
  1700.     and must be distributed as a complete package, without 
  1701.     exception.  The PACKING.LST text file contains a list of all 
  1702.     files that are part of the Simple Windows package.
  1703.  
  1704.     Small additions to the package, such as the introductory used 
  1705.     by many shareware disk vendors, are acceptable.
  1706.  
  1707.     No price or other compensation may be charged for the Simple 
  1708.     Windows package.  A distribution fee may be charged for the 
  1709.     cost of the diskette, shipping and handling, as long as the 
  1710.     total (per disk) does not exceed US$15.00 in the U.S. and 
  1711.     Canada, or US$20.00 internationally.
  1712.  
  1713.     Disk Sets & CD-ROMs:
  1714.     ~~~~~~~~~~~~~~~~~~~~
  1715.     The Simple Windows package CANNOT be sold as part of some 
  1716.     other inclusive package.  Nor can it be included in any 
  1717.     commercial software packaging offer, without a written 
  1718.     agreement from Bruce R. O'Banion.
  1719.  
  1720.     ASP Approved Vendors who wish to distribute the Simple Windows 
  1721.     package as part of a collection (such as PsL's MegaDisk set, 
  1722.     or a CD-ROM package) may do so provided that all the other 
  1723.     restrictions are met.
  1724.  
  1725.     Vendors (non-ASP Vendor Members) who wish to distribute the
  1726.     Simple Windows package as part of a collection (such as PsL's 
  1727.     MegaDisk set, or a CD-ROM package) are ask to obtain 
  1728.     permission from Bruce R. O'Banion prior to beginning such a 
  1729.     distribution.
  1730.  
  1731.     If you wish to add any of our programs to a CD-ROM or other 
  1732.     collection, please check the release date of the version you 
  1733.     have.  If the version is over twelve (12) months old then 
  1734.     please contact us to ensure that you have the most current 
  1735.     version.  This version was released in July,1998.
  1736.  
  1737.     Disk-of-the-Month (or Subscription) Distribution:
  1738.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1739.     If you would like to distribute the Simple Windows package as 
  1740.     a Disk-of-the-Month, or as part of a subscription or monthly 
  1741.     service, then the following restrictions apply:
  1742.  
  1743.     ASP Associate (Disk Vendor) Members in good standing are 
  1744.     hereby given permission to distribute the Simple Windows 
  1745.     package under the Disk-of-the-Month style of distribution.
  1746.  
  1747.     Others (non-ASP Members) are asked to contact us in advance to 
  1748.     ensure that you have the most current version of the software.
  1749.  
  1750.     You cannot use a Disk-of-the-Month distribution to use up your 
  1751.     inventory of old (out of date) disks.  Only current versions 
  1752.     may be shipped as Disk-of-the-Month disks.
  1753.  
  1754.     The User's Guide may not be reproduced in whole or in part, 
  1755.     using any means, without the written permission of Bruce R. 
  1756.     O'Banion.  In other words, the disk-based documentation may 
  1757.     not be distributed in PRINTED (hardcopy) form.
  1758.  
  1759.     The Simple Windows package cannot be "rented" or "leased" to 
  1760.     others.
  1761.  
  1762.     You may not list any of our products in advertisements, 
  1763.     catalogs, or other literature which describes our products as 
  1764.     "FREE SOFTWARE".  Shareware is "Try-Before-You-Buy" software, 
  1765.     it is not free.
  1766.  
  1767.     Bruce R. O'Banion prohibits the distribution of outdated 
  1768.     versions of the Simple Windows package, without written 
  1769.     permission from Bruce R. O'Banion. If the version you have is 
  1770.     over twelve (12) months old, please contact us to ensure that 
  1771.     you have the most current version.  This version was released 
  1772.     in July, 1998.
  1773.  
  1774.     Licensee shall not use, copy, rent, lease, sell, modify, 
  1775.     decompile, disassemble, otherwise reverse engineer, or 
  1776.     transfer the licensed program except as provided in this 
  1777.     agreement.  Any such unauthorized use shall result in 
  1778.     immediate and automatic termination of this license.
  1779.  
  1780.     All rights not expressly granted here are reserved to Bruce R. 
  1781.     O'Banion. 
  1782. <CENTER>
  1783. <PRINT><LINE><1><64><196>
  1784. <READ><LINE><1><74><196>
  1785. Distribution Requirements: SYSOPS
  1786. <PRINT><LINE><1><64><196>
  1787. <READ><LINE><1><74><196>
  1788. <LEFT>
  1789.  
  1790.     Limited Distribution License:
  1791.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1792.     As the exclusive copyright holder for Simple Windows, Bruce R.
  1793.     O'Banion authorizes on-line distribution only in accordance 
  1794.     with the following restrictions.  
  1795.  
  1796.     The Simple Windows package is defined as containing all the
  1797.     material listed in the PACKING.LST text file.  If any files
  1798.     listed in the PACKING.LST text file, or the PACKING.LST file
  1799.     itself, are missing, then the package is not complete and
  1800.     distribution is forbidden.  Please contact us to obtain a
  1801.     complete package suitable for distribution.
  1802.  
  1803.     o  The Simple Windows package - including all related program
  1804.        files and documentation files - CANNOT be modified in any
  1805.        way (other than that mentioned in the following paragraph)
  1806.        and must be distributed as a complete package, without
  1807.        exception.  The PACKING.LST text file contains a list of
  1808.        all files that are part of the Simple Windows package.
  1809.  
  1810.     o  Many BBSs customarily add a small text file
  1811.        (advertisement) to each archived file.  This text file
  1812.        describes the BBS and tells people that the file was
  1813.        downloaded from that particular BBS.  Other BBSs add a
  1814.        small one-line message with their BBS name and phone
  1815.        number into the compressed file, which will display when
  1816.        the file is uncompressed.  Either of these methods of
  1817.        mentioning your BBS are acceptable and may be used,
  1818.        provided the program and documentation is otherwise
  1819.        unmodified and complete.
  1820.  
  1821.     o  Bruce R. O'Banion prohibits the distribution of outdated
  1822.        versions of the Simple Windows package, without written
  1823.        permission from Bruce R. O'Banion.  If the version you
  1824.        have obtained is over twelve (12) months old, please
  1825.        contact us to ensure that you have the most current
  1826.        version.
  1827.  
  1828.     o  Licensee shall not use, copy, rent, lease, sell, modify,
  1829.        decompile, disassemble, otherwise reverse engineer, or
  1830.        transfer the licensed program except as provided in this
  1831.        agreement.  Any such unauthorized use shall result in
  1832.        immediate and automatic termination of this license.
  1833.  
  1834.  
  1835.     All rights not expressly granted here are reserved to Bruce R.
  1836.     O'Banion
  1837. <CENTER>    
  1838. ***** IMPORTANT WARRANTY INFORMATION *****
  1839.  
  1840. Simple Windows, Version 1.8
  1841.  
  1842. *** PLEASE READ THIS INFORMATION CAREFULLY ***
  1843. <PRINT><LINE><1><46><205>
  1844. <READ><LINE><1><46><223>
  1845.  
  1846. TRIAL USE (SHAREWARE EVALUATION VERSION) WARRANTY
  1847. <PRINT><LINE><1><49><205>
  1848. <READ><LINE><1><49><205>
  1849. <LEFT>
  1850.  
  1851.    The Shareware evaluation (trial use) version is provided AS IS.
  1852.    Bruce R. O'Banion MAKES NO WARRANTY OF ANY KIND, EXPRESSED OR
  1853.    IMPLIED, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF
  1854.    MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
  1855.  
  1856.  
  1857. <CENTER>
  1858. REGISTERED VERSION ONLY WARRANTY:
  1859. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1860. <LEFT>
  1861.  
  1862.    Bruce R. O'Banion warrants the physical diskette(s) and 
  1863.    physical documentation provided with registered versions to be 
  1864.    free of defects in materials and workmanship for a period of 
  1865.    ninety days from the date of registration.  If Bruce R. 
  1866.    O'Banion receives notification within the warranty period of 
  1867.    defects in materials or workmanship, and such notification is 
  1868.    determined by Simpsoft Inc. to be correct, Bruce R. O'Banion 
  1869.    will replace the defective diskette(s) or documentation.
  1870.  
  1871.    The entire and exclusive liability and remedy for breach of 
  1872.    this Limited Warranty shall be limited to replacement of 
  1873.    defective diskette(s) or documentation and shall not include or 
  1874.    extend to any claim for or right to recover any other damages, 
  1875.    including but not limited to, loss of profit, data, or use of 
  1876.    the software or special, incidental, or consequential damages 
  1877.    or other similar claims, even if Bruce R. O'Banion has been 
  1878.    specifically advised of the possibility of such damages. In no 
  1879.    event will Bruce R. O'Banion's liability for any damages to you 
  1880.    or any other person ever exceed the lower of suggested list 
  1881.    price or actual price paid for the license to use the software, 
  1882.    regardless of any form of the claim.
  1883.  
  1884.    Bruce R. O'Banion SPECIFICALLY DISCLAIMS ALL OTHER WARRANTIES,
  1885.    EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, ANY IMPLIED
  1886.    WARRANTY OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
  1887.    PURPOSE.
  1888. <CENTER>
  1889. <PRINT><LINE><1><64><205>
  1890. <READ><LINE><1><74><219>
  1891. Register's  Limited Licensing Agreement
  1892. <LEFT>
  1893.  
  1894.      You may use this software on any computer, as long as only 
  1895.   one person uses it at a time. If several people use the software 
  1896.   at the same time, you must pay one license fee for each 
  1897.   additional person. If you use the software on a computer 
  1898.   network, you must pay for as many licenses as the number of 
  1899.   people who use the software.
  1900.      This software is protected by international copyright laws. 
  1901.   You may copy it only for backup purposes. Simpsoft Inc. is 
  1902.   licensing the software to you and not selling it.
  1903.      Neither you or any reseller may rent, lease,sell licensed
  1904.   copies on approval,or otherwise transfer the right to use this 
  1905.   software to another person, except that you may sell or give 
  1906.   away your original copy, as long as you do not keep any copies.
  1907.      You are free to resell, license, and or give away any 
  1908.   executebles you make with the libaraies or any files you make 
  1909.   with the editors. Certain executebles specificly for use in 
  1910.   system or child calls that are include in the software package 
  1911.   my also be include with your programs for resale, licensing, and 
  1912.   or give away.
  1913.  
  1914. <CENTER>
  1915. <PRINT><LINE><1><64><205>
  1916. <READ><LINE><1><74><219>
  1917. ASP OMBUDSMAN STATEMENT
  1918. <LEFT>
  1919.  
  1920.     "This program is produced by a member of the Association
  1921.     of Shareware Professionals (ASP).  ASP wants to make sure
  1922.     that the shareware principle works for you. If you are
  1923.     unable to resolve a shareware-related problem with an ASP
  1924.     member by contacting the member directly, ASP may be able
  1925.     to help. The ASP Ombudsman can help you resolve a dispute
  1926.     or problem with an ASP member, but does not provide
  1927.     technical support for members' products. Please write to
  1928.     the ASP Ombudsman at 157-F Love Ave., Greenwood IN 46142
  1929.     USA, FAX 317-888-2195, or email to omb@asp-shareware.org.
  1930. <CENTER>
  1931. <PRINT><LINE><1><64><205>
  1932. <READ><LINE><1><74><219>
  1933. <LEFT>
  1934.          NOTE:  simpwn18.zip is packaged on this disk using 
  1935.          Info-ZIP's compression utility.  The installation program 
  1936.          uses UnZip to read zip files from the disk.  Info-ZIP's 
  1937.          software (Zip, UnZip and related utilities) is free and 
  1938.          can be obtained as source code or executables from 
  1939.          various bulletin board services and anonymous-ftp sites, 
  1940.          including CompuServe's IBMPRO forum and ftp.uu.net:/pub/
  1941.          archiving/zip/*. 
  1942. <CENTER>
  1943. <PRINT><LINE><1><64><205>
  1944. <READ><LINE><1><74><223>
  1945. <LEFT>
  1946.   U.S. Government Information:  Use, duplication, or
  1947.   disclosure by the U.S. Government of the computer software
  1948.   and documentation in this package shall be subject to the
  1949.   restricted rights applicable to commercial computer
  1950.   software as set forth in subdivision (b)(3)(ii) of the
  1951.   Rights in Technical Data and Computer Software clause at
  1952.   252.227-7013 (DFARS 52.227-7013).  The
  1953.   Contractor/manufacturer is Simpsoft Inc., RT 1 Box 148A
  1954.   Pauls Valley,OK 73075
  1955. <CENTER>
  1956. <PRINT><LINE><1><64><205>
  1957. <READ><LINE><1><74><205>
  1958. Please Help Us Serve You Better
  1959. <PRINT><LINE><1><31><196>
  1960. <READ><LINE><1><31><205>
  1961. <LEFT>
  1962.  
  1963.   We would appreciate copies of anything you print regarding 
  1964.   Simple Windows. Please send us a copy of any reviews, 
  1965.   articles, catalog descriptions, or other information you print 
  1966.   or distribute regarding the Simple Windows package.  Thank you 
  1967.   for your time and assistance and for supporting the shareware 
  1968.   marketing concept.
  1969.  
  1970.   Please refer to SIMPWIN.DOC for our mailing address and phone 
  1971.   number.
  1972.  
  1973.   Thank you for your support!
  1974. <CENTER>
  1975. <PRINT><LINE><1><64><205>
  1976. <READ><LINE><1><74><205>
  1977. TURBO C++ 1.0 copyright 1990 Borland International
  1978. TURBO C 2.0 copyright 1987,1988 Borland International
  1979. MS_DOS 5.0 copyright 1987-1991 Microsoft Corp.
  1980. INFO-ZIP Copyright (C) 1990-1996  Mark  Adler,  
  1981. Richard  B. Wales, Jean-loup  Gailly, Onno  van  der Linden, 
  1982. Kai Uwe Rommel, Igor Mandrichenko, John Bush and Paul Kienitz.  
  1983. Permission is  granted to any individual or institution to use, 
  1984. copy, or redistribute this software so long as all of the 
  1985. original  files  are  included, that it is not sold for profit,
  1986. and that this copyright notice is retained.
  1987. Sharespell v3.1 copyright 1989-96 by Acropolis Software.
  1988. <PRINT><LINE><1><64><205>
  1989. <READ><LINE><1><74><205>
  1990. <PRINT><PAGE><NEW>
  1991. <PRINT><HEADER><Registration>
  1992. <CENTER>
  1993. <READ><OFF>
  1994. Registration Simple Windows 1.8
  1995. <PRINT><LINE><1><26><205>
  1996. <LEFT>
  1997.   Registration gets you phone support for one year, extra executes 
  1998. and your registration fee goes toward future upgrades. Print the 
  1999. following form and send it to:
  2000.      
  2001.             Bruce R. O'Banion
  2002.             RT 1 Box 148A
  2003.             Pauls Valley,OK 73075
  2004.    
  2005. Or call me at : 405-665-4042 or 405-665-4047
  2006. Also be sure to include a check or money order. NO CASH PLEASE!
  2007. I will fill the order as soon as the check clears. Make checks 
  2008. payable to name and address above.
  2009. -------------------------------------------------------    
  2010.  
  2011. Name: _________________________________________________
  2012. Address: 
  2013.          ______________________________________________
  2014.          ______________________________________________
  2015.          ______________________________________________
  2016. Phone : ____________________________
  2017.  
  2018. --------------------------------------------------------
  2019. Type of machine: ____________________ (only IBM/PC DOS
  2020. Type of disk   3 1/2 hi                and compatible
  2021. (circle one)   5 1/4 hi
  2022.                5 1/4 low
  2023. ________________________________________________________
  2024.                                        Price
  2025. Product                       Quant.   Each     Total
  2026. --------------------------------------------------------
  2027. Font Edit v1.6 .............. _____    $25    ________
  2028. Simple Windows v1.8 ......... _____    $50    ________
  2029. VGA Edit v1.4 ............... _____    $25    ________
  2030. Simple Pack v1.2 ............ _____    $25    ________
  2031. Simple Mouse v2.4 ........... _____    $25    ________      
  2032. Full Pack v1.1 .............. _____   $100    ________
  2033. --------------------------------------------------------
  2034. Subtotal                      _____           ________
  2035. $3.00 (s/h) per disk (max $50.00)             ________
  2036. --------------------------------------------------------
  2037.                        Total amount enclosed: ________
  2038.     
  2039.     
  2040.                        Sign here _________________________
  2041.  
  2042.  
  2043. <CENTER>
  2044. Don't forget to circle A disk type!
  2045. <PRINT><LINE><1><35><205>
  2046. <END>
  2047.