home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / c_eval.zip / README.INF (.txt) < prev    next >
OS/2 Help File  |  1995-10-26  |  105KB  |  1,352 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. VisPro/C Version 3.0 ΓòÉΓòÉΓòÉ
  3.  
  4. Get Serious OS/2 Development Power With VisPro/C! 
  5.  
  6. VisPro/C is a full-featured visual programming tool for the a wide variety of 
  7. OS/2 compilers. It gives you the power to build 32-bit OS/2 applications in 
  8. record time. 
  9.  
  10. VisPro/C gives you the robust features you have come to expect from solutions 
  11. costing much more. These tools leverage all of the important features of OS/2 
  12. including full integration with the Workplace Shell. And they come from 
  13. HockWare, the pioneer in value-priced visual programming products dedicated to 
  14. OS/2, including VisPro/REXX and VisPro/C++. 
  15.  
  16. An abundance of CUA '91 objects, multiple development views, 
  17. entity-relationship database designer and an integrated environment are just 
  18. some of the productive features you can count on for powerful development. 
  19.  
  20. With all of this, no other tool matches the functionality and productivity of 
  21. VisPro's environment--or its price. 
  22.  
  23.  Easy-to-use drag and drop programming 
  24.     Quickly develop robust OS/2 GUI and Client/server applications with ease 
  25.     using drag and drop programming. The C code automatically appears for each 
  26.     event. 
  27.  
  28.  Objects, objects, objects 
  29.     From simple buttons and boxes to 3-D business graphics and everything 
  30.     in-between, VisPro/C provides the most CUA '91 objects. Not only does it 
  31.     support all of the objects in OS/2, they have extra add-on objects. 
  32.  
  33.     Also available is VisPro/Objects, a SOM based object builder that allows 
  34.     you to quickly develop your own custom objects. 
  35.  
  36.  The best of OS/2 
  37.     VisPro/C gives you the best of OS/2 with complete Workplace Shell 
  38.     enablement. Drag and drop programming, multiple development views including 
  39.     Layout, List, Event Tree and Settings views, and the ability to get pop-up 
  40.     menus on the objects are some Workplace Shell features that give you 
  41.     maximum leverage of OS/2. 
  42.  
  43.  C code just like you'd expect and more 
  44.     VisPro/C generates well-structured code. The result is non-proprietary, 
  45.     royalty-free code that is easy to read and maintain. And it also supports 
  46.     code regeneration for ease of use. 
  47.  
  48.  Lightning fast database design 
  49.      For client/server programming, VisPro/C has a visual database designer for 
  50.     ODBC-enabled databases. It provides an entity/relationship diagramming tool 
  51.     and SQL builder that lets you quickly create applications or 
  52.     reverse-engineer existing databases. 
  53.  
  54.  VisPro/C Features 
  55.  
  56.  Drag and drop programming 
  57.     Workplace-Shell enabled drag and drop programming that automatically 
  58.     generates the code for you. It also allows you to drag items to the printer 
  59.     shredder and Workplace Shell folders. 
  60.  
  61.  CUA '91 objects 
  62.     Comprehensive set of CUA '91 programming objects including:  push button, 
  63.     radio button, check box, list box, combo box, group box, entry field, MLE, 
  64.     text, bitmap object, value set, icon object, spin button, frame, slider, 
  65.     notebook, and container. 
  66.  
  67.  Extra objects 
  68.  
  69.         3-D business graphics - displays data in bar, stacked bar, pie, line 
  70.          and area charts. 
  71.  
  72.         Formatted entry field - allows users to display and edit specific 
  73.          formats of data. 
  74.  
  75.         Spreadsheet - allows users to enter and display data in typical 
  76.          spreadsheet format. 
  77.  
  78.         Clock - allows users to veiw time in analog, digital and military 
  79.          format. 
  80.  
  81.         Calendar - allows users to view and interact with a traditional 
  82.          monthly calendar. 
  83.  
  84.  Code generation 
  85.     Well-structured code generation gives you high quality code that is easy to 
  86.     read and maintain. The non-proprietary, royalty-free code can be used 
  87.     outside of the VisPro development environment. VisPro supports code 
  88.     regeneration which allows you to incorporate changes you have made to 
  89.     events and code sections outside of the VisPro environment. 
  90.  
  91.     VisPro/C automatically generates object and object event-handler code so 
  92.     you don't have to worry about the details. 
  93.  
  94.  Integrated development environment 
  95.  
  96.         Manage bitmap, icon, RC include, font, codepage, and string resources 
  97.  
  98.         Visually set compiler and linker options 
  99.  
  100.         Monitor compiler progress 
  101.  
  102.         Click on compiler errors to find corresponding location in VisPro 
  103.          editor or any external editor 
  104.  
  105.         Transparently log changes and develop projects as a team with the 
  106.          VisPro Team Administrator 
  107.  
  108.  Multiple views 
  109.     Four development views allow you to efficiently create, change or customize 
  110.     your program. Views include Settings, Layout, Event Tree and List. The 
  111.     layout view provides a WYSIWYG design canvas and a floating tool palette. 
  112.  
  113.  Visual Database Designer 
  114.     Visual method for developing database applications or reverse-engineering 
  115.     existing database structures from ODBC-enabled databases into diagrams. 
  116.     Using the entity-relationship diagramming tool, you drag and drop multiple 
  117.     tables and relationship links in to a layout area. The point-and-click SQL 
  118.     builder allows you to easily build syntax error-free SQL statements. 
  119.  
  120.  VisPro/Objects 
  121.     SOM-based interface that allows you to create and add custom controls to 
  122.     the VisPro tool bar. It allows you to specify behavior, styles and methods 
  123.     and generates most of the source code needed to bring the object into all 
  124.     VisPro environments - C, C++ an REXX. 
  125.  
  126.  VisPro Code Templates 
  127.     Allows you to add your own frequently used code sections for easy drag/drop 
  128.     access to your VisPro projects. 
  129.  
  130.  Other features 
  131.  
  132.         User interface resource compatibility - allows you to build an 
  133.          application with VisPro/REXX and import the interface resources to 
  134.          VisPro/C and and vice versa. User interface resources include: 
  135.          bitmaps, icons, panel definitions, menus and accelerator key 
  136.          definitions. 
  137.  
  138.         Accelerator key - allows you to type a couple of characters in the 
  139.          event editor to automatically generate a construct of the code for 
  140.          commonly used logic structure. 
  141.  
  142.         Form styles - provides full support of all forms including plain, 
  143.          sizable, scrollable, window list, dialog and title bar. 
  144.  
  145.         Drag/drop support - enables you to add drag and drop functionality to 
  146.          your VisPro program. 
  147.  
  148.         OS/2-style help - allows you to provide OS/2-style (IPF) help to your 
  149.          program which users can access your program's help file just like help 
  150.          for other OS/2 applications. VisPro/C ships with the VisPro Help 
  151.          Editor; an editor which simplifies the writing of IPF format files. 
  152.  
  153.         VisPro/Paint allows you to create bitmap files for use in your 
  154.          applications. This program also reads and writes TIF, PCX, TGA, and 
  155.          GIF file formats. 
  156.  
  157.  System Requirements: OS/2 2.x or OS/2 Warp, 5Mb memory and 3 Mb hard disk 
  158.  space; IBM VisualAge, CSet, CSet++, CSet++ FirstStep, MetaWare HighC/C++, 
  159.  Borland C, or Watcom C/C++. The OS/2 Toolkit should also be installed on your 
  160.  system. 
  161.  
  162.  Suggested Retail Price:  $299 
  163.  
  164.  
  165. ΓòÉΓòÉΓòÉ 2. Getting Started ΓòÉΓòÉΓòÉ
  166.  
  167. Once you install your Evaluation version of VisPro/C, you can use the online 
  168. help to get information about how to use the product. Instructions for 
  169. installing the Evaluation version, opening a project, and using the online help 
  170. are provided in the following sections. 
  171.  
  172.      Installing the Evaluation Version 
  173.  
  174.      Creating a VisPro/C Project 
  175.  
  176.      Opening the Main form 
  177.  
  178.      Using the VisPro/C Online Help 
  179.  
  180.  
  181. ΓòÉΓòÉΓòÉ 2.1. Installing the Evaluation Version ΓòÉΓòÉΓòÉ
  182.  
  183. Before you use VisPro/C, ensure the following: 
  184.  
  185.    1. OS/2 2.0 or any later version must be installed on your system. 
  186.  
  187.    2. An ODBC-enabled database must be installed to use the VisPro/C ODBC 
  188.       Database Designer. 
  189.  
  190.    3. Your hard disk should have approximately 3 megabytes of free disk space. 
  191.  
  192.    4. The IBM VisualAge or CSET, MetaWare HighC/C++, Borland C or Watcom C/C++ 
  193.       compiler must be installed on your system for you to compile source code 
  194.       created by VisPro/C. 
  195.  
  196.    5. The OS/2 Toolkit is also required for you to create OS/2 applications 
  197.       (included in VisualAge). 
  198.  
  199.  NOTE: No version of VisPro/C should be running when you install the Evaluation 
  200.  version. If this occurs, close all VisPro/C windows, reboot and then start the 
  201.  installation over. 
  202.  
  203.  To install the VisPro/C Evaluation version, complete the following steps: 
  204.  
  205.    1. Place the Evaluation diskette in the drive you wish to install from. 
  206.  
  207.    2. Press the right mouse button to get a pop-up menu on the diskette drive 
  208.       you are using. 
  209.  
  210.    3. Select the arrow on the Open menu item. 
  211.  
  212.    4. Select Icon View. 
  213.  
  214.    5. Double-click on the SETUP.EXE program, which has the VisPro/C icon. 
  215.  
  216.    6. Select the drive where you want to install the Evaluation version beside 
  217.       Install on drive. 
  218.  
  219.    7. If you want to change the path you are installing on, type the path name 
  220.       in the Install path field. 
  221.  
  222.    8. Select Install. 
  223.  
  224.    9. When the installation is complete, the Installation Complete window 
  225.       appears. It will prompt you for additional input if modifications to your 
  226.       CONFIG.SYS file are necessary. 
  227.  
  228.       By default, the installation program will modify your CONFIG.SYS and 
  229.       display this README information book. If you do not wish the installation 
  230.       program to modify your CONFIG.SYS, select the 'Exit push button and you 
  231.       will be given instructions on the changes needed. If you do not wish to 
  232.       view the README book, deselect the appropriate check box. 
  233.  
  234.   10. Select Continue to allow the installation program to modify your 
  235.       CONFIG.SYS. 
  236.  
  237.       The changes are made to your CONFIG.SYS file. Your original CONFIG.SYS 
  238.       will be named CONFIG.VP. 
  239.  
  240.   11. Since VisPro/C requires a path to its files, you must shutdown and reboot 
  241.       before using the product. 
  242.  
  243.       After Rebooting, double click on the VisPro/C Evaluation Version 3.0 icon 
  244.       in the Workplace Shell. 
  245.  
  246.       You will see the VisPro/C Icon View window appear. This window contains 
  247.       the following: 
  248.  
  249.           VisPro/C Code Templates: Allows you to drag and drop your own code 
  250.            sections into your projects. See the online help for the Code 
  251.            Templates program on how to extend your list of available code 
  252.            sections. 
  253.           Read Me: This Read Me File. 
  254.           Projects folder: Where you will create new projects. 
  255.           Font palette: Allows you to change the font on your form. 
  256.           Mixed Color palette: Allows you to change colors on your form. 
  257.           Samples folder: Contains the Data entry sample. 
  258.  
  259.  
  260. ΓòÉΓòÉΓòÉ 2.2. Creating a VisPro/C Project ΓòÉΓòÉΓòÉ
  261.  
  262. When you open the VisPro/C folder you created during installation, you see a 
  263. template called Project. You can drag a new folder off the Project template and 
  264. use it as your new project, which will become your application. 
  265.  
  266. To open your new project, complete the following steps: 
  267.  
  268.    1. Open the VisPro/C icon on your desktop. To do so, double-click the 
  269.       folder. 
  270.  
  271.    2. Open the Projects folder in the VisPro/C folders Icon View window. To do 
  272.       so, double-click the Projects folder. 
  273.  
  274.    3. Create a new Project folder. To do so, press the right mouse button and 
  275.       drag a folder off the Project template in the Projects - Icon View 
  276.       window. 
  277.  
  278.       A Project folder appears. 
  279.  
  280.    4. Rename your Project folder. To do so, select the Project folder and press 
  281.       Alt while you click the left mouse button. Type the name you want to 
  282.       assign to your new application. 
  283.  
  284.       Click outside of the folder. This 'sets' the name for the Project folder. 
  285.  
  286.    5. Open your Project folder. To do so, double-click the folder icon. 
  287.  
  288.       The icon view for your new application appears. You will see a Main icon. 
  289.       The Main icon is the form you use to begin designing your application. 
  290.       After your application is complete, do not delete, move, or rename the 
  291.       Main form. 
  292.  
  293.       The next section details the ways in which a form may be accessed. 
  294.  
  295.  
  296. ΓòÉΓòÉΓòÉ 2.3. Opening the Main Form ΓòÉΓòÉΓòÉ
  297.  
  298. To begin creating your application, you can open the Main form in one of two 
  299. ways: 
  300.  
  301.      METHOD A: 
  302.  
  303.       Double-click on the Main icon. The form appears in the Layout view, 
  304.       presenting the tool bar and the canvas. This view allows you to easily 
  305.       design your form. 
  306.  
  307.      METHOD B: 
  308.  
  309.       Select the Main icon, and then click the right mouse button to get the 
  310.       pop-up menu for the Main icon. Select Open. A cascading menu appears, 
  311.       allowing you to select the view you want to begin working with. The 
  312.       Layout view is recommended for designing the layout of your form. 
  313.  
  314.       You may also generate source code and start a compilation from the pop-up 
  315.       menu, without having to open your project. 
  316.  
  317.  
  318. ΓòÉΓòÉΓòÉ 2.4. Using VisPro/C's Online Help ΓòÉΓòÉΓòÉ
  319.  
  320. VisPro/C includes an extensive online help system that you can use if you have 
  321. questions while you are working. To get information about how the online help 
  322. works, select the Help menu. A cascading menu appears, presenting the following 
  323. menu items 
  324.  
  325.      Help Index.... 
  326.      General Help.... 
  327.      Using Help.... 
  328.      Product information.... 
  329.  
  330.  You can select any of these items. To find out what information each of these 
  331.  items provides, highlight the item (use the arrow keys), and then press F1. 
  332.  
  333.  Note: You can browse the help using the online help Contents. To use the 
  334.  Contents, select the OPTIONS menu from within any help window, and then select 
  335.  CONTENTS. 
  336.  
  337.  
  338. ΓòÉΓòÉΓòÉ 3. Sample Project ΓòÉΓòÉΓòÉ
  339.  
  340. This section describes the steps you follow to create a simple data entry 
  341. application using a variety of standard objects. Your final application should 
  342. look something like this: 
  343.  
  344. To use the application, a user types text into the entry field at the top of 
  345. the project. Selecting the Add push button or pressing the Enter key adds the 
  346. item in the entry field to the end of the list box in ascending or descending 
  347. order, depending on the state of the Sort order radio buttons. 
  348.  
  349. If the user selects Clear, the contents of the list box and entry field are 
  350. deleted, and the text insertion cursor is placed in the entry field for further 
  351. processing. 
  352.  
  353. To create the data entry application, complete the steps in each of the 
  354. following sections. 
  355.  
  356.    1. Start the Application 
  357.  
  358.    2. Add the Objects 
  359.  
  360.    3. Size and Align Objects 
  361.  
  362.    4. Provide Behavior 
  363.  
  364.    5. Changing the Order of the Objects 
  365.  
  366.    6. Compile and Execute the Application 
  367.  
  368.  
  369. ΓòÉΓòÉΓòÉ 3.1. Start the Application ΓòÉΓòÉΓòÉ
  370.  
  371. To start the application and name it, complete the following steps: 
  372.  
  373.    1. Double-click the VisPro/C icon in the Workplace Shell. 
  374.  
  375.    2. Double-click the PROJECTS icon folder in the VisPro/C Icon View window. 
  376.  
  377.       The Projects - Icon View window appears. 
  378.  
  379.    3. Drag a new project off the Project template (hold down the right mouse 
  380.       button and drag to an empty space in the Projects folder, then release). 
  381.  
  382.    4. Use direct editing to name the new project Data (press the Alt key and 
  383.       click the left mouse button at the same time). Type Data over the 
  384.       existing name. 
  385.  
  386.    5. Double-click the Data project icon. 
  387.  
  388.       The Data - Icon View window appears. You will see the following icons: 
  389.  
  390.           Main form, which is the form you use to begin designing your 
  391.            application. After your application is complete, do not delete, 
  392.            move, or rename the Main form. 
  393.  
  394.           Form template, which allows you to drag off additional forms if you 
  395.            want your application to have more than one window. 
  396.  
  397.           SubProcs folder, which allows you to incorporate existing C code 
  398.            into your application or to group commonly used code segments so 
  399.            they can be called anywhere in your program. 
  400.  
  401.           Source folder, which contains all of the source code for your 
  402.            project. The source code is created by selecting either Generate 
  403.            source or Generate and compile from the project's Form menu. 
  404.  
  405.           OPTIONS.MKC, is a file which contains the build options for your 
  406.            application. It is invoked by double-clicking the OPTIONS.MKC icon. 
  407.  
  408.           RESOURCE.VPC, is a file which contains external resources for your 
  409.            application, such as bitmaps or pointers. You can start the VisPro 
  410.            Resource editor by double-clicking on the RESOURCE.VPC file. 
  411.  
  412.    6. Double-click on the Main icon. 
  413.  
  414.       The Layout view for the application appears. 
  415.  
  416.       The Form Layout view is the environment in which you design the window 
  417.       that your user will perform tasks with. For each window your user works 
  418.       with, you create a form. This application will consist of a single form. 
  419.  
  420.       The form consists of two main parts: the Tool Bar/Palette and Canvas. 
  421.  
  422.  
  423. ΓòÉΓòÉΓòÉ 3.1.1. The Tool Bar/Palette ΓòÉΓòÉΓòÉ
  424.  
  425. _________________________________________
  426. The VisPro/C Tool palette. An * denotes objects that are not
  427. included in the Evaluation version
  428.  
  429. About the Tool Bar 
  430.  
  431. The tool bar and tool palette consist of a series of icons. Each icon 
  432. represents a tool. Each tool is used to place a certain kind of object on the 
  433. canvas. For example, the push button tool places a push button object on the 
  434. canvas. 
  435.  
  436. An object is a graphical item that can be used to perform tasks. Radio buttons 
  437. and list boxes are examples of objects. 
  438.  
  439. The difference between a tool and an object is that a tool is a graphical 
  440. representation of something that can be added to the canvas. Once added, it 
  441. becomes an object that can be used to perform tasks. 
  442.  
  443. You can turn off the tool bar by selecting Open and then Settings from the Form 
  444. menu. Select the Options page and deselect Show tool bar. You can also use the 
  445. Options page to select the tool palette. If you select Save defaults, all the 
  446. defaults you have set for the form are saved, including fonts, grid spacing, 
  447. etc. 
  448.  
  449. Saving defaults affects the defaults for every other project you create. If you 
  450. do not select Save defaults, your changes will affect only the project the 
  451. change was made in. 
  452.  
  453.  
  454. ΓòÉΓòÉΓòÉ 3.1.2. The Canvas ΓòÉΓòÉΓòÉ
  455.  
  456. _________________________________________
  457. The VisPro/C Layout view, showing the tool bar and tool palette
  458.  
  459. About the Canvas 
  460.  
  461. The canvas is the open, gridded area below the tool bar. This is the area in 
  462. which you will design (or lay out) your form. You select the tools you need 
  463. from the tool bar or tool palette and add them to the canvas. Once objects are 
  464. added to the canvas, you can customize their appearance and provide behavior 
  465. for them. 
  466.  
  467. You can turn off the grid in the canvas by selecting Open and then Settings 
  468. from the Form menu. Select the Options page and deselect Show grid. If you 
  469. select Save defaults, all the defaults you have set for the form are saved, 
  470. including fonts, grid spacing, etc. Saving defaults affects the defaults for 
  471. every other project you create. If you do not select Save defaults, your 
  472. changes will affect only  the project the change was made in. 
  473.  
  474. Note: Snap to grid forces the object to align with the nearest grid line. If 
  475. you do not want to use this feature, deselect it. 
  476.  
  477.  
  478. ΓòÉΓòÉΓòÉ 3.2. The VisPro Team Administrator ΓòÉΓòÉΓòÉ
  479.  
  480. With the new releases, all products (except VisPro/REXX Bronze) feature the 
  481. VisPro Team Administrator, which takes the error-prone guesswork out of team 
  482. development. 
  483.  
  484. The Team Administrator allows programmers to clearly and easily compare change 
  485. levels and project versions, to rollback changes, and monitor development 
  486. progress. All changes are automatically logged and forms can be locked to 
  487. ensure that only one programmer makes changes at a time. Other features include 
  488. read-only viewing and the ability to create a form shadow for easy 
  489. accessibility in a distributed system environment. 
  490.  
  491. All changes to your forms are saved to the VPBACKUP folder inside your Project 
  492. directory. These backups are logged to a file called LOG.VPL, which is created 
  493. after the first change to a form. Double-clicking on the LOG.VPL file invokes 
  494. the VisPro Team Administrator. 
  495.  
  496. As part of team development, VisPro introduces Form Shadows. 
  497.  
  498. Form shadows are similar to OS/2 Workplace Shell shadow objects. They allow you 
  499. to include a VisPro form in a project that actually exists in another project 
  500. folder. The source project folder can be on the local machine or remotely on a 
  501. server. This allows you to share commonly-used forms in several projects. 
  502.  
  503. Form Shadows are created the same way as a Workplace Shell shadow. You can 
  504. either drag a form from a source project folder to the target while holding the 
  505. CTRL and SHIFT keys, or you can get a pop-up menu on a form icon and select 
  506. Create Shadow. 
  507.  
  508. VisPro form shadows differ from OS/2 Workplace Shell shadows in a very 
  509. fundamental way. OS/2 Workplace Shell shadows are not visible on your hard 
  510. drive because they actually exist in the OS/2 INI configuration files. VisPro 
  511. form shadows are actual directories within a project. A file named !!LINK 
  512. exists inside the directory that contains the fully-qualified path of the 
  513. original form's location. 
  514.  
  515. This prevents the loss of project structure due to changes in the OS/2 system 
  516. files and improves reliability over OS/2 shadow implementation. 
  517.  
  518. Note: Shadows are created as read-only objects by default. To override this 
  519. attribute, select Read only from a form's pop-up menu. 
  520.  
  521.  
  522. ΓòÉΓòÉΓòÉ 3.3. Add the Objects ΓòÉΓòÉΓòÉ
  523.  
  524. In this section, you add the objects from the toolbar to the Layout view of 
  525. your application. You will then specify characteristics, such as a unique name, 
  526. for those objects. You specify these characteristics using the Settings view 
  527. for the objects. 
  528.  
  529. The application consists of a text object, two push buttons, two radio buttons, 
  530. a list box, and an entry field. 
  531.  
  532. Complete the steps in the following sections to add the objects and define 
  533. settings for them. 
  534.  
  535.  
  536. ΓòÉΓòÉΓòÉ 3.3.1. ADD Push Button ΓòÉΓòÉΓòÉ
  537.  
  538. In this section, you add a push button to the canvas. You then use the Settings 
  539. view of the push button to specify that it will be named ADD. In addition, you 
  540. use the Settings view to provide a descriptive name (known as a symbol) for the 
  541. push button. This descriptive name makes it easy to identify the object when 
  542. you begin programming. 
  543.  
  544.    1. Select the Push button tool from the tool bar. 
  545.  
  546.    2. Click inside the canvas to place a push button approximately where you 
  547.       see it in the figure of the application (the bottom left corner of your 
  548.       form). 
  549.  
  550.    3. Double-click the push button. 
  551.  
  552.       The Settings view notebook for the push button appears, displaying the 
  553.       Style page. 
  554.  
  555.    4. Select the Default check box.  This causes the ADD push button to be 
  556.       selected whenever the Enter key is pressed. 
  557.  
  558.    5. Select the General tab on the Settings notebook. 
  559.  
  560.    6. Select the Text field, and type ~Add. This causes the push button to 
  561.       appear with the label Add on the Layout view, and when the application is 
  562.       run. The tilde (~) character in front of the A places an underscore 
  563.       beneath the A character, allowing the user to select the ADD push button 
  564.       by pressing the Alt-A combination. 
  565.  
  566.       Note: An alternative method for specifying the name of the object is to 
  567.       use direct editing. The General page is recommended here for convenience 
  568.       because you will be specifying other settings for the object. 
  569.  
  570.    7. Select the Symbol field, and type ADD. Do not change the default ID. 
  571.  
  572.       Note: Symbol is a unique name you supply that identifies an object. The 
  573.       ID is a unique integer used to identify an object. The Symbol is 
  574.       optional, but you include it because a symbol with a descriptive name is 
  575.       easier to refer to. 
  576.  
  577.    8. Select Close from the title bar icon menu (the symbol at the top 
  578.       left-hand corner of the Settings view window). 
  579.  
  580.  
  581. ΓòÉΓòÉΓòÉ 3.3.2. CLEAR Push Button ΓòÉΓòÉΓòÉ
  582.  
  583. In this section, you add another push button to the canvas. You then use the 
  584. Settings view of the push button to specify that it will be named CLEAR. In 
  585. addition, you use the Settings view to provide a descriptive name (known as a 
  586. symbol) for the push button. This descriptive name makes it easy to identify 
  587. the object when you begin programming. 
  588.  
  589.    1. Select the Push button tool from the tool bar. 
  590.  
  591.    2. Click inside the canvas to place a push button approximately where you 
  592.       see it in the figure of the application (to the right of the ADD button). 
  593.  
  594.    3. Double-click the push button. 
  595.  
  596.       The Settings view notebook for the push button appears, displaying the 
  597.       Style page. The defaults are used for the Style page. 
  598.  
  599.    4. Select the General tab on the notebook. Select the Text field, and type 
  600.       ~Clear. This causes the push button to appear with the label Clear when 
  601.       the application it run.  The tilde (~) character in front of the C places 
  602.       an underscore beneath the C character, allowing the user to select the 
  603.       CLEAR push button by pressing the Alt-C combination. 
  604.  
  605.       Note: An alternative method for specifying the name of the object is to 
  606.       use direct editing. The General page is recommended here for convenience 
  607.       because you will be specifying other settings for the object. 
  608.  
  609.    5. Select the Symbol field, and type CLEAR. Do not change the default ID. 
  610.  
  611.       Note: Symbol is a unique name you supply that identifies an object. The 
  612.       ID is a unique integer used to identify an object. The Symbol is 
  613.       optional, but you include it because a symbol with a descriptive name is 
  614.       easier to refer to. 
  615.  
  616.    6. Select Close from the title bar icon menu (the symbol at the top 
  617.       left-hand corner of the Settings view window). 
  618.  
  619.  
  620. ΓòÉΓòÉΓòÉ 3.3.3. ITEMS List Box ΓòÉΓòÉΓòÉ
  621.  
  622. To add and define settings for the ITEMS list box, complete the following 
  623. steps: 
  624.  
  625.    1. Select the List box tool from the tool bar. 
  626.  
  627.    2. Click inside the canvas to place the list box above the CLEAR and ADD 
  628.       push buttons. 
  629.  
  630.    3. Double-click the list box. 
  631.  
  632.       The Settings view notebook for the list box appears. 
  633.  
  634.    4. Select the General tab on the notebook. 
  635.  
  636.    5. Select the Symbol field, and type ITEMS. Do not change the default ID. 
  637.  
  638.    6. Select Close from the title bar icon menu. 
  639.  
  640.  
  641. ΓòÉΓòÉΓòÉ 3.3.4. Sort Order Radio Buttons ΓòÉΓòÉΓòÉ
  642.  
  643. Two radio buttons, Ascending and Descending, will now be added to your project. 
  644. Radio buttons represent a mutually exclusive choice that the user of your 
  645. project must make. That is, only one of these buttons can be highlighted at a 
  646. time. Radio buttons (and check boxes) are generally used only to show a 
  647. selection state in your applications. 
  648.  
  649. To add the Ascending and Descending radio buttons to your project, complete the 
  650. following steps: 
  651.  
  652.    1. To accomodate the next several objects, increase the size of your form by 
  653.       positioning the mouse pointer over the top border of your form window. 
  654.  
  655.    2. Right click and drag the form window up about an inch, then release the 
  656.       mouse to set the new form position. 
  657.  
  658.    3. Select the Radio button tool from the tool bar. 
  659.  
  660.    4. Click inside the canvas to place two radio buttons, one over the other, 
  661.       above the Items list box. 
  662.  
  663.    5. Double-click the top radio button. 
  664.  
  665.       The Settings view notebook for the radio button appears. 
  666.  
  667.    6. Select the Group check box on the Style page. This provides a mutually 
  668.       exclusive behavior for the two radio buttons (you should only select the 
  669.       Group check box for the first radio button in a group). 
  670.  
  671.    7. Select the General tab on the notebook. 
  672.  
  673.    8. Select the Text field, and type Ascending. 
  674.  
  675.    9. Select the Symbol field, and type ASCENDING. Do not change the default 
  676.       ID. 
  677.  
  678.   10. Select Close from the title bar icon menu. 
  679.  
  680.   11. Double-click the lower radio button. 
  681.  
  682.       The Settings view notebook for the radio button appears. 
  683.  
  684.   12. Select the General tab on the notebook. 
  685.  
  686.   13. Select the Text field, and type Descending. 
  687.  
  688.   14. Select the Symbol field, and type DESCENDING. Do not change the default 
  689.       ID. 
  690.  
  691.   15. Select Close from the title bar icon menu. 
  692.  
  693.  
  694. ΓòÉΓòÉΓòÉ 3.3.5. Sort Order Text Object ΓòÉΓòÉΓòÉ
  695.  
  696. To add and define settings for the Sort order text object, complete the 
  697. following steps: 
  698.  
  699.    1. Select the Text object from the tool bar. 
  700.  
  701.    2. Click inside the canvas to place the text object above the Ascending 
  702.       radio button. 
  703.  
  704.    3. Double-click the text object. 
  705.  
  706.       The Settings view notebook for the text object appears. 
  707.  
  708.    4. Select the General tab on the notebook. 
  709.  
  710.    5. Select the Text field, and type Sort order. 
  711.  
  712.    6. Select Close from the title bar icon menu. 
  713.  
  714.  
  715. ΓòÉΓòÉΓòÉ 3.3.6. DATA Entry Field ΓòÉΓòÉΓòÉ
  716.  
  717. To add and define settings for the Data entry field, complete the following 
  718. steps: 
  719.  
  720.    1. Select the Entry field tool from the tool bar. 
  721.  
  722.    2. Click inside the canvas to place an entry field tool on the canvas, above 
  723.       the Sort order text object. 
  724.  
  725.    3. Double-click the entry field. 
  726.  
  727.       The Settings view notebook for the entry field appears. 
  728.  
  729.    4. Select the General tab on the notebook. 
  730.  
  731.    5. Select the Symbol field and type DATA. Do not change the default ID. 
  732.  
  733.    6. Select Close from the title bar icon menu. 
  734.  
  735.  
  736. ΓòÉΓòÉΓòÉ 3.3.7. Size and Align the Objects ΓòÉΓòÉΓòÉ
  737.  
  738. To adjust the text so it fits inside each object, complete the following steps: 
  739.  
  740.    1. Select the Pointer tool from the Tool bar/palette. 
  741.  
  742.    2. Select the objects that contain text (the text object and radio buttons). 
  743.  
  744.       An easy way to select multiple objects is to use drag selection. Place 
  745.       the mouse pointer over the first object and press the left mouse button. 
  746.       Hold it down as you move the mouse to select the other objects. Then 
  747.       release the mouse button. 
  748.  
  749.       The selected objects are highlighted. 
  750.  
  751.    3. From the Selected menu, select Arrange, and then select Fit to Text. 
  752.  
  753.       The objects you selected change size to accommodate the text inside. 
  754.  
  755.       Note: You did not fit the text for the entry field because the text in 
  756.       the entry field changes when the field is used, depending upon the total. 
  757.       You did not change the push buttons because they need to be equal sizes. 
  758.  
  759.  
  760. ΓòÉΓòÉΓòÉ 3.4. Provide Behavior for the Application ΓòÉΓòÉΓòÉ
  761.  
  762. You will now program the application so that it works as described at the 
  763. beginning of this section. 
  764.  
  765. You can provide behavior for the application from the Layout view. However, we 
  766. will use the Event tree view because it allows you to easily see both the 
  767. objects and the C statements for the behavior you specify. 
  768.  
  769.      To switch to the Event tree view, select Event tree view from the View 
  770.       menu. 
  771.  
  772.      The objects you added to your application appear on the left. The Event 
  773.       window appears on the right. 
  774.  
  775.  In the following sections, you will provide behavior for the When opened 
  776.  event, the ADD push button, and the CLEAR push button. 
  777.  
  778.  
  779. ΓòÉΓòÉΓòÉ 3.4.1. When Opened Event ΓòÉΓòÉΓòÉ
  780.  
  781. When the user starts this project, one of the two radio buttons should be 
  782. highlighted (since they are mutually exclusive, and one or the other must 
  783. always be highlighted). The When opened event is where all form initialization 
  784. takes place: such as loading list boxes with data and setting the display 
  785. styles for objects. 
  786.  
  787. To select the Ascending radio button from the Form When opened event, complete 
  788. the following steps: 
  789.  
  790.    1. From the Form menu, select When, and then Opened(WM_INITDLG). 
  791.  
  792.       The Event Opened window appears. The top of the Event window displays the 
  793.       following statement for Event opened: 
  794.  
  795.             /* Event Opened - Form DATA\Main */
  796.             CHAR aTextValue[255]="text";
  797.             LONG anIntegerValue=0;
  798.             ULONG anUnsignedValue=0;
  799.  
  800.       We will be dragging objects to the Event Opened window from the Event 
  801.       tree view. 
  802.  
  803.    2. Position the Event Opened window so that the left side of the window is 
  804.       visible beneath the Event tree view of your project. 
  805.  
  806.       Select the title bar of the Event tree view window to make it active. 
  807.  
  808.    3. Move the mouse pointer over the ASCENDING radio button icon (on the left 
  809.       side of the Event tree view), and hold down the right mouse button as you 
  810.       drag from the ASCENDING radio button icon on the Event tree view to the 
  811.       Event Opened window. 
  812.  
  813.    4. Release the mouse when you reach a point below the existing code on the 
  814.       Event Opened window. 
  815.  
  816.       The Create Link window appears. 
  817.  
  818.    5. Select Check the item from the Create Link window, then select OK. 
  819.  
  820.       SHORTCUT METHOD: Double-click Select a button. 
  821.  
  822.       The following C statement appears: 
  823.  
  824.             /* Check the item  ASCENDING Radio Button */
  825.             WinCheckButton(hwndDlg, ASCENDING, 1);
  826.  
  827.  The code in the Event Opened window should look like this when your are 
  828.  finished: 
  829.  
  830.   /* Event Opened - Form DATA\Main */
  831.   CHAR aTextValue[255]="text";
  832.   LONG anIntegerValue=0;
  833.   ULONG anUnsignedValue=0;
  834.  
  835.   /* Check the item  ASCENDING Radio Button */
  836.   WinCheckButton(hwndDlg, ASCENDING, 1);
  837.  
  838.  
  839. ΓòÉΓòÉΓòÉ 3.4.2. ADD Push Button ΓòÉΓòÉΓòÉ
  840.  
  841. The ADD push button takes the value found in the entry field and adds it to the 
  842. list box. 
  843.  
  844. To provide this behavior, complete the following steps: 
  845.  
  846.    1. From the Event tree view, select the ADD push button. 
  847.  
  848.    2. From the Selected menu, select When, and then Clicked/Selected. 
  849.  
  850.       The following C statements appear in the top of the Event window. 
  851.  
  852.             /* Event ~Add ADD , Clicked/Selected */
  853.             CHAR aTextValue[255]="text";
  854.             LONG anIntegerValue=0;
  855.             ULONG anUnsignedValue=0;
  856.  
  857.    3. Make sure the Add push button Clicked/selected event is highlighted. Then 
  858.       drag the Data entry field into the Event window, below the existing C 
  859.       statements, and then release the mouse button. 
  860.  
  861.       The Create Link window appears. 
  862.  
  863.    4. Select Get item text, and then select OK. 
  864.  
  865.       The following C statement appears: 
  866.  
  867.             /* Get item text DATA Entry Field */
  868.             WinQueryDlgItemText(hwndDlg, DATA, sizeof(aTextValue), aTextValue);
  869.  
  870.    5. Move the mouse pointer over the Ascending radio button icon. Then drag 
  871.       the ASCENDING radio button into the Event window, below the existing C 
  872.       statements, and release the mouse button. 
  873.  
  874.       The Create Link window appears. 
  875.  
  876.    6. Select Is button selected, then select OK. 
  877.  
  878.       The following C statement appears: 
  879.  
  880.             /* Is button selected? Ascending Radio Button */
  881.             anUnsignedValue=(ULONG)WinQueryButtonCheckState(hwndDlg,ASCENDING);
  882.  
  883.    7. On a new line below this statement, type the word if (followed by a 
  884.       space).  The following code template will be added: 
  885.  
  886.             if ()
  887.             {
  888.             } else {
  889.             } /* end if */
  890.  
  891.    8. In the parenthesis, type 
  892.  
  893.             anUnsignedValue == 1
  894.       . 
  895.  
  896.    9. Move the cursor down one line and to the right of the bracket ({), and 
  897.       press Enter to insert a blank line in your code template. 
  898.  
  899.       This provides space to insert the code for the next step. 
  900.  
  901.   10. Make sure the ADD push button Clicked/selected event is highlighted. Then 
  902.       drag the ITEMS list box into the Event window, into the blank line 
  903.       created by the previous step. 
  904.  
  905.       The Create Link window appears. 
  906.  
  907.   11. Select Add item sorted ascending, and then select OK. 
  908.  
  909.       The following C statement appears: 
  910.  
  911.             /* Add item sorted ascending ITEMS List Box */
  912.             anIntegerValue=(LONG)WinSendDlgItemMsg(hwndDlg, ITEMS,
  913.                               LM_INSERTITEM,
  914.                               MPFROMSHORT(LIT_SORTASCENDING),
  915.                               MPFROMP(aTextValue));  /* Text for new item */
  916.  
  917.   12. Insert a blank line between the lines containing the words else and end 
  918.       if. 
  919.  
  920.   13. Make sure the ADD push button Clicked/selected event is highlighted. Then 
  921.       drag the ITEMS list box into the Event window, and into the blank line 
  922.       created by the previous step. 
  923.  
  924.       The Create Link window appears. 
  925.  
  926.   14. Select Add item sorted descending, and then select OK. 
  927.  
  928.       The following C statement appears: 
  929.  
  930.             /* Add item sorted descending ITEMS List Box */
  931.             anIntegerValue=(LONG)WinSendDlgItemMsg(hwndDlg, ITEMS,
  932.                               LM_INSERTITEM,
  933.                               MPFROMSHORT(LIT_SORTDESCENDING),
  934.                               MPFROMP(aTextValue));  /* Text for new item */
  935.  
  936.       Now that the text has been added to the list box, we will place the 
  937.       cursor back into the entry field, and highlight its contents. 
  938.  
  939.       This allows the user to either press the Enter key to add a new instance 
  940.       of the value to the list box, or begin typing a new value without having 
  941.       to delete the previous value. 
  942.  
  943.   15. Make sure the Add push button Clicked/selected event is highlighted. Then 
  944.       drag the Data entry field into the Event window, below the existing 
  945.       statements. 
  946.  
  947.       The Create Link window appears. 
  948.  
  949.   16. Select Get item text length, and then select OK. 
  950.  
  951.       The following C statement appears: 
  952.  
  953.             /* Get item text length DATA Entry Field */
  954.             anIntegerValue=(LONG)WinQueryDlgItemTextLength(hwndDlg, DATA);
  955.  
  956.   17. Once more, we will drag the Data entry field into the Event window, below 
  957.       the existing statements. 
  958.  
  959.       The Create Link window appears. 
  960.  
  961.   18. Select Set selection, and then select OK. 
  962.  
  963.       The following C statement appears: 
  964.  
  965.             /* Set selection DATA Entry Field */
  966.             anUnsignedValue = (ULONG)WinSendDlgItemMsg(hwndDlg, DATA,
  967.                               EM_SETSEL,
  968.                               MPFROM2SHORT(0,    /* First char in selection */
  969.                               5),             /* Last char in selection */
  970.                               0)
  971.  
  972.   19. Change the number 5 to anIntegerValue. 
  973.  
  974.       The preceding two statements highlight existing text in the DATA entry 
  975.       field by selecting all characters within this object. 
  976.  
  977.   20. Drag the DATA entry field into the event window, releasing the mouse 
  978.       below the existing statements in the event window: 
  979.  
  980.       The Create Link window appears. 
  981.  
  982.   21. Select Give focus to window, and then select OK. 
  983.  
  984.       The following C statement appears: 
  985.  
  986.             /* Give focus to window DATA Entry Field */
  987.             WinSetFocus(HWND_DESKTOP,WinWindowFromID(hwndDlg, DATA));
  988.  
  989.   22. Select Save from the Event menu. 
  990.  
  991.  When you are finished with the ADD push button, your code will look like this: 
  992.  
  993.   /* Event ~Add ADD, Clicked/selected */
  994.   CHAR aTextValue[255]="text";
  995.   LONG anIntegerValue=0;
  996.   ULONG anUnsignedValue=0;
  997.  
  998.  
  999.   /* Get item text DATA Entry Field */
  1000.   WinQueryDlgItemText(hwndDlg, DATA, sizeof(aTextValue), aTextValue);
  1001.  
  1002.   /* Is button selected? ASCENDING Radio Button */
  1003.   anUnsignedValue=(ULONG)WinQueryButtonCheckstate(hwndDlg,ASCENDING);
  1004.  
  1005.   if (anUnsignedValue == 1)
  1006.   {
  1007.   /* Add item sorted ascending ITEMS List Box */
  1008.   anIntegerValue=(LONG)WinSendDlgItemMsg(hwndDlg, ITEMS,
  1009.                     LM_INSERTITEM,
  1010.                     MPFROMSHORT(LIT_SORTASCENDING),
  1011.                     MPFROMP(aTextValue));  /* Text for new item */
  1012.   } else {
  1013.   /* Add item sorted descending ITEMS List Box */
  1014.   anIntegerValue=(LONG)WinSendDlgItemMsg(hwndDlg, ITEMS,
  1015.                     LM_INSERTITEM,
  1016.                     MPFROMSHORT(LIT_SORTDESCENDING),
  1017.                     MPFROMP(aTextValue));  /* Text for new item */
  1018.   } /* end if */
  1019.  
  1020.   /* Get item text length DATA Entry Field */
  1021.   anIntegerValue=(LONG)WinQueryDlgItemTextLength(hwndDlg, DATA);
  1022.  
  1023.   /* Set selection DATA Entry Field */
  1024.   anUnsignedValue = (ULONG)WinSendDlgItemMsg(hwndDlg, DATA,
  1025.                     EM_SETSEL,
  1026.                     MPFROM2SHORT(0,    /* First char in selection */
  1027.                     anIntegerValue),             /* Last char in selection */
  1028.                     0);
  1029.  
  1030.   /* Give focus to window DATA Entry Field */
  1031.   WinSetFocus(HWND_DESKTOP,WinWindowFromID(hwndDlg, DATA));
  1032.  
  1033.  
  1034. ΓòÉΓòÉΓòÉ 3.4.3. CLEAR Push Button ΓòÉΓòÉΓòÉ
  1035.  
  1036. The CLEAR push button deletes everything in the Items list box and the DATA 
  1037. entry field, then places the cursor in the DATA entry field to allow further 
  1038. input. 
  1039.  
  1040. To provide this behavior, complete the following steps: 
  1041.  
  1042.    1. From the Event tree view, select the CLEAR push button. 
  1043.  
  1044.    2. From the Selected menu, select When, and then Clicked/Selected. 
  1045.  
  1046.       The following C statements appear in the Event window. 
  1047.  
  1048.             /* Event ~Clear CLEAR, Clicked/selected */
  1049.             CHAR aTextValue[255]="text";
  1050.             LONG anIntegerValue=0;
  1051.             ULONG anUnsignedValue=0;
  1052.  
  1053.    3. Make sure the CLEAR push button Clicked/selected event is highlighted. 
  1054.       Then drag the ITEMS list box into the Event window, below the existing C 
  1055.       statement, and then release the mouse button. 
  1056.  
  1057.       The Create Link window appears. 
  1058.  
  1059.    4. Select Delete all items, and then select OK. 
  1060.  
  1061.       The following C statement appears: 
  1062.  
  1063.             /* Delete all items ITEMS List Box */
  1064.             WinSendDlgItemMsg(hwndDlg, ITEMS,
  1065.                               LM_DELETEALL, 0, 0);
  1066.  
  1067.    5. Next, drag the Data entry field into the event window, below the existing 
  1068.       C statements, and then release the mouse button. 
  1069.  
  1070.       The Create Link window appears. 
  1071.  
  1072.    6. Select Clear all and then select OK. 
  1073.  
  1074.       The following C statement appears. 
  1075.  
  1076.             /* Clear all DATA Entry Field */
  1077.             WinSetDlgItemText(hwndDlg,DATA,"");
  1078.  
  1079.    7. Drag the DATA entry field into the event window, below the existing C 
  1080.       statements, and then release the mouse button. 
  1081.  
  1082.       The Create Link window appears. 
  1083.  
  1084.    8. Select Give focus to window, and then select OK. 
  1085.  
  1086.       The following C statement appears: 
  1087.  
  1088.             /* Give item focus DATA Entry Field */
  1089.             WinSetFocus(HWND_DESKTOP,WinWindowFromID(hwndDlg, DATA));
  1090.  
  1091.    9. Select Save from the Event menu. 
  1092.  
  1093.  When you are finished editing the CLEAR push button, your code will look like 
  1094.  this: 
  1095.  
  1096.   /* Event ~Clear CLEAR, Clicked/selected */
  1097.   CHAR aTextValue[255]="text";
  1098.   LONG anIntegerValue=0;
  1099.   ULONG anUnsignedValue=0;
  1100.  
  1101.   /* Delete all items ITEMS List Box */
  1102.   WinSendDlgItemMsg(hwndDlg, ITEMS,
  1103.                     LM_DELETEALL, 0, 0);
  1104.  
  1105.   /* Clear all DATA Entry Field */
  1106.   WinSetDlgItemText(hwndDlg,DATA, 0);
  1107.  
  1108.   /* Give focus to window DATA Entry Field */
  1109.   WinSetFocus(HWND_DESKTOP,WinWindowFromID(hwndDlg, DATA));
  1110.  
  1111.  
  1112. ΓòÉΓòÉΓòÉ 3.5. Changing the Order of the Objects ΓòÉΓòÉΓòÉ
  1113.  
  1114. When the application starts, the ADD push button would be given focus. This 
  1115. means that it is the currently selected object in your form. To give the DATA 
  1116. entry field focus, you would click on it with the left mouse button, or press 
  1117. Shift+Tab from the keyboard. 
  1118.  
  1119. In this section, we will use the List view to give focus to the DATA entry 
  1120. field when the application is started. This prevents the user from having to 
  1121. select the DATA entry field before typing data. To move to the List view, 
  1122. select List view from the View menu. 
  1123.  
  1124. Each row in the List view represents an object in the Layout view. The object 
  1125. type and icon appear on the left of the split bar, with other attributes on the 
  1126. right.  In this view, you can use direct editing to change the Text identifier 
  1127. for an object, as well as the Symbol name (descriptive name) for an object. 
  1128.  
  1129. To give focus to the DATA entry field  when your application is started, 
  1130. complete the following steps: 
  1131.  
  1132.    1. Select the DATA entry field row by left-clicking on it with the mouse. 
  1133.  
  1134.       The DATA entry field row is highlighted. 
  1135.  
  1136.    2. With the mouse cursor on the DATA entry field row, right-click and drag 
  1137.       the mouse pointer until it is just above the ADD push button row. 
  1138.  
  1139.       A solid horizontal line appears above the ADD push button row. 
  1140.  
  1141.    3. Release the mouse button, and the DATA entry field appears above the ADD 
  1142.       push button in the object order. 
  1143.  
  1144.       You could also programmatically give the focus to the entry field in the 
  1145.       'When opened' event for the main form. The technique you just used, 
  1146.       however, is much faster to implement and visualize if your are working 
  1147.       with many objects. 
  1148.  
  1149.    4. Select Generate and compile from the Form menu, then double-click on the 
  1150.       RUN.EXE program object in your project folder to see your changes. 
  1151.  
  1152.  
  1153. ΓòÉΓòÉΓòÉ 3.6. Compile and Execute the Application ΓòÉΓòÉΓòÉ
  1154.  
  1155. To compile the application, select Generate and compile from the Form menu. 
  1156.  
  1157. The VisPro Viewer appears, displaying the compilation progress and notifying 
  1158. you when the compilation is complete. 
  1159.  
  1160. If there is an error in your code, it will be displayed in the VisPro/Viewer 
  1161. output window. Double-click on that error line in the VisPro Viewer, and the 
  1162. event window containing the error will appear for you to correct. 
  1163.  
  1164. To run the application, double-click the left mouse button on the file RUN.EXE, 
  1165. which is located in the source folder of your project. 
  1166.  
  1167.  
  1168. ΓòÉΓòÉΓòÉ 4. Limitations of the Evaluation Version ΓòÉΓòÉΓòÉ
  1169.  
  1170. The Evaluation Version of VisPro/C differs from the full product in several key 
  1171. aspects: 
  1172.  
  1173.      No user's guide or reference is provided. However, you can get enough 
  1174.       information to get started by viewing this README file and by referring 
  1175.       to the online help. The full product comes with a complete user's guide 
  1176.       which includes detailed information on how to use VisPro, a description 
  1177.       of the structure of the generated code, full descriptions on all the add 
  1178.       on objects, and much more. 
  1179.  
  1180.      The evaluation version is limited to generating the source for projects 
  1181.       with two windows (forms). Also each form is limited to at most 22 
  1182.       objects. These limitations are not part of the full product. 
  1183.  
  1184.      The Database Designer is not included in the Evaluation version. This 
  1185.       feature allows you to design client/server applications or reverse 
  1186.       engineer existing database structures from ODBC-enabled databases to 
  1187.       create entity/relationship (E/R) diagrams. These can then be used to 
  1188.       create visual SQL statements or to automatically generate the code used 
  1189.       to access the database. Using the Database Designer you can construct a 
  1190.       form accessing multiple database tables with a single drag and drop 
  1191.       operation. 
  1192.  
  1193.             _________________________________________
  1194.             The VisPro Database Designer
  1195.  
  1196.      The VisPro add-on objects are not included in the Evaluation Version. 
  1197.       These objects are business graphics, formatted entry field, spreadsheet, 
  1198.       clock, and calendar. 
  1199.  
  1200.             _________________________________________
  1201.             A sample application displaying some of the add-on objects
  1202.  
  1203.       You can use these objects in any or your C applications, even those not 
  1204.       generated by VisPro. 
  1205.  
  1206.       Business graphics 
  1207.               Add pizzaz to your business related applications by using this 
  1208.               control. Displays your data in bar, stacked bar, pie, line and 
  1209.               area charts formats. You can control many style options including 
  1210.               3D effects and colors. 
  1211.  
  1212.       Formatted entry field 
  1213.               Displays a text entry area that has specific formats of data, 
  1214.               including date, time, uppercase, or a customizable picture mask. 
  1215.  
  1216.       Spreadsheet 
  1217.               Allows users to enter and display data in spreadsheet format. You 
  1218.               can control the number of rows and columns, as well as other 
  1219.               spreadsheet attributes. This is ideal for providing you 
  1220.               applications with a way of entering information in column 
  1221.               fashion. 
  1222.  
  1223.       Calendar 
  1224.               This monthly calendar provides you applications with a quick and 
  1225.               easy way of specifing date information. 
  1226.  
  1227.       Clock 
  1228.               The clock control displays the time in analog, digital and 
  1229.               military format. 
  1230.  
  1231.                             _________________________________________
  1232.                             A sample application displaying the clock object in different formats
  1233.  
  1234.      The resource information for each window is generated in binary form in 
  1235.       the Evaluation Version. As a result, it is not possible to modify these 
  1236.       outside the VisPro environment. In the full product, this information is 
  1237.       generated in textual form, allowing for easy inspection and modification. 
  1238.  
  1239.      The product information window is forced to the foreground every time you 
  1240.       enter the Evaluation Version of the VisPro editor. In the full product, 
  1241.       you can choose not to view this window. 
  1242.  
  1243.      After opening the layout view 40 times, the evaluation version will bring 
  1244.       a window telling you that you have used it 40 times.  After this, you 
  1245.       will no longer be able to bring up the layout editor. 
  1246.  
  1247.  
  1248. ΓòÉΓòÉΓòÉ 5. Company background ΓòÉΓòÉΓòÉ
  1249.  
  1250. In April of 1993, HockWare introduced VisPro/REXX--the first OS/2 visual REXX 
  1251. programming tool as well as the first REXX programming tool to include drag and 
  1252. drop programming. 
  1253.  
  1254. VisPro/REXX fully exploits OS/2 2.x, OS/2 Warp, the Workplace Shell, CUA '91 
  1255. objects, SOM and the REXX language. There are three commercially available 
  1256. products developed with VisPro/REXX: 
  1257.  
  1258.      Performance Plus by Clear and Simple 
  1259.       A CPU performance monitoring tool 
  1260.  
  1261.      WatchIt by Client Server Networking 
  1262.       A LAN performance analysis and management tool for IBM LAN Server 
  1263.  
  1264.      CS-Edit/2 by Multitask Consulting 
  1265.       A system configuration editor 
  1266.  
  1267.  These are just a few of the products that exemplify the robustness and 
  1268.  stability of the VisPro development environment. 
  1269.  
  1270.  HockWare has headquarters in Cary, North Carolina (USA). 
  1271.  
  1272.  
  1273. ΓòÉΓòÉΓòÉ 6. How To Order VisPro/C ΓòÉΓòÉΓòÉ
  1274.  
  1275. VisPro/C is available directly from HockWare or from your favorite software 
  1276. reseller. 
  1277.  
  1278. We provide several ways you can reach us for product support and questions. 
  1279. These include: 
  1280.  
  1281.      Phone: Our technical support number is 
  1282.  
  1283.             (919) 380-0616
  1284.  
  1285.      Fax: Our FAX number is 
  1286.  
  1287.             (919) 380-0757
  1288.  
  1289.      Compuserve: Mail can be sent directly to us at 
  1290.  
  1291.             71333,3226
  1292.  
  1293.       Technical questions can be directed to our forum.  You can access the 
  1294.       HOCKWARE forum by using the GO command in this form: 
  1295.  
  1296.             GO HOCKWARE
  1297.  
  1298.      Internet: Our Internet address is: 
  1299.  
  1300.             hockware@vnet.net
  1301.  
  1302.      World Wide Web: General sales information, product announcements, and 
  1303.       patches are available from our site on the world wide web. The URL is: 
  1304.  
  1305.             http://www.hockware.com/hockware
  1306.  
  1307.  The next section contains an online order form, which you may print out to use 
  1308.  when mailing or faxing your order to us. 
  1309.  
  1310.  
  1311. ΓòÉΓòÉΓòÉ 6.1. Order Form for VisPro/C ΓòÉΓòÉΓòÉ
  1312.  
  1313. SHIPPING ADDRESS:                   BILLING ADDRESS:
  1314.  
  1315. Name: ____________________________   Name: ____________________________
  1316. Company: _________________________   Company: _________________________
  1317. Address: _________________________   Address: _________________________
  1318. __________________________________   __________________________________
  1319. City: ____________________________   City: ____________________________
  1320. State: ___________________________   State: ___________________________
  1321. Country: _________________________   Country: _________________________
  1322. Zip: _____________________________   Zip: _____________________________
  1323. Phone: ___________________________   Phone: ___________________________
  1324. FAX: _____________________________   FAX: _____________________________
  1325. PAYMENT METHOD: (Circle)
  1326. Check  Purchase Order(Include copy of PO)  Credit Card:  Visa   Amex   MC
  1327. Wire Transfer                              Account Number:
  1328.                                            ______________________________
  1329.                                            Expiration Date: _____________
  1330.  
  1331. UPS SHIPPING and HANDLING FEES: (Alaska, Hawaii, Puerto Rico and Intnl.
  1332.                                  shipping fees vary. Please call.)
  1333. Ground: 1-3 Copies    $7.00      each additional copy:        $2.00
  1334. 2nd day air: 1 copy   15.00      each additional copy:         4.00
  1335. Next day air: 1 copy  25.00      each additional copy:         6.00
  1336.  
  1337. ITEM                   QUANTITY   UNIT PRICE         TOTAL
  1338. VisPro/REXX Gold        __________  $299.00             _____________
  1339. VisPro/REXX BRONZE      __________  $59.00              _____________
  1340. VisPro/Reports          __________  $199.00             _____________
  1341. VisPro/C                __________  $299.00             _____________
  1342. VisPro/C++              __________  $299.00             _____________
  1343. Development Suite
  1344.  (VisPro/REXX, C, C++)  __________  $499.00             _____________
  1345.                                     SUBTOTAL            _____________
  1346.           Sales Tax (residents of NC only, 6% subtotal) _____________
  1347.                                     Shipping            _____________
  1348.                                     TOTAL               _____________
  1349. Where did you hear about us?
  1350.  
  1351.    HockWare, Inc. Telephone (919) 380-0616   FAX (919) 380-0757
  1352.