home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 25 / nopv25.iso / 039A / SW.ZIP / SIMPWN15.ZIP / SIMPWN15.DOC < prev    next >
Encoding:
Text File  |  1997-03-16  |  65.9 KB  |  1,968 lines

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