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

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