═══ 1. About this Guide ═══ This Guide describes the samples shipped with VisualAge C++. There are well over 100 samples -- some written in C, some in C++ -- each demonstrating some particular feature of the VisualAge C++ components. Before you begin to use this information, it would be helpful to understand how to navigate through it. You can use the Table of Contents to locate topics and the Search facility to search the text of this document. You can use hypertext links to acquire related information on the current topic. Hypertext links appear in a different color (which you can customize using the OS/2 Scheme Palette). For example, here is a link to another panel: Communicating Your Comments to IBM By double-clicking on the text of the link or by pressing Enter on a highlighted link, you will open a panel of related information. When you open a panel, the first link has the focus; to shift the focus to other links, use the Tab key. You should also understand:  How to Use the Contents  How to Obtain Additional Information  How to Use Action Bar Choices  How to Cut and Paste Examples ═══ 1.1. Notices ═══ Copyright International Business Machines Corporation, 1992, 1995. All rights reserved. Note to U.S. Government Users - Documentation related to restricted rights - Use, duplication, or disclosure is subject to restrictions set forth in GSA ADP Schedule Contract with IBM Corp. First Edition, May 1995. This edition applies to Version 3.0 of IBM VisualAge C ++ for OS/2 (30H1664, 30H1665, 30H1666) and to all subsequent releases and modifications until otherwise indicated in new editions. Make sure you are using the correct edition for the level of the product. Requests for publications and for technical information about IBM products should be made to your IBM Authorized Dealer or your IBM Marketing Representative. When you send information to IBM, you grant IBM a nonexclusive right to use or distribute the information in any way it believes appropriate without incurring any obligation to you. Any reference to an IBM licensed program in this publication is not intended to state or imply that only IBM's licensed program may be used. Any functionally equivalent product, program, or service that does not infringe any of IBM's intellectual property rights may be used instead of the IBM product, program, or service. Evaluation and verification of operation in conjunction with other products, except those expressly designated by IBM, is the user's responsibility. IBM may have patents or pending patent applications covering subject matter in this document. The furnishing of this document does not give you any license to these patents. You can send license inquiries, in writing, to the IBM Director of Licensing, IBM Corporation, 500 Columbus Avenue, Thornwood, NY, 10594, USA. Licensees of this program who wish to have information about it for the purpose of enabling: (i) the exchange of information between independent created programs and other programs (including this one) and (ii) the mutual use of the information which has been exchanged, should contact IBM Canada Ltd., Department 071, 1150 Eglinton Avenue East, North York, Ontario M3C 1H7, Canada. Such information may be available, subject to appropriate terms and conditions, including in some cases payment of a fee. This publication contains examples of data and reports used in daily business operations. To illustrate them as completely as possible, the examples include the names of individuals, companies, brands, and products. All of these names are fictitious and any similarity is entirely coincidental. ═══ 1.2. Trademarks and Service Marks ═══ The following terms used in this publication are trademarks or service marks of IBM Corporation in the United States or other countries: BookManager C/2 C Set/2 C Set ++ Common User Access CUA IBM IBMLink Library Reader Operating System/2 OS/2 Personal System/2 PS/2 Presentation Manager PROFS VisualAge Warp WorkFrame Other company, product, and service names, which may be denoted by a double asterisk(**), may be trademarks or service marks of others. ═══ 1.3. How to Use the Contents ═══ When the Contents window first appears, some topics have a plus (+) sign beside them. The plus sign indicates that additional topics are available. To expand the Contents if you are using a mouse, click on the plus sign. If you are using the keyboard, use the Up or Down Arrow key to highlight the topic, and press the plus (+) key. For example, How to Use the Contents has a plus sign beside it. To see additional topics for that heading, click on the plus sign or highlight that topic and press the plus (+) key. To view a topic, double-click on the topic (or press the Up or Down Arrow key to highlight the topic, and then press the Enter key). ═══ 1.4. How to Obtain Additional Information ═══ After you select a topic, the information for that topic appears in a window. Highlighted words or phrases indicate that additional information is available. Certain words and phrases are highlighted in a different color from the surrounding text. These are called hypertext terms. If you are using a mouse, double-click on the highlighted word. If you are using a keyboard, press the Tab key to move to the highlighted word, and then press the Enter key. Additional information then appears in a window. ═══ 1.5. How to Use Action Bar Choices ═══ Several choices are available for managing the information presented in this document. There are three menus on the action bar: the Services menu, the Options menu, and the Help menu. The actions that are selectable from the Services menu operate on the active window currently displayed on the screen. These actions include the following: Placing Bookmarks You can set a placeholder so you can retrieve information of interest to you. Searching for Information You can find occurrences of a word or phrase in the current topic, selected topics, or all topics. Printing Information You can print one or more topics. You can also print a set of topics by first marking the topics in the Contents list. Copying Information to a File You can copy a topic that you are viewing to the System Clipboard or to a file that you can edit. This method is particularly useful for copying syntax definitions and program samples into the application that you are developing. Using the actions that are selectable from the Options menu, you can change the way your Contents list is displayed. To expand the Contents and show all levels for all topics, choose Expand all from the Options pull-down. You can also press the Ctrl, Shift, and * keys together. The actions that are selectable from the Help menu allow you to select different types of help information. For information about any of the menu choices, highlight the choice in the menu and press F1. ═══ 1.5.1. Placing Bookmarks ═══ When you place a bookmark on a topic, it is added to a list of bookmarks you have previously set. You can view the list, and you can remove one or all bookmarks from the list. If you have not set any bookmarks, the list is empty. To set a bookmark, do the following: 1. Select a topic from the Contents. 2. When that topic appears, select the Bookmark option from the Services menu. 3. If you want to change the name used for the bookmark, type the new name in the field. 4. Click on the Place radio button (or press the Up or Down Arrow key to select it). 5. Click on OK (or select it and press Enter). The bookmark is then added to the bookmark list. ═══ 1.5.2. Searching for Information ═══ You can specify a word or phrase to be searched. You can also limit the search to a set of topics by first marking the topics in the Contents list. To search for a word or phrase in all topics, do the following: 1. Select the Search option from the Services menu. 2. Type the word or words to be searched for. 3. Click on All sections (or press the Up or Down Arrow keys to select it). 4. Click on Search (or select it and press Enter) to begin the search. 5. The list of topics where the word or phrase appears is displayed. ═══ 1.5.3. Printing Information ═══ You can print one or more topics, the index, or the table of contents. Make sure that your printer is connected to the serial port, configured correctly, and ready for input. To print: 1. Select Print from the Services pull-down. 2. Select what you want to print. Note that the This section and Marked sections choices are only available if you are viewing a topic or if you have marked topics, respectively. To mark topics in the table of contents, press the Ctrl key and click on the topics, or use the arrow keys. 3. Select Print to print what you've chosen on your printer. ═══ 1.5.4. Copying Information to a File ═══ You can copy a topic that you are viewing in two ways:  Copy copies the topic that you are viewing into the System Clipboard. If you are using a Presentation Manager (PM) editor (for example, the Enhanced Editor) that copies or cuts (or both) to the System Clipboard, and pastes to the System Clipboard, you can easily add the copied information to your program source module.  Copy to file copies the topic that you are viewing into a temporary file named TEXT.TMP. You can later edit that file by using any editor. TEXT.TMP is placed in the directory where your viewable document resides. To copy a topic, do the following: 1. Expand the Contents list and select a topic. 2. When the topic appears, select Copy to file from the Services menu. 3. The system puts the text pertaining to that topic into the temporary file TEXT.TMP. ═══ 1.6. How to Cut and Paste Examples ═══ You can copy examples (or information) from this reference/guide/book to compile, link, and run them, or to paste them into your own code. To copy an example or information: 1. Make the topic you want to copy the active window. 2. From the Services menu, select Copy to file. The text in that topic is placed in the temporary file TEXT.TMP, in the same directory as this reference. 3. You can then modify or use TEXT.TMP as you want. Note: Because the system copies the entire contents of the topic to the file, you may need to edit it to remove additional text. Most examples in this reference are ready to compile, link, and run as they appear, and do not require any editing. ═══ 1.7. Other Information You Might Find Helpful ═══ This product provides a number of online guides and references that we hope you'll find helpful as you develop applications. This information includes User's Guides, References, and How Do I help that gives you specific instructions for performing common tasks. You can get to this online information from the Information folder inside the main VisualAge C++ folder. You can also get to it from the Help menu in any of the components of the product. ═══ 1.8. Communicating Your Comments to IBM ═══ If there is something you like, or dislike, about this book, please let us know. You can use one of the methods listed below to send your comments to IBM. Please be sure to include the complete title of the publication that you are commenting on. The comments you send should only pertain to the information in this document and its presentation. To request additional publications or to ask questions or make comments about the functions of IBM products or systems, you should talk to your IBM representative or your authorized IBM remarketer. When you send comments to IBM, you grant IBM a nonexclusive right to use or distribute your comments in any way it believes appropriate without incurring any obligation to you. You can send your comments to IBM in the following ways:  By mail to the following address: IBM Canada Ltd. Laboratory Information Development 2G/345/1150/TOR 1150 EGLINTON AVENUE EAST NORTH YORK, ONTARIO CANADA M3C 1H7  By FAX to the following number: - United States and Canada: (416) 448-6161 - Other countries (+1) 416-448-6161  By electronic mail to one of the following IDs. Be sure to include your entire network address if you wish to get a reply. - Internet: torrcf@vnet.ibm.com - IBMLink: toribm(torrcf) - IBM/PROFS: torolab4(torrcf) - IBMMAIL: ibmmail(caibmwt9) ═══ 1.9. Disclaimer of Warranties ═══ The following enclosed code is sample code created by IBM Corporation. This sample code is not part of any standard IBM product and is provided to you solely for the purpose of assisting you in the development of your applications. The code is provided "AS IS", without warranty of any kind. IBM shall not be liable for any damages arising out of your use of the sample code, even if they have been advised of the possibility of such damages. ═══ 2. Guide to Samples Overview ═══ The VisualAge C++ samples have been ordered in two ways to help you quickly locate the examples that are relevant to your work:  Ordered by Name  Ordered by Component The descriptive panel for each sample tells you what the sample does, what concept or feature it illustrates, how to run the prebuilt project and where to find the source files. In most cases, instructions are also given for building the project yourself from either the command line or from within the WorkFrame environment. Note: The samples are coded in simple style. Unless explicitly stated, they do not try to conserve storage, check for errors, achieve fast run times, or demonstrate all possible uses of a component or function. ═══ 3. Samples Indexed by Name ═══ ═══ Ordered by Name ═══ Reorder by: Component Project Title C or C++/Component ═══ Ordered by Name ═══ A Animals C++/Collection Classes Arab Style C/Warp Toolkit Arab TelDir C/Warp Toolkit Audio Recorder C/Warp Toolkit Authors C++/Compiler AVC I/O Procedure Installation C/Warp Toolkit B BigCPP C++/User Interface Classes 2D Bitmap C++/User Interface Classes BMPSAMP C/Warp Toolkit C Calculat C++/Visual Builder CallREXX C/Warp Toolkit Caption Sample C/Warp Toolkit Caption Creation Utility C/Warp Toolkit Car Sample C++/Database Access Classes CarEdit Sample C++/Database Access Classes CarBrws Sample C++/Database Acess Classes Case Converter I/O Procedure C/Warp Toolkit Clipbrd C C/Warp Toolkit Code Translation C++/Collection Classes Compressor/ Decompressor Sample C/Warp Toolkit Consolio C/Warp Toolkit Container C++/User Interface Classes Controls C/Warp Toolkit C++ Stock Sample C++/Database Access Classes D DAXSAMP Database DLL C++/Database Access Classes DDE (client, server) C++/User Interface Classes DevInfo C/Warp Toolkit Dialog C/Warp Toolkit Direct Interface Video Extensions C/Warp Toolkit Direct Manipulation 1 C++/User Interface Classes Direct Manipulation 2 C++/User Interface Classes Direct Manipulation 3 C++/User Interface Classes Direct Manipulation 4 C++/User Interface Classes Disk Usage C++/Collection Classes DLLAPI C/Warp Toolkit Doodle C++/Visual Builder DragDrop C/Warp Toolkit E EvenOdd C++/Collection Classes Extended Attribute Edit Program C/Warp Toolkit F File System Stream Handler C/Warp Toolkit G Graph C++/Collection Classes Graphics C/Warp Toolkit 2D Graphics C++/User Interface Classes GREP C/Compiler H (Hebrew) Style C/Warp Toolkit (Hebrew) Telephone Directory C/Warp Toolkit Hello World 1 C++/User Interface Classes Hello World 2 C++/User Interface Classes Hello World 3 C++/User Interface Classes Hello World 4 C++/User Interface Classes Hello World 5 C++/User Interface Classes Hello World 6 C++/User Interface Classes I Image Browser C/Warp Toolkit Install Control Files C/Warp Toolkit Interprocess Communication C/Warp Toolkit IOC Samples Project C++/User Interface Classes IOC Samples Project- Collections C++/Collection Classes IPF C/Warp Toolkit J K KeySet C++/Collection Classes L Lancelot C++/User Interface Classes Letters C++/Collection Classes Listbox C++/User Interface Classes LXMIN2 external C/Editor M Magnify C++/User Interface Classes Mahjongg C/Compiler Media Control Driver Command Tables C/Warp Toolkit Media Control Driver Template C/Warp Toolkit Media Control Interface Spy C/Warp Toolkit Media Control Interface String Test C/Warp Toolkit Memory Playlist C/Warp Toolkit Message Box C++/User Interface Classes M-Motion I/O Procedure C/Warp Toolkit Movie Sample Application C/Warp Toolkit Multi Cell Canvas C++/User Interface Classes Multithread Program C/Compiler Multi Line Entry Field C++/User Interface Classes Multimedia MMRemote C++/User Interface Classes Multimedia MMStereo C++/User Interface Classes N Named Pipes C/Warp Toolkit Non-Linear Video C/Warp Toolkit Notebook C++/User Interface Notify C++/User Interface O OASearch C++/Visual Builder One Collection - Two Programs C++/Collection Classes P Pallette C/Warp Toolkit Parcel C++/Collection Classes Planets C++/Collection Classes PMLines C/Compiler PM Rexx Calculator C/Warp Toolkit Poem C/Compiler Police Rap Sheet C++/Visual Builder Print C/Warp Toolkit Q R REXXUtil C/Warp Toolkit S Semaphore C/Warp Toolkit Set Canvas C++/User Interface Classes SOM Stock Sample C++/Database Access Classes Sort C/Warp Toolkit 3 Sort DLL C/Compiler Split Canvas C++/User Interface Classes Stream Handler Resource File C/Warp Toolkit Subsystem DLL C/Compiler SumUp C++/Collection Classes T TimeServ C/Warp Toolkit Toolbar 1 C++/User Interface Classes Toolbar 2 C++/User Interface Classes Touch C/Compiler Towers of Hanoi C/Warp Toolkit Tree C++/Collection Classes U UILines C++/Compiler Ultimotion I/O Procedure C/Warp Toolkit V Version C++/User Interface Classes Viewport C++/User Interface Classes VBRemote C++/Visual Builder VBStereo C++/Visual Builder VMM C/Warp Toolkit W Waveaudio with Waveaudio C/Warp Toolkit Waveform Audio Media Control Driver C/Warp Toolkit Waveaudio with CD-Audio C/Warp Toolkit Word Bag C++/Collection Classes Word Sequence C++/Collection Classes Word Stack C++/Collection Classes X Y Z ═══ 4. Samples Indexed by Component ═══ ═══ Ordered by Component ═══ Reorder: Alphabetically ═══ Ordered by Component ═══  Collection Class Samples  Compiler Samples  Data Access Class Samples  Editor  Warp Toolkit Samples  User Interface Class Samples  Visual Builder Class Samples Double-click on a component to open or close its list of samples. ═══ Collection Class Samples ═══ ═══ Collection Class Samples ═══  Collection Class Samples Project Name C or C++ ═══ Collection Class Samples ═══ Animals C++ Code Translation C++ Disk Usage C++ Even/Odd C++ Graph C++ IOC Samples Project- Collections C++/Collection Classes Key Set C++ Letters C++ One Collection - Two Programs C++ Parcels C++ Planets C++ SumUp C++ Tree C++ Word Bag C++ Word Sequence C++ Word Stack C++  Compiler Samples  Data Access Class Samples  Editor  Warp Toolkit Samples  User Interface Class Samples  Visual Builder Class Samples Double-click on a component to open or close its list of samples. ═══ Compiler Samples ═══ ═══ Compiler Samples ═══  Collection Class Samples  Compiler Samples Project Name C or C++ ═══ Compiler Samples ═══ Authors C++ Geometric Area C++ Grep C Mahjongg C Multithread Hello World C PMLines C Process Registration Subsystem DLL C 32/16 Sample C Touch C Three Sort DLL C UILines C++  Data Access Class Samples  Editor  Warp Toolkit Samples  User Interface Class Samples  Visual Builder Class Samples Double-click on a component to open or close its list of samples. ═══ Data Access Class Samples ═══ ═══ Data Access Class Samples ═══  Collection Class Samples  Compiler Samples  Data Access Class Samples Project Name C or C++ ═══ Data Access Class Samples ═══ CarBrws Sample C++ CarEdit Sample C++ Car Sample C++ DAXSAMP Database DLL C++ Stock CPP C++ Stock SOM C++  Editor  Warp Toolkit Samples  User Interface Class Samples  Visual Builder Class Samples Double-click on a component to open or close its list of samples. ═══ Editor ═══ ═══ Editor ═══  Collection Class Samples  Compiler Samples  Data Access Class Samples  Editor Project Name C or C++ ═══ Editor ═══ LXMIN2 C  Warp Toolkit Samples  User Interface Class Samples  Visual Builder Class Samples Double-click on a component to open or close its list of samples. ═══ Warp Toolkit Samples ═══ ═══ Warp Toolkit Samples ═══  Collection Class Samples  Compiler Samples  Data Access Class Samples  Editor  Warp Toolkit Samples Project Name C or C++ ═══ Warp Toolkit Samples ═══ Arab Style Elements C Arab Telephone Directory C Audio Recorder C AVC I/O Procedure Installation C BMPSamp C CallREXX C Caption Sample C Caption Creation Utility C Case Converter I/O Procedure C Clipboard C C Compressor/Decompressor Sample C Consolio C Controls C DevInfo C Dialog C Direct Interface Video Extensions C DLLApi C DragDrop C Extended Attribute Edit Program C File System Stream Handler C Graphics C Hebrew Style C Hebrew Telephone Directory C Image Browser C Install Control Files Control Files IPF C Media Control Driver Command Tables Media Control Driver Template C Media Control Interface Spy C Media Control Interface String Test C Memory Playlist. C M-Motion I/O Procedure C Movie Sample Application C Non-Linear Video C NPipe_Client C Queue C Pallette C Print C REXXUtil C Semaphore C Sort C StdWnd C Stream Handler Resource File C Template C TimeServ C Towers of Hanoi C Ultimotion I/O Procedure C VMM C Waveform Audio Media Control Driver C Waveaudio with CD-Audio C Waveaudio with Waveaudio C WPS ASCII/Hex File Browser C WPS WPDatafile C C WPS WPDatafile C++ C++  User Interface Class Samples  Visual Builder Class Samples Double-click on a component to open or close its list of samples. ═══ User Interface Class Samples ═══ ═══ User Interface Class Samples ═══  Collection Class Samples  Compiler Samples  Data Access Class Samples  Editor  Warp Toolkit Samples  User Interface Class Samples Project Name C or C++ ═══ User Interface Class Samples ═══ BIGCPP C++ 2D Bitmap C++ Container C++ DDE (client, server) C++ Direct Manipulation 1 C++ Direct Manipulation 2 C++ Direct Manipulation 3 C++ Direct Manipulation 4 C++ 2D Graphics C++ Hello World 1 C++ Hello World 2 C++ Hello World 3 C++ Hello World 4 C++ Hello World 5 C++ Hello World 6 C++ IOC Samples Project C++/User Interface Classes Lancelot C++ Listbox C++ Magnify C++ Message Box C++ Multi Cell Canvas C++ Multi Line Entry Field C++ Multimedia MMRemote C++ Multimedia MMStereo C++ Notebook C++ Notify C++ Set Canvas C++ Split Canvas C++ Toolbar 1 C++ Toolbar 2 C++ Viewport C++ Version C++  Visual Builder Class Samples Double-click on a component to open or close its list of samples. ═══ Visual Builder Class Samples ═══ ═══ Visual Builder Class Samples ═══  Collection Class Samples  Compiler Samples  Data Access Class Samples  Editor  Warp Toolkit Samples  User Interface Class Samples  Visual Builder Class Samples Project Name C or C++ ═══ Visual Builder Class Samples ═══ Calculat C++ Doodle C++ OASearch C++ Police Rap Sheet C++ VBRemote C++ VBStereo C++ Double-click on a component to open or close its list of samples. ═══ Project - Animals ═══ Description: This program uses the default key bag class, IKeyBag, to create a key bag for storing observations made on animals. The key of the class is the name of the animal. The program produces various reports regarding the observations. Then it removes all the extinct animals, which are stored in a sequence, from the key bag. Task: This program creates and uses a key bag for storing observations made on animals. Concept/Feature: This program is a sample to demonstrate the use of the default key bag class, IKeyBag. Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder). Source File Location: X:\ibmcpp\samples\ioc\animals where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: ANIMALS If the sample fails to execute or abnormally ends, you can get more information about the failure by turning on the ICLUI trace. This is done by setting the environment variable ICLUI_TRACE as follows: set ICLUI_TRACE=ON set ICLUI_TRACETO=STDERR The second export controls where the trace information is reported. With tracing turned on, ICLUI exception text will be written to a standard error file. For example: hello1 >hello1.out 2>&1 The exception data is now in the file hello1.out. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the Collection Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - ANIMALS ═══ Required files:  animals.rea  animals.exe  animals.cpp  animal.h  animals.xpc  build.cmd ═══ Project - Disk Usage ═══ Description: This program uses a sorted map and a sorted relation to display sorted lists of the name and size of files contained on a disk. It uses the default classes, ISortedMap and ISotredRelation, to implement the collections. The program uses the sorted map to store the name of the file because all elements in a sorted map are unique and all names on a disk are unique. It uses a sorted relation for the file size because there may be identical file sizes and identical values are permissible in sorted relations. Task: This program uses a sorted map and a sorted relation to display sorted lists of the name and size of files contained on a disk. Concept/Feature: This program is a sample to demonstrate the use of the default classes ISortedMap and ISortedRelation. Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder). Source File Location: X:\ibmcpp\samples\ioc\dskusage where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: DSKUSAGE If the sample fails to execute or abnormally ends, you can get more information about the failure by turning on the ICLUI trace. This is done by setting the environment variable ICLUI_TRACE as follows: set ICLUI_TRACE=ON set ICLUI_TRACETO=STDERR The second export controls where the trace information is reported. With tracing turned on, ICLUI exception text will be written to a standard error file. For example: hello1 >hello1.out 2>&1 The exception data is now in the file hello1.out. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the Collection Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - Disk Usage ═══ Required files:  dskusage.rea  build.cmd  dskusage.exe  dskusage.cpp  dskusage.xpc  dsu.dat  dsur.h ═══ Project - Even/Odd ═══ Description: This program creates sets using the default class, ISet. The "odd" set contains all odd numbers less than ten. The "prime" set contains all prime numbers less than ten. The program creates a set, "oddPrime" that contains all the prime numbers less than ten that are odd, by using the intersection of "odd" and "prime". It creates another set, "evenPrime", that contains all the prime numbers less than ten that are even, by using the difference of "prime" and "oddPrime". Task: This program uses sets to store odd and prime numbers. Concept/Feature: This program is a sample to demonstrate the use of the default class ISet. Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder). Source File Location: X:\ibmcpp\samples\ioc\evenodd where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: EVENODD If the sample fails to execute or abnormally ends, you can get more information about the failure by turning on the ICLUI trace. This is done by setting the environment variable ICLUI_TRACE as follows: set ICLUI_TRACE=ON set ICLUI_TRACETO=STDERR The second export controls where the trace information is reported. With tracing turned on, ICLUI exception text will be written to a standard error file. For example: hello1 >hello1.out 2>&1 The exception data is now in the file hello1.out. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the Collection Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - Even/Odd ═══ Required files:  evenodd.rea  build.cmd  evenodd.cpp  evenodd.xpc  evenodd.exe ═══ Project - Graph ═══ Description: This program allows to store managed pointers for various graphical objects into one collection, a key sorted set. The graphical objects, namely lines, curves, and circles, inherit from a base class Graphics. Managed pointers to objects of this type are stored in the key sorted set. Using these pointers, you can access the various objects from the collection. Task: This program uses a key sorted set to store managed pointers of various graphical objects. Concept/Feature: This program is a sample to demonstrate the use of managed pointers. Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder). Source File Location: X:\ibmcpp\samples\ioc\graph where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: GRAPH If the sample fails to execute or abnormally ends, you can get more information about the failure by turning on the ICLUI trace. This is done by setting the environment variable ICLUI_TRACE as follows: set ICLUI_TRACE=ON set ICLUI_TRACETO=STDERR The second export controls where the trace information is reported. With tracing turned on, ICLUI exception text will be written to a standard error file. For example: hello1 >hello1.out 2>&1 The exception data is now in the file hello1.out. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the Collection Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - Graph ═══ Required files:  graph.rea  build.cmd  graph.cpp  graph.xpc  circle.h  curve.h  graph.h  line.h  graph.exe ═══ Project - IOC Samples Project-Collections ═══ WARNING DO NOT DELETE THIS PROJECT. THIS IS A TEMPLATE PROJECT ON WHICH YOU CANNOT PERFORM ACTIONS LIKE BUILD OR RUN. BE AWARE THAT CHANGES TO THIS PROJECT AFFECT ALL OF THE COLLECTION CLASS SAMPLE PROJECTS. Description: The purpose of IOC Samples Project - Collections is to define the common project settings and tools setup for all sample projects for the Collection Classes. All Collection Class sample projects inherit from this project. IOC Samples Project - Collection in turn inherits from the VisualAge C++ Project (X:\ibmcpp\mainprj\vacpp where X is the drive on which you installed the product). If, for a certain Collection Class project, you do not want to inherit build settings from IOC Samples Project - Collections, then go to the Tools setup of your project and deselect the option Use build settings from parent project from the Build action. (This is on the Project page of the notebook for the Build normal and Rebuild all actions.) Then you can define your options locally for your project. For example, you could define whether or not to include browser information or which level of browser information to include. Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder). Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the Collection Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Project - KeySet ═══ Description: This program implements a key set using the default class, IKeySet. The program adds four elements to the key set and then removes one element by looking for a key. If an exception occurs, it displays the exception name and description. Task: This program uses a key set to store elements and remove an element by using its key. Concept/Feature: This program is a sample to demonstrate the use of the default class IKeySet. Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder). Source File Location: X:\ibmcpp\samples\ioc\intkyset where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: INTKYSET If the sample fails to execute or abnormally ends, you can get more information about the failure by turning on the ICLUI trace. This is done by setting the environment variable ICLUI_TRACE as follows: set ICLUI_TRACE=ON set ICLUI_TRACETO=STDERR The second export controls where the trace information is reported. With tracing turned on, ICLUI exception text will be written to a standard error file. For example: hello1 >hello1.out 2>&1 The exception data is now in the file hello1.out. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the Collection Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - KeySet ═══ Required files:  intkyset.rea  build.cmd  intkyset.cpp  demoelem.h  intkyset.xpc  inkyset.exe ═══ Project - Letter ═══ Description: This program uses the default deque class, IDeque, to create a deque. It fills the deque with characters by adding them to the back end. The program then removes the characters from alternating ends of the deque (beginning with the front end) until the deque is empty. Task: This program uses a deque to add elements at its back end and remove them from alternating ends. Concept/Feature: This program is a sample to demonstrate the use of the default class IDeque. Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder). Source File Location: X:\ibmcpp\samples\ioc\letterdq where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: LETTERDQ If the sample fails to execute or abnormally ends, you can get more information about the failure by turning on the ICLUI trace. This is done by setting the environment variable ICLUI_TRACE as follows: set ICLUI_TRACE=ON set ICLUI_TRACETO=STDERR The second export controls where the trace information is reported. With tracing turned on, ICLUI exception text will be written to a standard error file. For example: hello1 >hello1.out 2>&1 The exception data is now in the file hello1.out. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the Collection Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - Letters ═══ Required files:  letterdq.rea  build.cmd  letterdq.cpp  letterdq.xpc  letterdq.exe ═══ Project - Tree ═══ Description: This program constructs a binary tree for the following expression: (8+2) * (2+4) / (7-5). The program prints this tree in preorder, using prefix notation. It then calculates the result of the expression. The program identifies subtrees consisting of an operand and two operators, calculated the result and replaces the subtree by its result. Finally, the tree consists of one node which is the result of the expression. Task: This program uses a tree collection to calculate an arithmetic expression Concept/Feature: This program is a sample to demonstrate the use of the default class ITree. Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder). Source File Location: X:\ibmcpp\samples\ioc\nary where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: NARY If the sample fails to execute or abnormally ends, you can get more information about the failure by turning on the ICLUI trace. This is done by setting the environment variable ICLUI_TRACE as follows: set ICLUI_TRACE=ON set ICLUI_TRACETO=STDERR The second export controls where the trace information is reported. With tracing turned on, ICLUI exception text will be written to a standard error file. For example: hello1 >hello1.out 2>&1 The exception data is now in the file hello1.out. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the Collection Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - Tree ═══ Required files:  nary.rea  build.cmd  nary.cpp  nary.xpc  nary.exe ═══ Project - Parcel ═══ Description: This program uses the default classes for a key sorted set and a heap, IKeySortedSet and IHeap, to track parcels for a delivery service. It uses a key sorted set to record the parcels that are currently in circulation. Task: This program uses a key sorted set and a heap to track parcels for a delivery service. Concept/Feature: This program is a sample to demonstrate the use of the default classes IKeySortedSet and IHeap. Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder). Source File Location: X:\ibmcpp\samples\ioc\parcel where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: PARCEL If the sample fails to execute or abnormally ends, you can get more information about the failure by turning on the ICLUI trace. This is done by setting the environment variable ICLUI_TRACE as follows: set ICLUI_TRACE=ON set ICLUI_TRACETO=STDERR The second export controls where the trace information is reported. With tracing turned on, ICLUI exception text will be written to a standard error file. For example: hello1 >hello1.out 2>&1 The exception data is now in the file hello1.out. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the Collection Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - Parcel ═══ Required files:  parcel.rea  build.cmd  parcel.cpp  parcel.xpc  parcel.h  parcel.exe ═══ Project - Planets ═══ Description: This program uses the default class, ISortedSet, to create sorted lists of planets with different properties. The program stores all planets in our solar system, and all heavy or bright planets in our solar system in a number of sorted sets. Each set sorts the planets by its distance from the sun. Task: This program uses sorted sets to store planets with different properties. Concept/Feature: This program is a sample to demonstrate the use of the default classes ISortedSet and how to use the elements' properties as a sorting criterion. Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder). Source File Location: X:\ibmcpp\samples\ioc\planets where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: PLANETS If the sample fails to execute or abnormally ends, you can get more information about the failure by turning on the ICLUI trace. This is done by setting the environment variable ICLUI_TRACE as follows: set ICLUI_TRACE=ON set ICLUI_TRACETO=STDERR The second export controls where the trace information is reported. With tracing turned on, ICLUI exception text will be written to a standard error file. For example: hello1 >hello1.out 2>&1 The exception data is now in the file hello1.out. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the Collection Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - Planets ═══ Required files:  planets.rea  build.cmd  planets.cpp  planets.xpc  planet.h  planets.exe ═══ Project - Word Stack ═══ Description: This program creates two stacks (Stack1 and Stack2) using the default class, IStack. It adds a number of words to Stack1, removes them from Stack1, adds them to Stack2, and finally removes them from Stack2 so that they can be printed. The push() and pop() functions are used for adding and removing elements. Task: This program uses stacks to push and pop elements. Concept/Feature: This program is a sample to demonstrate the use of the default class IStack. Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder). Source File Location: X:\ibmcpp\samples\ioc\pushpop where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: PUSHPOP If the sample fails to execute or abnormally ends, you can get more information about the failure by turning on the ICLUI trace. This is done by setting the environment variable ICLUI_TRACE as follows: set ICLUI_TRACE=ON set ICLUI_TRACETO=STDERR The second export controls where the trace information is reported. With tracing turned on, ICLUI exception text will be written to a standard error file. For example: hello1 >hello1.out 2>&1 The exception data is now in the file hello1.out. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the Collection Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - Word Stack ═══ Required files:  pushpop.rea  build.cmd  pushpop.cpp  pushpop.xpc  pushpop.exe ═══ Project - SumUp ═══ Description: This program uses a bag in which it stores integers. Then the program iterates over the bag in two different ways:  An Iterator Object is used to iterate over the bag to obtain the sum of the contained integers.  An Iterator Function is used to iterate over the bag to obtain the sum of the contained integers. If, for example you want to store and add the integers 1, 3, 4, 7, you invoke the program with the following command: sumup 1 3 4 7 Task: This program iterates over a collection in different ways. Concept/Feature: This program is a sample to demonstrate the use of an iterator object and an iterator function. Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder). Source File Location: X:\ibmcpp\samples\ioc\sumup where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: SUMUP If the sample fails to execute or abnormally ends, you can get more information about the failure by turning on the ICLUI trace. This is done by setting the environment variable ICLUI_TRACE as follows: set ICLUI_TRACE=ON set ICLUI_TRACETO=STDERR The second export controls where the trace information is reported. With tracing turned on, ICLUI exception text will be written to a standard error file. For example: hello1 >hello1.out 2>&1 The exception data is now in the file hello1.out. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the Collection Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - Sum Up ═══ Required files:  sumup.rea  build.cmd  sumup.cpp  sumup.xpc  sumup.exe ═══ Project - Code Translation ═══ Description: This program allows EBCDIC to ASCII and ASCII to EBCDIC translation of a string. It uses two maps, one with the EBCDIC code as key (E2AMap) and one with the ASCII code as key (A2EMap). It converts from EBCDIC to ASCII by finding the element whose key matches the EBCDIC code in E2AMap (which has the EBCDIC code as key) and taking the ASCII code information from that element. It converts from ASCII to EBCDIC by finding the key that matches the ASCII code in A2EMap (which has the ASCII code as key) and taking the EBCDIC code information for that element. Task: This program uses maps to translate strings from EBCDIC to ASCII and from ASCCII to EBCDIC. Concept/Feature: This program is a sample to demonstrate the use of the default class IMap in connection with element operation classes. Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder). Source File Location: X:\ibmcpp\samples\ioc\transtb where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: TRANSTAB If the sample fails to execute or abnormally ends, you can get more information about the failure by turning on the ICLUI trace. This is done by setting the environment variable ICLUI_TRACE as follows: set ICLUI_TRACE=ON set ICLUI_TRACETO=STDERR The second export controls where the trace information is reported. With tracing turned on, ICLUI exception text will be written to a standard error file. For example: hello1 >hello1.out 2>&1 The exception data is now in the file hello1.out. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the Collection Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - Code Translation ═══ Required files:  transtab.rea  build.cmd  transtab.cpp  transtab.xpc  trmapops.h  xebc2asc.h  transelm.h  transtab.exe ═══ Project - Word Bag ═══ Description: This program illustrates the use of a key sorted bag. The program determines the number of words that have the same length in a phrase. It stores the words of the phrase in key sorted bag that it implements using the default class, IKeySortedBag. The program makes the key the length of the word. Because of the properties of a key sorted bag, it sorts the words by their length (the key), and it stores all duplicate words. Task: This program uses a key sorted bag to store and sort words according to their length. Concept/Feature: This program is a sample to demonstrate the use of the default class IKeySortedBag. Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder). Source File Location: X:\ibmcpp\samples\ioc\wordbag where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: WORDBAG If the sample fails to execute or abnormally ends, you can get more information about the failure by turning on the ICLUI trace. This is done by setting the environment variable ICLUI_TRACE as follows: set ICLUI_TRACE=ON set ICLUI_TRACETO=STDERR The second export controls where the trace information is reported. With tracing turned on, ICLUI exception text will be written to a standard error file. For example: hello1 >hello1.out 2>&1 The exception data is now in the file hello1.out. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the Collection Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - Word Bag ═══ Required files:  wordbag.rea  build.cmd  wordbag.cpp  wordbag.xpc  toyword.h  wordbag.exe ═══ Project - Word Sequence ═══ Description: This program creates a sequence using the default sequence class, ISequence, and adds a number of words to it. The program sorts the words in ascending order and searches the sequence for the word "fox". Finally, it prints the word that is in position 9. Task: This program uses a sequence to store and sort words in ascending order. Concept/Feature: This program is a sample to demonstrate the use of the default class ISequence. Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder). Source File Location: X:\ibmcpp\samples\ioc\wordseq where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: WORDSEQ If the sample fails to execute or abnormally ends, you can get more information about the failure by turning on the ICLUI trace. This is done by setting the environment variable ICLUI_TRACE as follows: set ICLUI_TRACE=ON set ICLUI_TRACETO=STDERR The second export controls where the trace information is reported. With tracing turned on, ICLUI exception text will be written to a standard error file. For example: hello1 >hello1.out 2>&1 The exception data is now in the file hello1.out. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the Collection Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - Word Sequence ═══ Required files:  wordseq.rea  build.cmd  wordseq.cpp  wordseq.xpc  toyword.h  wordseq.exe ═══ Project - XMULTI ═══ Description: Example of using the same collection from multiple compilation units, part1 and part 2. Task: This program uses two stacks to demonstrate how to use the same collection from multiple compilation units. Concept/Feature: This program is a sample to demonstrate the exchange of information about one collection from different compilation units. Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder). Source File Location: X:\ibmcpp\samples\ioc\xmulti where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: XMULTI If the sample fails to execute or abnormally ends, you can get more information about the failure by turning on the ICLUI trace. This is done by setting the environment variable ICLUI_TRACE as follows: set ICLUI_TRACE=ON set ICLUI_TRACETO=STDERR The second export controls where the trace information is reported. With tracing turned on, ICLUI exception text will be written to a standard error file. For example: hello1 >hello1.out 2>&1 The exception data is now in the file hello1.out. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the Collection Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - XMULTI ═══ Required files:  xmulti.rea  build.cmd  xmulti1.cpp  xmulti2.cpp  xmulti.xpc  xmulti.h  xmulti.exe ═══ Project - GREP ═══ Description: This program is a simple grep with limited regular expression support. Type: GREP by itself for more help. Task: Changes the date and time of selected files to the date and time at which the command is run. Concept/Feature: This program demonstrates how various C constructs are used; it demonstrates how to do subdirectory searching through the help of various API calls. Project Location: Inside the Compiler Sample folder (inside the VisualAge C++ Samples folder). Source File Location: X:\ibmcpp\samples\compiler\grep where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: GREP How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build - Rebuild All. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information: For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - GREP ═══ Required files/libraries: GREP.C Source code GREP.H Common definitions GREP.MAK Make file for this program HELP.C Help procedures OS2.H APIs include file STDLIB.H Standard library function declarations STRING.H String handling function declarations STDIO.H Handling IO CTYPE.H For mapping different casing OS2386.LIB Presentation Manager/OS2 library DDE4SBS.LIB C Set++ Standard Library ═══ Project - MAHJONGG ═══ Description: This program displays a board with 144 tiles on it. Each tile has a symbol on it that must be matched with another tile with either the same symbol in most cases or with a similar symbol in other cases. Task: A PM version of a Chinese game similar to 'concentration' but without the background puzzle. Concept/Feature: This program demonstrates how to create, display and manipulate windows in order to perform the necessary actions needed to run the game. Project Location: Inside the Compiler Sample folder (inside the VisualAge C++ Samples folder). Source File Location: X:\ibmcpp\samples\compiler\mahjongg where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: MAHJONGG How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build - Rebuild All. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information: For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - MAHJONGG ═══ Required files/libraries: MAHJONGG C main source including the main window procedure MAHJONGG H Mahjongg header file TILE C source for tile window procedure & related functions MAHJONGG RC resource file for Mahjongg MAHJONGG DEF definition file for Mahjongg MAHJONGG ICO icon file for Mahjongg MAHJONGG IPF documentation file for Mahjongg MAHJONGG MAK make file for Mahjongg generated by utility MAHJONGG DEP dependancy for Mahjongg generated by utility MAKEFILE make file for Mahjongg (hand written) TILE_B_1 BMP ┐ TILE_B_2 BMP │ TILE_B_3 BMP │ TILE_B_4 BMP │ TILE_B_5 BMP ├ Bamboo suit bitmaps for tiles TILE_B_6 BMP │ TILE_B_7 BMP │ TILE_B_8 BMP │ TILE_B_9 BMP ┘ TILE_C_1 BMP ┐ TILE_C_2 BMP │ TILE_C_3 BMP │ TILE_C_4 BMP │ TILE_C_5 BMP ├ Character suit bitmaps for tiles TILE_C_6 BMP │ TILE_C_7 BMP │ TILE_C_8 BMP │ TILE_C_9 BMP ┘ TILE_D_1 BMP ┐ TILE_D_2 BMP │ TILE_D_3 BMP │ TILE_D_4 BMP │ TILE_D_5 BMP ├ Dots suit bitmaps for tiles TILE_D_6 BMP │ TILE_D_7 BMP │ TILE_D_8 BMP │ TILE_D_9 BMP ┘ TILE_F_1 BMP ┐ TILE_F_2 BMP ├ Flowers suit bitmaps for tiles TILE_F_3 BMP │ TILE_F_4 BMP ┘ TILE_R_1 BMP ┐ TILE_R_2 BMP ├ Dragons suit bitmaps for tiles TILE_R_3 BMP ┘ TILE_S_1 BMP ┐ TILE_S_2 BMP ├ Seasons suit bitmaps for tiles TILE_S_3 BMP │ TILE_S_4 BMP ┘ TILE_W_E BMP ┐ TILE_W_N BMP ├ Winds suit bitmaps for tiles TILE_W_S BMP │ TILE_W_W BMP ┘ TILE_N_0 BMP ┐ TILE_N_1 BMP │ TILE_N_2 BMP │ TILE_N_3 BMP │ TILE_N_4 BMP │ │*/ TILE_N_5 BMP ├ Number bitmaps for tiles │*/ TILE_N_6 BMP │ │*/ TILE_N_7 BMP │ TILE_N_8 BMP │ TILE_N_9 BMP ┘ CONGRAT BMP congratulations bitmap ABOUT BMP about bitmap BACKVGA BMP background bitmap (VGA, 16 color) BACKBGA BMP background bitmap (BGA, 256 color) OS2386.LIB OS/2 API library ═══ Project - Touch ═══ Description: TOUCH is an OS/2 program that changes the date and time of selected files to the date and time at which the command is run. You must input one or more file masks indicating the files that are to have their date and time updated. A message is output for each file indicating the successful update of the date and time. This program uses the parameters passed to determine which files are ???. Task: Changes the date and time of selected files to the date and time at which the command is run. Concept/Feature: This program demonstrates how to query the date and time, how to find files based on a file mask, how to open those files, how to update the date and time of those files, and how to close the files when done. Project Location: Inside the Compiler Sample folder (inside the VisualAge C++ Samples folder). Source File Location: X:\ibmcpp\samples\compiler\touch where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: TOUCH How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build - Rebuild All. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information: For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - TOUCH ═══ Required files/libraries: TOUCH C touch source file TOUCH MAK touch make file OS2386.LIB OS/2 API library ═══ Project - PMLines ═══ Description: PMLines is a Presentation Manager (PM) program that displays a standard window and then draws lines in the window. Both the line and background colors change. Task: Creates and displays a standard window, uses simple menus and dialog boxes, uses a second thread, and displays graphics. Note: PMLines is written in C, for the equivalent C++ program see the UILines sample. Concept/Feature: Shows building a simple visual application that uses OS/2's Presentation Manager and task control using OS/2's multi threaded capabilities. Project Location: Inside the Compiler Sample folder (inside the VisualAge C++ Samples folder). Source File Location: X:\ibmcpp\samples\compiler\pmlines where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: PMLINES How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build - Rebuild All. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information: For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - PMLines ═══ Required files: READ.ME Description and instructions for the sample. BUILD.CMD This command file builds the PMLINES application as a WorkFrame project. PMLINES.EXE Sample's executable file. PMLINES.DLG Defines the application's dialogs. PMLINES.C The applications main C source file. PMLINES.H Defines a number of macros and identifiers. PMLINES.ICO Icon file PMLINES.RC Defines the resources it uses, such as icons. ═══ Project - UILines ═══ Description: UILines is a Presentation Manager (PM) program that displays a standard window and then draws lines in the window. Both the line and background colors change. Note: UILines is written in C++, for the equivalent C program see the PMLines sample. Task: UILines is a C++ program that primarily uses Open Class APIs to create and display a standard window, handle events, use a second thread, and display graphics. Concept/Feature: Shows building a simple visual application that uses the Open Class APIs for window managment and task control. Project Location: Inside the Compiler Sample folder (inside the VisualAge C++ Samples folder). Source File Location: X:\ibmcpp\samples\compiler\uilines where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: UILINES How to build the sample project yourself: From within the WorkFrame environment: Double-click on the project's icon to open the project view of the sample. You will see the icons of the files associated with the sample. From the Project pulldown, select Build - Rebuild All. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information: For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide. VisualAge C++ for To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - UILines ═══ Required files: READ.ME Description and instructions for the sample. BUILD.CMD This command file builds the UILines application as a WorkFrame project. UILINES.EXE Sample's executable file. UILINES.DLG Defines the application's dialogs. UILINES.CPP Includes necessary Open Class and other header files, defines a number of symbols and constants. Contains code to construct the client window, create a second thread, handle user input and display messages. UILINES.H Defines a number of macros and identifiers. UILINES.HPP Contains the user class declarations. UILINES.ICO Icon file UILINES.MAK WorkFrame make file to build ULINES.EXE. UILINES.RC Defines the resources it uses, such as icons. UILINES.$MM WorkFrame intermediate make file. ═══ Project - Multithread Hello World ═══ Description: This sample program creates one thread for each argument. Each thread prints "Hello world from thread n!" the number of times specified in the corresponding argument. For example SAMPLE02 2 4 6 Creates three threads; the first thread displays "Hello" two times, the second thread displays "Hello" four times, and the third thread displays "Hello" six times. Task: Writing a multithread program. Feature/Concept: Synchronization of multiple threads using system event semaphores. Project Location: Inside the Compiler Sample folder (inside the VisualAge C++ Samples folder). Source File Location: X:\ibmcpp\samples\compiler\sample02 where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simple type the name of the .EXE file, that is: SAMPLE02 How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder then double-click on the project's icon to open the project view of the sample. You will see the icons of the files associated with the sample. From the Project pulldown, select Build - Rebuild All. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information: For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - Multithread Hello World ═══ Required files: README Description and instructions for the sample. BUILD.CMD Command to invoke the WorkFrame build action to make the project parts. SAMPLE02.EXE The sample's executable file. SAMPLE02.C C source code for multithread "Hello, World" program SAMPLE02.DEF Module definition file used to create SAMPLE02.EXE CLEANUP.CMD Erases the files that were created by the BUILD.CMD ═══ Project - Three Sort DLL ═══ Description: Implements three different sorting functions: bubble sort, selection sort, and insertion sort. These functions keep track of the number of swap and compare operations required to do the sorting. Task: Building and using a DLL. Feature/Concept:  Example of a _DLL_InitTerm function.  Exporting function entry points, using two techniques: (1) #pragma export and (2) module definition file.  Exporting variables using a module definition file. Project Location: Inside the Compiler Sample folder (inside the VisualAge C++ Samples folder). Source File Location: X:\ibmcpp\samples\compiler\sample03 X:\ibmcpp\samples\compiler\sample03\sort where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simple type the name of the .EXE file, that is: SAMPLE03 How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder then double-click on the project's icon to open the project view of the sample. You will see the icons of the files associated with the sample. From the Project pulldown, select Build - Rebuild All. To run the sample project, see How to run the sample project above. Note: The DLL that is created in the sort directory is moved into the sample03 directory. Set sample03 as the current directory to run MAIN03.EXE. In order for the system to find the SAMPLE03.DLL, the LIBPATH setting in CONFIG.S YS must include the current directory (i.e., ".;" must be specified). From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information: For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - 3 Sort DLL ═══ Required files: READ.ME Description and instructions for the sample. BUILD.CMD Command to invoke the WorkFrame build action to make the project parts SAMPLE03.EXE Sample's executable file. MAIN03.C C source for main function that calls each sort function MAIN03.DEF Module definition file used to create MAIN03.EXE SAMPLE03.H Prototypes for the sort functions CLEANUP.CMD Erases the files that were created by the BUILD.CMD In "sort" subdirectory: SAMPLE03.C C source for the three sort functions INITTERM.C C source for the DLL initialization/termination routine SAMPLE03.H Prototypes for the sort functions SAMPLE03.DEF Module definition file used to create SAMPLE03.DLL ═══ Project - 32/16 Sample ═══ Description: This sample uses a variety of techniques to access 16-bit data and to call to and from 16-bit code. There is an example of how to share data, how to use _Seg16 pointers, how to call 16-bit code from 32-bit and how to call 32-bit code from 16-bit. Task: Prints a short poem. Feature/concept: Calling to and from 16-bit code. Project Location: Inside the Compiler Sample folder (inside the VisualAge C++ Samples folder). Source File Location: X:\ibmcpp\samples\compiler\sample04 where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simple type the name of the .EXE file, that is: SAMPLE04 How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder then double-click on the project's icon to open the project view of the sample. You will see the icons of the files associated with the sample. From the Project pulldown, select Build - Rebuild All. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information: For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - 32/16 Sample ═══ Required files: read.me description and instructions for sample. build.cmd Command to invoke the WorkFrame build action to make the project parts sample04.exe Sample's executable file. sample04.c main 32-bit code samp04a.c 16-bit code samp04b.c 16-bit code sample04.h prototypes, declarations of shared data sample.def import/export definitions for 32-bit code samp04a.def import/export definitions for 16-bit code samp04b.def import/export definitions for 16-bit code samp04a.lib import library for samp04a.dll samp04a.dll samp04a.c after compilation with a 16-bit compiler samp04b.dll samp04b.c after compilation with a 16-bit compiler ═══ Project - Process Registration Subsystem DLL ═══ Description: The DLL keeps a global count of the number of processes that access it, running totals for each process that accesses the subsystem, and a grand total for all processes. There are two external entry points for programs accessing the subsystem. The first is "DLLINCREMENT", which increments both the grand total and the total for the calling process by the amount passed in. The second entry point is "DLLSTATS", which prints out statistics kept by the subsystem, including the grand total and the total for the current process. The grand total and the total for the process are stored in a single shared data segment of the subsystem. Each process total is stored in its own data segment. Task: Creating a simple subsystem DLL. Feature/Concept: Example of a subsystem _DLL_InitTerm function. Project Location: Inside the Compiler Sample folder (inside the VisualAge C++ Samples folder). Source File Location: X:\ibmcpp\samples\compiler\sample05 where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample project: How to run the sample: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. Note: The DLL that is created in the dll directory is moved into the sample05 directory. Set sample05 as the current directory to run MAIN05.EXE. In order for the system to find the SAMPLE05.DLL, the LIBPATH setting in CONFIG.S YS must include the current directory (i.e., ".;" must be specified). From the command line: Simple type the name of the .exe file, that is: MAIN05 How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. You will see the icons of the files associated with the sample. From the Project pulldown, select Build - Rebuild All. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For a complete listing and description of samples provided with the VisualAge C++ for OS/2 product, see the VisualAge C++ for OS/2 Guide to Samples. Both books can be found online. Open the main VisualAge C++ desktop folder, then open the Information Folder inside. To any of the books shown, simple double-click on that book's icon. ═══ Source Files - Process Registration Subsystem DLL ═══ Required files: README Description and instructions for the sample. BUILD.CMD Command to invoke the WorkFrame build action to make the project parts. SAMPLE05.EXE Sample's executable file. MAIN05.C C source for main function that calls each entry point in the DLL, depending upon user input in response to a prompt that is issued. MAIN05.DEF Module definition file used to create MAIN05.EXE SAMPLE05.H Prototypes for the "increment" and "stats" entry points CLEANUP.CMD Erases the files that were created by the BUILD.CMD Additional files in the "dll" subdirectory: SAMPLE05.C C source for the DLL initialization/termination routine and for the "increment" and "stats" functions. Also, there are internal functions for registering and de-registering each process that uses the SAMPLE05.DLL. SAMPLE05.H Prototypes for the "increment" and "stats" entry points SAMPLE05.DEF Module definition file used to create SAMPLE05.DLL ═══ Project - Authors ═══  Authors1!!Dynamically Linked  Authors1!!Statically Linked  Authors2!!Dynamically Linked  Authors2!!Statically Linked Description: The authors samples are two implementations of an application that stores authors' names and book titles into a container and then prints the contents of the container. The container (an n-ary tree) and data (the TreeData class) are defined separately, and then the data is introduced into the container. There are two ways to accomplish this: 1. The TreeData class is 'joined' in the Tree classes by the DataInTree class. DataInTree is derived from TreeNode, and has a data member that is a TreeData object. 2. Define an n-ary tree of TreeData. This is done using templates. Authors1 uses method 1 and Authors2 uses method 2. Task: Store or print authors' names and books titles. Concept/Feature: Shows building two identical data manipulation applications, one that uses basic C++ class and one that uses the C++ template mechanism. Project Location: Inside the Compiler Sample folder (inside the VisualAge C++ Samples folder). Source File Location: X:\ibmcpp\samples\compiler\sample06 where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample project: Open the Samples folder then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simple type the name of the .EXE file, that is: SAMPLE06 How to build the sample project yourself: From within the WorkFrame environment: Double-click on the project's icon to open the project view of the sample. You will see the icons of the files associated with the sample. From the Project pulldown, select Build - Rebuild All. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information: For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - Authors ═══ Required files: AUTHORS\ directory READ.ME Description and instructions for the sample. BUILD.CMD Using the WorkFrame projects this command file builds the static and dynamic versions of the Authors1 and Authors2 applications. AUTHORS1.EXE Executable file for AUTHORS1. AUTHORS2.EXE Executable file for AUTHORS2. AUTHORS1.CPP Application that stores author names and book titles in the container. AUTHORS2.CPP Application that stores author names and book titles in the container. DATNTREE.CPP DATNTREE.HPP Data is introduced into the container. GENTREE.C Implementation file for the GenTree template. It has a .C file extension as required by the compiler for support of automatic template creation. GENTREE.HPP Declaration file for the GenTree template. TREEDATA.CPP TREEDATA.HPP Encapsulates the data part of a TreeNode. TREELINK.CPP TREELINK.HPP Encapsulates the links to the immediate neighbours. TREENODE.CPP TREENODE.HPP Encapsulates the behaviour of a data structure known as an n-ary Tree. AUTHORS\DYNAMIC\ directory AUTHORS1.MAK WorkFrame make file to build AUTHORS1.EXE. The compiler libraries are linked dynamically. AUTHORS2.MAK WorkFrame make file to build AUTHORS2.EXE. The compiler libraries are linked dynamically. AUTHORS\STATIC\ directory AUTHORS1.MAK WorkFrame make file to build AUTHORS1.EXE. The compiler libraries are linked statically. AUTHORS2.MAK WorkFrame make file to build AUTHORS2.EXE. The compiler libraries are linked statically. ═══ Sample - Geometric Area ═══ Description: This sample calculates the geometric area of a triangle or rectangle. It provides an example of a _DLL_InitTerm function and demonstrates exporting function entry points using two different techniques. Task: Calculates the geometric area of a triangle or rectangle based on size parameters provided by the user. Feature/Concept: Demonstrates building and using a dynamic link library (DLL). The sample includes:  Example of a _DLL_InitTerm function.  Exporting function entry points, using two techniques: (1) #pragma export and (2) module definition file.  Exporting variables using a module definition file. Project Location: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\compiler\sample07\method1 X:\ibmcpp\samples\compiler\sample07\method2 where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From the command line, simply type: RUN Note: The DLL that is created in the sort directory is moved into the sample07 directory. Set sample07 as the current directory to run MAIN07.EXE. In order for the system to find the SAMPLE07.DLL, the LIBPATH setting in CONFIG.S YS must include the current directory (i.e., ".;" must be specified). Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information: For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - SAMPLE07 ═══ Required files: In the \SAMPLE07 directory: READ.ME Description and instructions for the Method1 and Method2 samples. In the \SAMPLE07\method1 subdirectory: READ.ME Description and instructions for the sample. BASIC.DEF Module definition file used to create MAIN07.EXE VF.H VF.CPP VF.DLL MAIN.CPP C++ source for main function that calls each area function MAIN.OBJ MAIN.EXE RUN.CMD Command to run the Method1 program. In the \SAMPLE07\method2 subdirectory: MAIN.CPP BASIC.DEF Module definition file used to create SAMPLE07.DLL STACK.CPP C++ source STK.C C source STK.H RUN.CMD Command to run the METHOD2 program. ═══ Car Sample Overview ═══ Description: There are actually 3 samples composing the "Car Sample". The first sample, DAXSamp, creates a database containing a car lot's inventory and a DLL which supports access to the database. The next sample, CarBrws, allows you to browse through the car lot's inventory, querying descriptive information such as color or vehicle type. The final sample, CarEdit, allows you to update (edit) the car inventory in addition to allowing you to make simple queries.  DAXSamp - a DLL to support the classes that access the DAXSAMP database.  CarBrws - an application which allows viewing of the CAR table in the DAXSAMP database.  CarEdit - an application which allows the contents of the CAR table in the DAXSAMP database to be modified. Concept/Feature: Using the Data Access Builder and the Visual Builder to develop applications accessing a DB2/2 database. Task: Construct a DLL and two applications using the Data Access Builder and the Visual Builder. Projects Location: Inside the Database Sample folder (inside the VisualAge C++ Samples folder). Source File Location: X:\ibmcpp\samples\database\car where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample projects: You must use the DAXSAMP project to generate the database BEFORE you can run either the CARBRWS or CAREDIT projects. 1. Create the database using DAXSAMP.CMD DAXSAMP e to create the database on your e drive. 2. Bind the CARV package (in the CARV.DLL) to this newly created database: cd DAXSAMP startdbm SQLBIND CARV.BND DAXSAMP 3. Copy CARV.DLL to a directory specified in your LIBPATH (see your config.sys file). copy carv.dll X:\ibmcpp\dll where X is the drive on which you installed VisualAge C++. 4. Run CARBRWS\CARBRWS.EXE or CAREDIT\CAREDIT.EXE. How to build the sample projects: The BUILD.CMD found in each of the DAXSAMP, CARBRWS and CAREDIT directories will not work until the DLL code has been generated using the Data Access Builder and the application source has been generated using the Visual Builder. See the README files in the DAXSAMP, CARBRWS and CAREDIT subdirectories details on how to generate and build the applications. Software/Hardware Prerequisites:  IBM VisualAge C++ 3.0, including the Visual Builder and the Data Access Builder  OS/2 2.1 or Warp  DB2/2 1.2  Minimum : IBM or compatible 386 Recommended: IBM or compatible 486 and up ═══ Source Files - Car Sample Overview ═══ Required files: readme Description and instructions for the sample. DAXSAMP directory Contains the daxsamp.cmd which is used to create the DAXSAMP database on your system, and the Data AccessBuilder generated files that are used to build the CARV.DLL. CARBRWS directory Contains the Visual Builder files that are used to build the CARBRWS.EXE application. CAREDIT directory Contains the Visual Builder files that are used to build the CAREDIT.EXE application. ═══ DAXSAMP Database DLL ═══ Description: This sample creates a database and a DLL to support access to that database. (The database and DLL are used by the CarEdit and CarBrws samples.) Task: Create a database and construct a DLL using classes generated from the Data Access Builder. Projects Location: To locate the DAXSAMP folder: open the Samples folder, then the Database folder, then the Car folder. Source File Location: X:\ibmcpp\samples\database\car\daxsamp where X: is the drive you on which you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to build the database: You must generate the database BEFORE you can create the DLL for this project, and before you can run either the CarBrws or CarEdit projects. From within the WorkFrame environment: Double-click on the daxsamp.cmd icon. From the command line: While in the ibmcpp\samples\database\car\daxsamp directory, build the database by typing: daxsamp In either case, the process will ask you what drive you wish the database to be created on, enter a drive name (letter only, do not include a colon or backslash). The second part of this sample project is the creation of a DLL to support access to the database created in the first part, see How to build the DLL yourself below for instructions. You need not complete the second part of this sample, building the DLL, in order to continue to the CarBrws and CarEdit samples as a pre-built DLL has been provided for that purpose. How to build the DLL yourself: After building the database above, you can proceed to building the DLL either within the Workframe environment or from the command line. From within the WorkFrame environment: 1. Select Database from the Project pulldown on the menu bar to start the Data Access Builder. Click on the Create classes button. Select the DAXSAMP database in the File window and click on the Connect button. Select USERID.CAR from the Database window and click on the Create Classes button. Click Mouse Button 2 on the car icon and select Generate  Parts from its pop-up menu. (You may get a message asking if it is OK to overwrite existing car*.* files, choose yes.) Exit the Data Access Builder session. 2. After creating the database and the classes to access it, the next step is to create the DLL itself. To do this, simply click on the build button of the project window's toolbar. 3. The final step is to copy the newly created DLL over to a directory in your LIBPATH: COPY CARV.DLL X:\IBMCPP\DLL where X is the drive on which you installed the samples component of VisualAge C++. From the command line: 1. In the ibmcpp\samples\database\car\daxsamp directory, generate the parts needed to access the DAXSAMP database by typing: icsdata daxsamp.dax This invokes the Data Access Builder. Choose Create Classes. Select the DAXSAMP database in the File window and click on the Connect button. Select USERID.CAR from the Database window and click on the Create Classes button. Click Mouse Button 2 on the car icon and select Generate  Parts from its pop-up menu. (You may get a message asking if it is OK to overwrite existing car*.* files, choose yes.) Now exit the Database Access Builder session. 2. Build the DLL by typing: build 3. The final step is to copy the newly created DLL over to a directory in your LIBPATH: COPY CARV.DLL X:\IBMCPP\DLL where X is the drive on which you installed the samples component of VisualAge C++. WARNING: You need not rebuild the CARV.DLL shipped with the product in order to run the CARBRWS and CAREDIT samples. However, if you do rebuild the DLL yourself, as shown above, you MUST copy it over the one shipped with the product or you will receive an error -818 when you attempt to run CARBRWS or CAREDIT. Software/Hardware Prerequisites:  IBM VisualAge C++3.0, including the Data Access Builder  OS/2 2.1 or Warp  DB2/2 1.2  Minimum : IBM or compatible 386 Recommended: IBM or compatible 486 and up ═══ Source Files - DAXSAMP ═══ Required files: readme Description and instructions for sample. daxsamp.cmd Creates the DAXSAMP database. daxsamp.dax File containing information about the DAXSAMP database mapping to the USERID.CAR table. carv.bnd The bind file used to bind the classes support the USERID.CAR table in the CARV.DLL to the DAXSAMP database. carv.hpp carv.lib For linking with CARV.DLL carv.vbe Describes the Car and CarManager classes to the Visual Builder carv.dll The support DLL for the DAXSAMP database. build.cmd Will build DAXSAMP.DLL once the support classes have been generated. ═══ CarBrws Sample ═══ Description: This sample shows a simple application (a salesperson's front end to inventory in a car lot) to browse data in a database. The use of Data Access builder components is demonstrated, including use of the IDatastore settings to provide a connection to the database without input from the user of the application. Task: Use the Visual Builder to construct an application to browse information in a database. The application makes use of a DLL containing the classes generated using the Data Access Builder. Concept/Feature: Construct a DLL and two applications using the Data Access Builder and the Visual Builder. Projects Location: To locate the CarBrws folder: open the Samples folder, then the Database folder, then the Car folder. Source File Location: X:\ibmcpp\samples\database\car\carbrws where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample project: 1. In order to run this sample, you must have created the DAXSAMP database and have the CARV.DLL (either the pre-built version or one you have built yourself) in a directory in your LIBPATH. If you have not performed these preliminary steps, see the DAXSAMP Sample for full instructions or refer to the abbreviated instructions below under How to build this sample. 2. If you have not already done so, start the DB2/2 database manager and log on. You can do this on an OS/2 command line by typing: STARTDBM and then: LOGON /L This will bring up the DB2/2 logon screen. Complete the logon process. 3. The final step may be performed from either within the WorkFrame environment or from the command line. Within the WorkFrame environment: Open the CARBRWS project by double-clicking on the project's icon in the Car sample folder. Click on the RUN button of the project's toolbar. From the command line, inside the X:\ibmcpp\samples\database\car\carbrws directory, simply type: carbrws How to build the sample project yourself: 1. If you have not already done so, build the DAXSAMP database. Building the database is the first part of the DAXSAMP sample. Full instructions for that sample can be found in the readme file of the ibmcpp\samples\database\daxsamp directory or inside the DAXSAMP project of the CAR Sample folder. Abbreviated instructions are provided here for your convenience. From within the WorkFrame environment: - Open the DAXSAMP Sample folder in the DATABASE Samples folder. Double-click on the daxsamp.cmd icon. From the command line: - While in the ibmcpp\samples\database\car\daxsamp directory, build the database by typing: daxsamp In either case, the process will ask you what drive you wish the database to be created on, enter a drive name (letter only, do not include a colon or backslash). 2. Start the DB2/2 database manager and logon. You can do this on an OS/2 command line by typing: STARTDBM and then: LOGON /L This will bring up the DB2/2 logon screen. 3. Start the Visual Builder. Within the WorkFrame environment, select Visual from the Project pulldown menu. From the command line by typing: icsvb 4. Once in the Visual Builder, select Load from the File pulldown menu. On the Load Files screen you will see that Visual Builder has automatically loaded the VBBase.vbb file. Select Show full filenames from the Options pulldown menu to see the pathname of that file. From the same directory as VBBase.vbb, load VBDAX.vbb. Loading the file returns you to the main Visual Builder screen. Select Load from the File pulldown menu. On the Load Files screen, load CarBrws.vbb from the same directory as this README -- X:\ibmcpp\samples\database\daxsamp\car\carbrws. Select Import Part Information from the Filepulldown menu of the main Visual Builder screen. On the Imported From screen, load CarV.vbe from the X:\ibmcpp\samples\database\daxsamp directory. Close the screen. On the main Visual Builder screen, select CarBrws.vbb from the loaded parts files. Select all parts in the Visual Parts list. Click Mouse Button 2 on the Visual Parts list, select Generate  Part Source from the pop-up window. Select only CarBrws in the the Visual Parts list. Click Mouse Button 2 on the Visual Parts list, select Generate  main(). Exit the Visual Builder. 5. Edit CarBrws.Mak to add CarV.lib to the libraries linked with the application. 6. Now build the executable file. From within the WorkFrame environment by clicking on the Build button of the project's toolbar. From the command line, in the X:\ibmcpp\samples\database\daxsamp\car\carbrws directory, by typing: build 7. Now you can run the application. From within the WorkFrame environment, by clicking on the Run button on the project's toolbar. From the command line, in the X:\ibmcpp\samples\database\daxsamp\car\carbrws directory, by typing: carbrws Software/Hardware Prerequisites:  IBM VisualAge C++3.0, including the Visual Builder and the Data Access Builder  OS/2 2.1 or Warp  DB2/2 1.2  Minimum : IBM or compatible 386 Recommended: IBM or compatible 486 and up ═══ Source Files - CarBrws Sample ═══ Required files: readme Description and instructions for the sample. build.cmd Will build CARBRWS.EXE once the CARV.DLL and application code have been generated. carbrws.vbb The application definition coded using the Visual Builder. carbrws.exe The application program ready to run. ═══ Car Edit Sample ═══ Description: This sample shows an application that might be used as a salesmanager's front end to inventory in a car lot. The use of Data Access builder components is demonstrated, including use of the IDSConnectCanvas to build a multiframe application. The user of the application would be given the ability to connect to different databases, examine, modify, add or delete the database representations of cars in the lot inventory. CarEdit would be used by the salesmanager to maintain the information available to the salespersons using the CarBrws application. Task: Construct a DLL and two applications using the Data Access Builder and the Visual Builder. Concept/Feature: Use the Visual Builder to construct an application to browse and modify information in a database. The application makes use of a DLL containing the classes generated using the Data Access Builder. Project Location: To locate the CarEdit folder: open the Samples folder, then the Database folder, then the Car folder. Source File Location: X:\ibmcpp\samples\database\car\caredit where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample project: 1. In order to run this sample, you must have created the DAXSAMP database and have the CARV.DLL (either the pre-built version or one you have built yourself) in a directory in your LIBPATH. If you have not performed these preliminary steps, see the DAXSAMP Sample for full instructions or refer to the abbreviated instructions below under How to build this sample. 2. If you have not already done so, start the DB2/2 database manager and log on. You can do this on an OS/2 command line by typing: STARTDBM and then: LOGON /L This will bring up the DB2/2 logon screen. Complete the logon process. 3. The final step may be performed from either within the WorkFrame environment or from the command line. Within the WorkFrame environment: Open the CAREDIT project by double-clicking on the project's icon in the Car sample folder. Click on the Run button of the project's toolbar. From the command line, inside the X:\ibmcpp\samples\database\car\caredit directory, simply type: caredit How to build the sample project yourself: 1. If you have not already done so, build the DAXSAMP database. Building the database is the first part of the DAXSAMP sample. Full instructions for that sample can be found in the readme file of the ibmcpp\samples\database\daxsamp directory or inside the DAXSAMP project of the CAR Sample folder. Abbreviated instructions are provided here for your convenience. From within the WorkFrame environment: - Open the DAXSAMP Sample folder in the DATABASE Samples folder. Double-click on the daxsamp.cmd icon. From the command line: - While in the ibmcpp\samples\database\car\daxsamp directory, build the database by typing: daxsamp In either case, the process will ask you what drive you wish the database to be created on, enter a drive name (letter only, do not include a colon or backslash). 2. Start the DB2/2 database manager and logon. You can do this on an OS/2 command line by typing: STARTDBM and then: LOGON /L This will bring up the DB2/2 logon screen. 3. Start the Visual Builder. Within the WorkFrame environment, select Visual from the Project pulldown menu. From the command line by typing: icsvb 4. Once in the Visual Builder, select Load from the File pulldown menu. On the Load Files screen you will see that Visual Builder has automatically loaded the VBBase.vbb file. Select Show full filenames from the Options pulldown menu to see the pathname of that file. From the same directory as VBBase.vbb, load VBDAX.vbb. Loading the file returns you to the main Visual Builder screen. Select Load from the File pulldown menu. On the Load Files screen, load CarEdit.vbb from the same directory as this README -- X:\ibmcpp\samples\database\daxsamp\car\caredit. Select Import Part Information from the Filepulldown menu of the main Visual Builder screen. On the Imported From screen, load CarV.vbe from the X:\ibmcpp\samples\database\daxsamp directory. Close the screen. On the main Visual Builder screen, select CarEdit.vbb from the loaded parts files. Select all parts in the Visual Parts list. Click Mouse Button 2 on the Visual Parts list, select Generate  Part Source from the pop-up window. Select only CarEdit in the the Visual Parts list. Click Mouse Button 2 on the Visual Parts list, select Generate  main(). Exit the Visual Builder. 5. Now build the executable file. From within the WorkFrame environment by clicking on the Build button of the project's toolbar. From the command line, in the X:\ibmcpp\samples\database\car\caredit directory, by typing: build 6. Now you can run the application. From within the WorkFrame environment, by clicking on the Run button on the project's toolbar. From the command line, in the X:\ibmcpp\samples\database\car\caredit directory, by typing: caredit Software/Hardware Prerequisites:  IBM VisualAge C++3.0, including the Visual Builder and the Data Access Builder  OS/2 2.1 or Warp  DB2/2 1.2  Minimum : IBM or compatible 386 Recommended: IBM or compatible 486 and up ═══ Source Files - Car Edit ═══ Required files: readme Description and instructions for this sample. build.cmd Once the DAXSAMP.DLL and application code has been generated, will build CAREDIT.EXE. caredit.vbb The application definition coded using the Visual Builder. caredit.exe The application program ready to run. ═══ C++ Stock Sample ═══ Description: A simple C++ program that updates stock inventory and received order information that are kept in two DB2/2 database tables and generates a price list from it. Concept/Feature: This sample illustrates how to use the Data Access Builder Class Library and the code generated by the Data Access Builder Tool to access DB2/2 database table in a C++ program. It shows how to connect to a database, manipulate data, make transactions, and disconnect from a database. It also shows how users can build their own customized classes on top of the Data Access Builder Classes. Description: This sample program generates a price list from the initial data. It then adds more rows to the inventory and receivedorder tables, calculates the new values and updates the tables. It generates an updated price list at the end. Project Location: To locate the CSetPP folder: open the Samples folder, then the Database folder, then the Stock folder. Source File Location: X:\ibmcpp\samples\database\stock\csetpp where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample project: You must have started the DB2/2 database manager and logged on before you can run the sample. From the WorkFrame environment: - Double-click on the project's icon to open the project view of the sample. If you have not already done so, install the database -- double-click on the SETUPDB.CMD to install the database for the first time, otherwise double-click on RESETDB.cmd to re-initialize the database. Click on the Run button of the project's toolbar. From the command line: - from the X:\ibmcpp\samples\database\stock\csetpp directory, if you are installing the database for the first time, type: setupdb.cmd otherwise, type: resetdb.cmd - then type the name of the executable file: client How to build the sample project yourself: Note: You must have started the DB2/2 database manager and logged on before you can build the sample. From within the WorkFrame environment: 1. Double-click on the project's icon to open the project view of the sample. You will see the icons of the files associated with the sample. Double-click on the SETUPDB.cmd icon if you are installing the database of this sample for the first time, otherwise double-click on the RESETDB.cmd icon. 2. Start the Data Access Builder by selecting Database from the Project pulldown menu. 3. Select Create Classes for brchone.dax, a prebuilt file which contains the mappings between the database tables and the classes. Click Mouse Button 2 on each of the class icons (blue balls) in turn, selecting Generate  Parts for each from the pop-up menu. Close the Data Access Builder session. 4. From the Project pulldown, select Build - Rebuild All. To run the sample project, click on the Run button of the Project toolbar. From the command line: 1. Change to the X:\ibmcpp\samples\database\stock\csetpp directory. If you are installing the database of this sample for the first time, type: setupdb otherwise, type: resetdb 2. Start the Data Access Builder by typing: icsdata brchone.dax brchone.dax is a prebuilt file which contains the mapping between the database tables and the classes. 3. Click Mouse Button 2 on each of the class icons (blue balls) in turn, select Generate  Parts for each from the pop-up menu. Close the Data Access Builder session. 4. To build the executable, type: build 5. To run the application, type: client Software/Hardware Prerequisites:  IBM VisualAge C++3.0, including the Visual Builder and the Data Access Builder  OS/2 2.1 or Warp  DB2/2 1.2  Minimum : IBM or compatible 386 Recommended: IBM or compatible 486 and up ═══ Project - C++ Stock Sample ═══ Required files: SETUPDB.CMD This .CMD file calls BRCHONE.CMD to create the inventory and receivedorder database tables and then calls RESETDB.CMD to initialize them. BRCHONE.CMD This .CMD file creates a DB2/2 database called BRCHONE and two tables called inventory and receivedorder. RESETUP.CMD This .CMD file initializes the two tables with some row as the initial setting. BUILD.CMD This .CMD file build the .EXE from a command line. CONSOLE This file contains the expected output when user runs the sample program. STORE.HPP This header declares a class called Store that uses the Data Access Builder Class Library and the code that is generated by the Data Access Builder Tool. STORE.CPP This source file keeps the implementation of the Store Class. CLIENT.CPP The file keeps the client application that uses the Store Class. README Describes and provides additional information about the sample. BRCHONE.DAX Contains the mapping between the two database tables and the generated classes. ═══ SOM Stock Sample ═══ Description: This sample program generates a price list from the initial data. It then adds more rows to the inventory and receivedorder tables, calculates the new values and then updates the tables. It generates an updated price list at the end. Task: A simple SOM C++ program that updates stock inventory and received order information that are kept in two DB2/2 database tables and generates a price list from it. Concept/Feature: This sample illustrates how to use the Data Access Builder Class Library and the code generated by the Data Access Builder Tool to access DB2/2 database tables in a SOM C++ program. It shows how to connect to a database, manipulate data, make transactions, and disconnect from a database. Project Location: To locate the SOM folder: open the Samples folder, then the Database folder, then the Stock folder. Source File Location: X:\ibmcpp\samples\database\stock\som where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample project: You must have started the DB2/2 database manager and logged on before you can run the sample. From the WorkFrame environment: - Double-click on the DAX SOM Stock Sakmple icon to open the project view of the sample. If you have not already done so, install the database -- double-click on the SETUPDB.CMD to install the database for the first time, otherwise double-click on RESETDB.cmd to re-initialize the database. Click on the Run button of the project's toolbar. From the command line: - from the X:\ibmcpp\samples\database\stock\som directory, if you are installing the database for the first time, type: setupdb.cmd otherwise, type: resetdb.cmd - then type the name of the executable file: client How to build the sample project yourself: From the command line: Note: You must have started the DB2/2 database manager and logged on before you can build the sample. 1. Generate the C++ usage bindings of the IDL version of the Data Access builder C++ classes. Change to \ibmcpp\include directory, and type: sc -sxh *.idl 2. Change to the X:\ibmcpp\samples\database\stock\som directory. If you are installing the database of this sample for the first time, type: setupdb otherwise, type: resetdb 3. Start the Data Access Builder by typing: icsdata brchtwo.dax brchtwo.dax is a prebuilt file which contains the mapping between the database tables and the classes. 4. Click Mouse Button 2 on each of the class icons (blue balls) in turn, select Generate  Parts for each from the pop-up menu. Close the Data Access Builder session. 5. To build the executable, type: nmake /f bindings.mak build 6. To run the application, type: client The expected result is kept in the file, console. Software/Hardware Prerequisites:  IBM VisualAge C++3.0, including the Data Access Builder and SOM  OS/2 2.1 or Warp  DB2/2 1.2  Minimum : IBM or compatible 386 Recommended: IBM or compatible 486 and up ═══ Project - Som Stock Sample ═══ Required files: SETUPDB.CMD This .CMD file calls BRCHTWO.CMD to create the inventory and receivedorder database tables and then calls RESETDB.CMD to initialize them. BRCHONE.CMD This .CMD file creates a DB2/2 database called BRCHONE and two tables called inventory and receivedorder. RESETUP.CMD This .CMD file initializes the two tables with some row as the initial setting. BUILD.CMD This .CMD file build the .EXE from a command line. CONSOLE This file contains the expected output when user runs the sample program. CLIENT.CPP The file keeps the client application that uses the Data Access Builder Class Library and the generated DDLs to access the database tables. README This file contains the steps to run the sample. BRCHtwo.DAX Contains the mapping between the two database tables and the generated classes. ═══ Project - LXMIN2 ═══ Description: This sample illustrates building a DLL to be used as an Editor external command. The sample DLL that is built does not actually contain any functions, it is simply a shell to illustrate the process. Once you have built the DLL, you can place the DLL in your LIBPATH. Invoking the name of the DLL while inside the Editor causes the commands/functions inside the DLL to be executed. Because the sample DLL contains no functions, it is successfully invoked (no error message) but nothing happens. Task: This sample generates a DLL which is used as an LPEX external command. Concept/Feature: Building LPEX external commands Project Location: Inside the Editor Samples folder (inside the VisualAge C++ Samples folder) Source File Location: X:\ibmcpp\samples\editor\lxmin2 where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: Copy LXMIN2.DLL to the CPP directory under DLL. LXMIN2 can be run as an edit command within the Editor. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. You will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the use of external commands in the Editor, see the online Editor Command Reference.  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - LXMIN2 ═══ Required files: README Description and instructions for sample. BUILD.CMD Command file to build the sample in project form from the command line. LXMIN2.C C Source code for LXMIN2 program LXMIN2.MAK Make file to create LXMIN2.DLL LPEXAPI.H Include file for external C/C++ LPEX commands LPEXCPAT.H Header file for upgrading LPEX commands to current API LPEXEXT.DEF Module definition file for LPEX new API external command DLL LPEXAPI.LIB LXMIN2.MAK ═══ Sample - REXX Interpreter ═══ Invocation Description: This sample demonstrates how a C-Language application calls a REXX application. To run the REXX application BACKWARD.FNC, CallREXX.C issues REXXSart. REXXStart calls the REXX interpreter and passes it a string of words. BACKWARD.FNC returns a string, composed of the words of the original string but in reverse order, to the C-language application. Task: Given a string of words, CallREXX returns the string with the words in reverse order. Concept/Feature: The program CallREXX.c shows the programmatic interface to the REXX interpreter by providing a sample call sequence to the REXX interpreter. Sample Location: Inside the CREXX Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\crexx\callrex where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ Sample - CallREXX - Source Files ═══ Required files: backward.fnc Input File of callrexx.c callrexx.c The Source file callrexx.exe The executable callrexx.ico The Icon callrexx.mak Makefile generated by MakeMake readme Description and instructions for sample program ═══ Sample - REXX Variable Pool Interface ═══ Description: This program issued DosDevConfig and returns the data in a collection of compound variables when all available items are requested, or a single variable when only one item is requested. This is a REXX subcommand handler and Variable Pool example. Task: Provides Device Information to REXX Programs using the DosDevConfig system call. Concept/Feature: Sample to access device information from REXX Programs. Sample Location: Inside the CREXX Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\crexx\devinfo where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ Sample - DevInfo - Source Files ═══ Required files: devinfo.c Sample C Source devinfo.cmd Rexx command file devinfo.def Defines the exported entry points devinfo.dll DLL containing the devinfo binary devinfo.ico devinfo.mak Makefile generated by MakeMake readme Description and instructions for sample ═══ Sample - Presentation ═══ Manager REXX Calculator Description: This application illustrates the steps required to develop enhanced applications. The enhanced application chosen is a simple calculator. Task: Provides sample code on building a simple calculator. Concept/Feature: This application illustrates the steps required to develop enhanced applications. Sample Location: Inside the CREXX Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\crexx\rexxcalc where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ Sample - RexxCalc - Source Files ═══ Required files: File Names Description readme Description and instructions for sample rexxcal1.c Sample source code rexxcal1.def Exports rexxcal1.exe Executable rexxcal1.h rexxcal1.mak MakeMake output rexxcal1.rc rexxcalc.ico rexxcal2.c C Source code rexxcal2.def File exports rexxcal2.exe The executable rexxcal2.h rexxcal2.mak Makefile generated by MakeMake rexxcal2.rc rexxcal3.c Sample C source rexxcal3.def export definition rexxcal3.exe the executable rexxcal3.h rexxcal3.mak MakeMake generated makefile rexxcal3.rc rexxcal4.c C Source code rexxcal4.def File export definition rexxcal4.exe The executable rexxcal4.h rexxcal4.mak MakeMake generated makefile rexxcal4.rc pmrexxio.dll Utilities DLL pmrexxio.h rexxcalc.c sample source rexxcalc.def Imported entry points definition rexxcalc.exe executable rexxcalc.h rexxcalc.ico rexxcalc.mak MakeMake generated makefile rexxcalc.rc program1.rxc program2.rxc datatype.cal divide.cal integer.cal memclear.cal memminus.cal memplus.cal memrecal.cal memstore.cal minus.cal multiply.cal plus.cal power.cal program1.cal program2.cal program3.cal program4.cal program5.cal program6.cal program7.cal program8.cal remaind.cal sqrt.cal whole.cal ═══ Sample - REXX Utility Functions ═══ Description: REXXUtil demonstrates a set of external functions packaged in a dynamic link library, including:  Use of OS/2 system functions in REXX external functions.  Techniques for passing large amounts of data to a REXX program using REXX compound variables as arrays. Task: Provides sample code for building a DLL which implements additional REXXservices. Concept/Feature: Sample for introducing REXX language extensions. Sample Location: Inside the CREXX Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\crexx\rexxutil where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware prerequisites  IBM VisualAge C++  IBM or compatible 386 and up.  OS/2 Warp ═══ Sample - RexxUtil - Source Files ═══ Required files: readme Description and instructions for sample rexxudem.cmd The REXX command file rexxudem.ico rexxutil.c C Source code rexxutil.def Defines for entry points rexxutil.dll The output dll rexxutil.mak MakeMake generated makefile ═══ Sample - Console I/O ═══ Description: This sample program displays earth worms aimlessly moving about the screen. Each worm is a separate thread with a unique color combination and movement pattern. When one worm encounters another worm, the color attribute of the worm is set to red. The user can add or delete worms using the keyboard or mouse. Task: Draw "Worms" on screen using OS/2 screen I/O routines. Concept/Feature: Demonstrates how to call video (Vio), keyboard (Kbd), and mouse (Mou) 16-bit functions from a 32-bit code segment. Several mouse selectable options are shown to illustrate mouse input. The code also illustrates the use of threads. Sample Location: Inside the OS/2 Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\os2\consolio where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ Sample - Consolio - Source Files ═══ Required files: disp.c Screen display sample code disp.h init.c Initialization code init.h readme Description and instructions for sample wmouse.c Mouse support code wmouse.h worms.c Main driver file worms.def link definition file worms.exe The executable worms.h worms.ico worms.mak MakeMake generated makefile wrmhelp.c Help routines display wrmhelp.h wrmthrd.c Routines to support threads. wrmthrd.h ═══ Sample - Dynamic Link ═══ Library Description: The sample has a dynamic link library (DLL) file and an executable (EXE) file. The DLL provides the 32-bit API function that is called by the EXE file. The EXE calls the function with invalid pointer parameters, followed by a call with valid pointer parameters. Task: The DLL uses protected memory to protect its shared data, and exception management to validate the API's pointer parameters, handling the errors returned. Concept/Feature: Demonstrates how to write and use a dynamic link library (DLL). The EXE file demonstrates how to handle a divide-by-zero exception. Sample Location: Inside the OS/2 Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\os2\dllapi where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ Sample - DLLAPI - Source Files ═══ Required files: dlapi_dg.c Dialog Procedures for user defined dialogs dlapi_hp.c Help Manager interface routines dlapi_in.c Initiaization/Exit routines dllapi.c Main routine dllapi.def Link import/export definition file dllapi.dlg Dialog resource file dllapi.exe dllapi.h dllapi.hlp Help resource file dllapi.ico dllapi.ipf Input for IPF compiler dllapi.mak MakeMake generated makefile dllapi.rc dllcomm.h dllib.c Display file routines like SearchFile() ReadFile() dllib.def Link definition file dllib.dll dllib.h readme Description and instructions for sample ═══ Sample - Extended Attributes ═══ Edit Program Description: This program implements an extended attributes editor that retrieves, modifies, or sorts files by their extended attribute value. The sample lets the user select an extended attribute file name from a list, or enter a new name in an entry field. The user can select the extended attribute type from a table. Task: Allows you to edit a file's extended attributes. Concept/Feature: The Extended Attributes Editor demonstrates a multithreaded application. Included in this file are all of the PM interface procedures for the dialog boxes and a standard client window. Sample Location: Inside the OS/2 Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\os2\eaedit where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ Sample -EAEdit - Source Files ═══ Required files: eas.c The main() program eas.def link definitions and import/export file eas.dlg The dialog resource file eas.exe The executable eas.h eas.hlp Help resource file eas.ico eas.ipf IPF compile input file eas.mak MakeMake generated makefile eas.rc eas1.bmp EAEditor bitmap easea.c Extended Attribute manipulation subroutines easfile.c Open file routines eashelp.c Help manager interface routines easinit.c Initialization routines file readme Description and instructions for sample ═══ Sample - Towers of Hanoi ═══ Description: HANOI implements the familiar "towers of Hanoi" puzzle. When the sample program is started, the user sees three poles (A, B, and C). Initially, pole A has on it a stack of disks starting with the largest disks on the bottom and succeeding smaller disks on the top. The main thread handles the Presentation Manager interface and lets the user start or stop the Hanoi routine. It also lets the user reset the number of working disks. The second thread is created when START is selected from the Options menu. This thread starts the recursive execution of the Hanoi algorithm, runs in the background, and moves and paints the disks. All disks end up on pole C. Task: Solve the Towers of Hanoi problem using multithreading. Concept/Feature: This sample application was written to demonstrate the use of a multi- threaded program. The main thread handles the PM interface, the second thread is started to do the recursive execution of the hanoi algorithm. Sample Location: Inside the OS/2 Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\os2\hanoi where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ Sample - Hanoi - Source Files ═══ Required files: hanoi.c The main() file hanoi.def Link definitions file hanoi.dlg Dialog resource file hanoi.exe The executable hanoi.h hanoi.hlp Help file hanoi.ico hanoi.ipf hanoi.mak MakeMake generated makefile hanoi.rc readme Description and instructions for sample ═══ Sample - Named Pipes ═══ Description: NPIPE demonstrates two-way communication between two unrelated processes using named pipe funcitons. This sample program implements the game of tic-tac-toe with two executable files, CLINPIPE.EXE (the client) and SVRNPIPE.EXE (the server). The server is the computer, and the client is the user. For example, the client will:  Connect to the server and acknowledge successful connection (START_MSG).  Notify the server through a pipe when it wishes to begin play (YOU_FIRST or CLIENT_MOVE).  Notify the server when it wishes to quit (CLIENT_QUIT).  Send the server a valid move when requested by the server (CLIENT_MOVE).  Upon the initial request of a client to play, connect a pipe to the client through which play will be executed (START_MSG).  Be able to play with many clients simultaneously.  Notify the client of the server's move, and request a valid move from the client (SERVER_MOVE).  Notify the client of game-end (WIN_SERVER, WIN_CLIENT, WIN_DRAW). Task: Play Tic-Tac_Toe using named pipes. Concept/Feature: Illustrate the use of Presentation Manager, threads and named pipes. Sample Location: Inside the OS/2 Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\os2\npipe where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ Sample - NPipe - Source Files ═══ Required files: clidlg.ipf Input to the IPF compiler for *.inf generation clifile.ipf Input to the IPF compiler for *.inf generation clinpipe.def link definitions files clinpipe.exe The executable clinpipe.hlp Help resource file clinpipe.ipf Input to the IPF compiler for *.inf generation clinpipe.rc Resource compiler input clioptn.ipf IPF compiler input clnpglbl.h clnphelp.c Interface routines to the Help manager clnphelp.h clnphelp.rc Resource compiler input clnpmain.c The main() file clnpmain.h clnpthrd.c Threads support routines clnpxtrn.h help.ipf file.ipf dlg.ipf namepipe.h namepipe.ico svrnpipe.exe svrpgame.c svrpmain.c svrnpipe.hlp svrpglbl.h svrpmain.h svrnpipe.ipf svrphelp.c svrppnt.c svrphelp.h svrpthrd.c svrnpipe.def svroptn.ipf svrphelp.rc svrpxtrn.h ═══ Sample - Interprocess Communication Queue ═══ Description: QUEUES demonstrates interprocess communications (IPC) using the 32-bit queue component. It consists of two executable programs, SVRQUEUE.EXE and CLIQUEUE.EXE. SVRQUEUE creates an IPC queue; a named, shared-memory buffer for queue elements; and a shared, named, mutex (mutual exclusive) semaphore. After initializing the queue, SVRQUEUE starts a thread to read from the queue, prints the contents of the messages read from the queue, and terminates at the user's request. CLIQUEUE opens the queue and accesses the shared-memory element buffer and mutex semaphore, and starts a thread to write to the queue. CLIQUEUE requests a string of data from the user, allocates a shared-memory element from the buffer, puts the string in the shared-memory element, then uses an event semaphore to direct the thread to write the element to the queue. CLIQUEUE terminates at the user's request. Task: Use queues to implement intertask communication Concept/Feature: Illustrate the use of PM, threads and Queues Sample Location: Inside the OS/2 Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\os2\queues where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ Sample - Queues - Source Files ═══ Required files: clientry.ipf Input source for IPF compiler queues.mak MakeMake generated makefile cliqglbl.h Global definitions cliqhelp.c Help manager interface routines cliqhelp.h cliqhelp.rc Resource compiler input files cliqmain.c main() file cliqmain.h cliqthrd.c Thread support routines cliqueue.def link definitions cliqueue.exe cliqueue.hlp cliqueue.ipf Input source for IPF compiler cliqueue.rc cliqxtrn.h dlg.ipf IPF compiler input file file.ipf help.ipf queue.h queue.ico readme Description and instructions for sample svroptn.ipf svrqglbl.h svrqhelp.c Help Manager interface routines svrqhelp.h svrqhelp.rc svrqmain.c The main() routine svrqmain.h svrqpnt.c Window paint support routines svrqthrd.c Thread support routines svrqueue.def link definitions file svrqueue.exe The executable svrqueue.hlp Help resource file svrqueue.ipf svrqueue.rc svrqxtrn.h ═══ Sample - Semaphore ═══ Description: In the sample, several threads share access to the same resource. Event semaphores are used to signal a thread to give up a resource. A mutex semaphore is used to guarantee that only one thread has access to the resource at a time. A mux semaphore provides a method to check multiple event semaphores. The event semaphore can be posted by the user, or run in auto mode, in which case the event semaphore will be posted at fixed time intervals. A mutex semaphore is used to check for a stop event or for a user signal to give up the resource. Each thread can display as a different colored square; similarly, the resource can display as a rectangle, the color of which is that of the first thread that owns it. Task: Using semaphores, control access to shared resources. Concept/Feature: Demonstrates the use of mutex and event semaphores. Sample Location: Inside the OS/2 Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\os2\semaph where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ Sample - Semaphor - Source Files ═══ Required files: readme Description and instructions for sample semaph.c The semaphore management routines semaph.def link definitions file semaph.dlg dialog resources semaph.exe The executable semaph.h semaph.HLP help resources semaph.ico semaph.ipf semaph.mak MakeMake generated makefile semaph.rc sem_dlg.c contains the dialog procedures sem_help.c Help manager interface routines sem_init.c Initialization routines sem_main.c The main() file sem_pnt.c Client window painting routines sem_user.c PM Message handling routines ═══ Sample - Sorting Algorithm ═══ Description: This program demonstrates the use of many threads by doing multiple sorts simultaneously. The routine which handles the main window's messages is the main thread, the routine which updates the display is run from another thread, and each sorting algorithm runs from a separate thread. The display thread is started when the program begins and is not terminated as the display routine is used throughout the program's life (default cleanup terminates the display thread). Task: Multiple simultaneous sorts using different sorting algorithms. Concept/Feature: Sample program to illustrate the use of threads for sorting Sample Location: Inside the OS/2 Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\os2\sort where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ Sample - Sort - Source Files ═══ Required files: readme Description and instructions for sample sort.c The main() and support routines sort.def link definitions file sort.dlg Dialog resource file sort.exe The executable sort.h Global definitions sort.hlp Help Manager resource file sort.ico sort.ipf sort.mak MakeMake generated makefie sort.rc ═══ Sample - Timer Services ═══ Description: This sample program displays both an analog and digital clock. To simulate elapsed seconds, the main Presentation Manager thread repeatedly sets a one-second window timer that updates the current time. TIMESERV features an audible and visual alarm that the user can set. When the time expires, the sample makes use of the DOS timer services and notifies the user by sounding an alarm and displaying a message box. Task: This sample uses timing services to implement a PM Based clock. Concept/Feature: TIMESERV demonstrates how to use and implement window timers and system-resource timers. Sample Location: Inside the OS/2 Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\os2\timeserv where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ Sample - Timeserv - Source Files ═══ Required files: alarmthd.c Alarm services alarmthd.h clkdata.c Global data definitions clkdata.h Global data declarations clock.c Main() entry point of the clock program clock.def link definitions file clock.dlg Dialog resources clock.exe executable file clock.h clock.hlp Help resources clock.ico clock.ipf clock.rc Resource compiler input dialogs.c dialog procedures dialogs.h digital.c Routines for update of the clock face dlg.ipf help.c Help manager interface routines help.h help.ipf help.rc paint.c Routines for painting the clock product.dlg readme Description and instructions for sample res.h settings.ipf tkclock.mak MakeMake generated make file udtime.c Miscellaneous data/time functions view.ipf wndproc.c Client window window procedure ═══ Sample - Virtual Memory Management ═══ Description: VMM demonstrates the use of virtual memory by using new memory-management functions to allocate and set the attributes of memory. Users can read or write data into memory and reset the attributes using a dialog box. The memory manager protects or opens the virtual memory to read or write operations according to the different attributes of each memory block. To free memory, the user enters the address of the memory. This application serves two distinct purposes. First, The Demo menu calls dialog boxes that demonstrate all of the controls available for use in a dialog box. Task: Use of menus and dialogs to allocate and set attributes of memory. Concept/Feature: It demonstrates the standard menus and dialogs that most PM applications will contain. There is also a dialog box which demonstrates the setting and removing of control Presentation Parameters. Finally, the demo menu also has menu items that demonstrate the various types of message boxes that the system supports. Sample Location: Inside the OS/2 Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\os2\vmm where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ Sample - VMM - Source Files ═══ Required files: prodinfo.bmp readme Description and instructions for sample vmm.def link definitions file vmm.dlg dialog resources vmm.exe sample executable vmm.h vmm.hlp Help resources vmm.ico vmm.ipf vmm.mak MakeMake generated makefile vmm.rc Resource compiler input vmm_dlg.c Dialog procedures vmm_help.c Help manager interface routines vmm_init.c Initialization routines vmm_main.c Main() entry point vmm_user.c Miscellaneous procedures ═══ Sample - Bitmap Manipulation ═══ Description: This sample provides a jigsaw puzzle, based on a decomposition of an arbitrary bitmap loaded from a file. The user can jumble the pieces, then drag them individually by means of the mouse. The image can be made larger or smaller, scrolled up/down or left/right. Task: Use of bitmaps in a jigsaw puzzle. Concept/Feature: Sample illustrates the use of the Graphical Programming Interface in a graphics application. Sample Location: Inside the PM Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\pm\bmpsamp where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ Sample - BMPSamp - Source Files ═══ Required files: cheap.dlg Dialog resource globals.c Global definitions globals.h Global declarations jighelp.c Help Manager Interface routines jighelp.h jighelp.rc resource file jigsaw.c Main() entry point jigsaw.def link definitions jigsaw.dlg dialog resources jigsaw.exe sample executable jigsaw.h jigsaw.hlp jigsaw.ico jigsaw.ipf jigsaw.mak MakeMake generated makefile jigsaw.rc misc.c Miscellaneous support functions procs.c Support functions for window procedures readme Description and instructions for sample statwnd.dlg yosemite.bmp ═══ Sample - Clipboard C ═══ Description: This sample displays a standard window containing a picture. The action bar contains the choices Edit and Help. The Edit pull-down contains choices that let the user cut and paste data in the window, using the clipboard as an intermediate storage area. Task: Provide for clipboard operations on a picture. Concept/Feature: Demonstrates how to provide a Presentation Manager interface to the clipboard. Sample Location: Inside the PM Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\pm\clipbrd where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ Sample - Clipbrd C - Source Files ═══ Required files: clipbrd.bmp Bitmap used in drawing the picture clipbrd.c Main() file and support routines clipbrd.def clipbrd.exe executable file clipbrd.h clipbrd.ico clipbrd.mak MakeMake generated makefile clipbrd.rc Resource definitions readme Description and instructions for sample ═══ Sample - PM Controls ═══ Description: CONTROLS demonstrates a Presentation Manager application that conforms with Common User Access* requirements and implements the following new controls: Container, Notebook, Slider, Spin button, and Value set. The sample program also demonstrates secondary windows, such as dialog and message boxes. The program lets the user edit and save text files. Help, in IPF format, also is provided. Task: The program lets the user edit and save text files. Concept/Feature:  PM window creation  Menu Creation  Dialog box creation  Presentation parameters  Initialization and display of PM controls  Help creation and initialization Sample Location: Inside the PM Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\pm\controls where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ Sample - Controls - Source Files ═══ Required files: readme Description and instructions for sample style.def style.exe sample executable style.hlp Help resource file style.ipf style.mak MakeMake generated makefile sty_dlg.c Dialog procedures and support code sty_dlg.h sty_dlg.ipf Help resoure file for sty_dlg sty_edit.c Support code for WM_COMMAND posted by the edit menu sty_edit.ipf sty_file.c Support code for WM_COMMAND posted by the file menu sty_file.ipf sty_help.c Help manager interface code sty_help.h sty_help.ipf sty_help.rc sty_ico1.ico sty_ico2.ico sty_ico3.ico sty_ico4.ico sty_init.c Initialization routines sty_main.c Main() entry point sty_main.dlg sty_main.h sty_main.ico sty_main.rc sty_menu.ipf sty_pnt.c code for main client window painting sty_user.c User message processing code sty_xtrn.h ═══ Sample - Introductory Dialog Box ═══ Description: This program demonstrates how to associate a dialog box with a standard window. The dialog window is defined as a dialog template in a resource file. Task: Associate a dialog box with a standard window. Concept/Feature: Demonstrates how to implement an entry field, pushbutton controls, and messages boxes. Sample Location: Inside the PM Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\pm\dialog where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ Sample - Dialog - Source Files ═══ Required files: dialog.c Main() entry point and support routines dialog.def dialog.dlg Dialog resources dialog.exe sample executable dialog.h dialog.ico dialog.mak dialog.rc Resource compiler input readme Description and instructions for sample ═══ Sample - Direct Manipulation ═══ Description: DRAGDROP demonstrates how to move files between directories with the dragging techniques of direct manipulation. This sample program creates a list box that contains a scrollable list of the current directory. To change the current directory, select the WINDOW option and enter the new directory name and press Enter. The sample program must be started twice so there are two running instances of the sample. Then, using a mouse, the user:  Changes the directory file list in the first sample.  Selects a file name from the second sample.  Drags the file name (with mouse button 2) to the directory in the first sample.  Drops the file name on the directory in the first sample. The file is now moved to the chosen directory of the first sample. Task: Provide direct manipulation between listboxes Concept/Feature: Sample program to illustrate Direct Manipulation Sample Location: Inside the PM Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\pm\dragdrop where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ Sample - DragDrop - Source Files ═══ Required files: dragdlg.ipf Help resource file dragdrag.c Direct Manipuation support routines dragdrop.c Main() entry point, initial window creation routines dragdrop.def dragdrop.dlg Dialog resources dragdrop.exe Sample Executable dragdrop.h dragdrop.hlp dragdrop.ico dragdrop.ipf Help resource file dragdrop.mak MakeMake generated makefile dragdrop.ptr Resource to change the mouse pointer dragdrop.rc dragfile.ipf dragheap.c Heap memory support routines draghelp.c Help manager interface routines draghelp.h draghelp.ipf draghelp.rc dragmenu.ipf dragwnd.ipf readme Description and instructions for sample ═══ Sample - Non-retained Graphics ═══ Description: The sample program lets the user load metafiles using a dialog box. The dialog box has a help pushbutton. When the help pushbutton is activated, it provides instructions on loading a metafile from another directory. The user also can print a metafile or graphic circle. Task: Load metafiles using a dialog box. Concept/Feature: This program demonstrates the use of the default viewing transformation, metafile loading and playing, the use of dialog boxes, and file manipulation through Standard Open dialog. It also demonstrates the use of an asynchronous drawing thread and print thread. Sample Location: Inside the PM Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\pm\graphics where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ Sample - Graphics - Source Files ═══ Required files: file.c Support routines for file drawing graphic.exe graphic.c Main() entry point graphic.def graphic.dlg Dialog resources graphic.exe Sample executable graphic.h graphic.hlp graphic.ico graphic.ipf graphic.mak MakeMake generated makefile graphic.met Metafile graphic.rc readme Description and instructions for sample ═══ Sample - Information Presentation Facility ═══ Description: IPF demonstrates how to use the Information Presentation Facility (IPF) to create an online document. This sample program features customized windows that display text, graphics, and animation. Two files are associated with this sample:  The IPF online document (.INF) file  The OS/2 dynamic link library (.DLL) file. p. The .INF file is the compiled IPF tag document. The source contains tagging that defines different types of windows. Tags that control the format and display of text also are included in this file. The .DLL file is the compiled OS/2 C language source for the code object that is called when the .INF file is read during run time. A series of bit maps used for animation are included in the DLL. Task: Create an online document using the Information Presentation Facility. Concept/Feature: This program illustrates a suggested format for sample Help Manager code using the Information Presentation Facility. Sample Location: Inside the PM Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\pm\ipf where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ Sample - IPF - Source Files ═══ Required files: ducks.bmp Various bitmaps frame1.bmp frame2.bmp frame3.bmp frame4.bmp frame5.bmp ipf.c IPFMain() entry point ipf.def ipf.dll output dll ipf.h ipf.ico ipf.INF "view"able file. ipf.ipf ipf.mak MakeMake generated makefile ipf.rc moonwalk.bmp readme Description and instructions for sample shuttle.bmp world.bmp ═══ Sample - Pallette Manager ═══ Description: PALETTE demonstrates the creation of a window using a custom palette and animation. The user can display an IBM logo or OS/2 logo. When run on a system having a fully populated XGA adapter, the sample shows a palette animation technique from a second thread of execution. Task: Display a standard window and draw the IBM or OS/2 logo in the window. Concept/Feature: This program demonstrates how to create and display a standard window, use switched menus, use a second thread for drawing, modify a palette using some basic GPI calls, and display vectored fonts. Sample Location: Inside the PM Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\pm\palette where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ Sample - Pallette - Source Files ═══ Required files: palette.c Main() program entry point and support routines palette.def palette.exe the executable palette.h palette.HLP Help resource file palette.ico palette.inc palette.ipf palette.mak MakeMake generated makefile palette.rc readme Description and instructions for samples ═══ Sample - Printer ═══ Description: This program demonstrates how to display and print ascii text, metafiles and bitmaps. It also shows how to use the standard file dialog and the standard font dialog, how to display and change printer properties and how to display and select printer queues. Task: Display and print text, metafiles, and bitmaps. Concept/Feature: Demonstrates how to:  Query and display a system printer configuration  Interact with the printer drivers to change job properties  Query and display available printer and screen fonts  Print from an asynchronous thread Sample Location: Inside the PM Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\pm\print where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ Sample - Print - Source Files ═══ Required files: pmassert.h assert that display debug info in a message box prtcreat.c Initialization functions prtmenu.c routines to respond to menu selections prtobj.c Object Window procedure prtpage.c Routines to display page setup dialog prtprint.c Routine to allow selection of print queues prtprof.c Save and restore settings in a *.ini file prtsamp.bmp prtsamp.c Main() entry point prtsamp.dlg prtsamp.exe prtsamp.h prtsamp.hlp Help resource file prtsamp.ico prtsamp.ipf prtsamp.mak prtsamp.met prtsamp.rc prtsamp.txt prtsdlg.h prtshlp.h readme Description and instructions for sample ═══ Sample - Standard Window ═══ Description: This program displays a standard window containing the text "Hello". The action bar contains a single choice, Options. The Options pull-down contains three choices that each paint a different string in the window. Task: Display a standard window, conforming to the Common User Access Requirements, with text. Concept/Feature: This program demonstrates how to create and display a standard window, and how to use resources defined in a resource script file. Sample Location: Inside the PM Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\pm\stdwnd where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ Sample - Stdwnd - Source Files ═══ Required files: hello.c Main() entry point and support routines hello.def hello.exe Sample executable hello.h hello.ico hello.mak MakeMake generated makefile hello.rc Resource compiler input file readme Description and instructions for sample ═══ Sample - Application Template ═══ Description: TEMPLATE demonstrates the structure common to all Presentation Manager applications. This sample program shows how to structure an application that has more than one source file. It includes an initialization file, which is used and then discarded, the resident code, and the non-resident code that is loaded only when needed. Task: Structure an application with more than one source file. Concept/Feature: TEMPLATE demonstrates how to:  Create a standard window  Load resources from a resource file  Create a dialog box and a button control  Display a message box  Open a file  Close a file  Print text  Paint a window  Process a message from a menu  Run a thread in the background  Exit a process. Help files are provided by the Information Presentation Facility. Sample Location: Inside the PM Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\pm\template where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ Sample - Template - Source Files ═══ Required files: dlg.c Sample dialog procedure dlg.h dlg.ipf edit.c Template for WM_COMMAND responses from an edit menu edit.ipf file.c Template for WM_COMMAND responses from a file menu file.ipf funchead.c "boiler plate" head.c "boiler plate" help.c Routines to interface with the Help Manager help.h help.ipf help.rc init.c Initialization routines main.c main() entry point main.h main.ico main.rc resource compiler input menu.ipf pnt.c Window painting routines readme Description and instructions for sample template.def template.dlg Dialog resources template.exe Sample executable template.hlp Help resource file template.ipf template.mak MakeMake generated makefile thrd.c thread support routines user.c User message response routines xtrn.h ═══ Sample - WPS ASCII/Hex File Browser ═══ Description: The BROWSE sample displays file system objects in a hexadecimal or text format in a Presentation Manager window. Open a view of an object in the default format (hexadecimal) by dropping a file system object on the Browse-O-Matic icon or by double clicking the left mouse button and entering the name of a file to view. A view of an object can be opened in either hex or text format by selecting the Open Text View or Open Hex View from the Open menu by clicking the right mouse button once on the Browse-O-Matic icon. The default view format can be changed in the settings menu page by selecting the Open menu, Settings, Menu notebook tab, ~Open in Available menus, Settings..., Default action, and selecting ~Settings, Open ~Hex View, or Open ~Text View. Task: Display a file in HEX or in TEXT Concept/Feature: Illustrate the use of PM within the WorkplaceShell Sample Location: Inside the Workplace Shell Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\wps\browse where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ Sample - Browse - Source Files ═══ Required files: browcls.idl Define foreign types browse.c Implementation file browse.def SOM generated .def file browse.dll Output DLL browse.hlp Help resource file browse.ico browse.idl SOM Interface definition file browse.ipf browse.mak browse.rc pmbrowse.c Client Window Message Processor pmbrowse.h readme Description and instructions for sample file ═══ Sample - WPS WPDataFile C ═══ Description: Task: Concept/Feature: Illustrate the use of PM within the WPS Sample Location: Inside the Workplace Shell Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\wps\car where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ Sample - Car - Source Files ═══ Required files: car.c Implementation file car.def SOM generated .def car.dll Output DLL car.h car.hlp Help resource file car.ico car.idl SOM Interface definition file car.mak MakeMake generated makefile car.rc Resource Compiler input cardef.h readme Description and instructions for sample ═══ Sample - WPS WPDataFile C++ ═══ Description: Task: Concept/Feature: Illustrate the use of PM and C++ within the WPS Sample Location: Inside the Workplace Shell Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\wps\carpp where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ Sample - Carpp - Source Files ═══ Required files: brake.cpp Implement Class Brake member functions brake.h Class Brake declarations carpp.cpp Implementation file carpp.def SOM generated .def file carpp.dll carpp.hlp Help resource file carpp.ico carpp.idl SOM Interface definition carpp.ipf carpp.mak carpp.rc horn.cpp Implement Horn Class member functions horn.h Horn Class declaration readme Description and instructions for sample rpm.cpp Implement RPM class member functions rpm.h RPM class declaration ═══ ARABIC STYLE ═══ Description: ARABSTYL is a standard PM Application that demonstrates support for the Arabic Language. Task: Write sample that demonstrates the handling of the Arabic language Concept/Feature: Support bidirectional languages Sample Location: This sample does not appear on the desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\bidi\arabic\style where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. Software/Hardware Prerequisites:  IBM VisualAge C++  Arabic version of OS/2 Warp  IBM or compatible 386 and up. ═══ (Arabic) STYLE - Source Files ═══ Required files: readme description and instructions for sample ibmsamp.inc key.ico various resource ICON files pcglobe.ico prodinfo.bmp runsamp.cmd command file to run the sample runsamp1.cmd style.def Defines for link processing style.exe style.hlp Input file to the Help Manager style.ipf IPFC processor input file style.mak sty_dlg.c dialog procedures for user-defined dialogs sty_dlg.h sty_dlg.ipf IPFC processor input file sty_edit.c process WM_COMMAND messages sty_edit.ipf sty_file.c Support routines for I/O and DOS operations ie DosAllocMem etc sty_file.ipf sty_help.c Help Maneger Interface file sty_help.h sty_help.ipf sty_help.rc resource definition file sty_ico1.ico Various ICON files sty_ico2.ico sty_ico3.ico sty_ico4.ico sty_init.c Initialization support routines sty_main.c Main() sample file sty_main.dlg sty_main.h sty_main.ico sty_main.rc sty_menu.ipf sty_pnt.c Client window Painting routines sty_user.c User Message processing routines sty_xtrn.h tower.ico waterfal.ico ═══ (Arabic) Telephone Directory ═══ Description: TELDIR is an application that supports a telephone directory in Arabic. Note: The Arabic versions of these samples require the Arabic version of OS/2 in order to run. Task: Write an application that uses BIDI language support Concept/Feature: Implement BIDI support in an application Sample Location: This sample does not appear on the desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\bidi\arabic\teldir where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  Arabic version of OS/2 Warp  IBM or compatible 386 and up. ═══ (Arabic) TelDir ═══ Required Files: teldir.c Main() sample file teldir.dat Sample data file teldir.def Defines for link processing teldir.exe teldir.h teldir.hlp Help in english teldir.ico teldir.ipf teldir.mak teldir.rc Resource definitions file teldira.hlp Help in arabic teldira.ipf ═══ (Hebrew) Style ═══ Description: HEBSTYLE is a standard PM Application that demonstrates support for the Hebrew Language. Task: Write sample that demostrates the handling of the Hebrew language Concept/Feature: Support bidirectional languages Sample Location: This sample does not appear on the desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\bidi\hebrew\style where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  Hebrew version of OS/2 Warp  IBM or compatible 386 and up. ═══ (Hebrew) Style - Source Files ═══ Required files: readme description and instructions for sample ibmsamp.inc key.ico various resource ICON files pcglobe.ico prodinfo.bmp runsamp.cmd command file to run the sample runsamp1.cmd style.def Defines for link processing style.exe style.hlp Input file to the Help Manager style.ipf IPFC processor input file style.mak sty_dlg.c dialog procedures for user-defined dialogs sty_dlg.h IPFC processor input file sty_dlg.ipf process WM_COMMAND messages sty_edit.c sty_edit.ipf Support routines for I/O and DOS operations ie DosAllocMem etc sty_file.c sty_file.ipf Help Maneger Interface file sty_help.c sty_help.h sty_help.ipf resource definition file sty_help.rc Various ICON files sty_ico1.ico sty_ico2.ico sty_ico3.ico sty_ico4.ico Initialization support routines sty_init.c Main() sample file sty_main.c sty_main.dlg sty_main.h sty_main.ico sty_main.rc sty_menu.ipf Client window Painting routines sty_pnt.c User Message processing routines sty_user.c sty_xtrn.h tower.ico waterfal.ico ═══ (Hebrew) Telephone Directory ═══ Description: TELDIR is an application that supports a telephone directory in Hebrew. Note: The Hebrew version of this sample requirs the Hebrew version of OS/2 to run. Task: Write an application that uses BIDI language support Concept/Feature: Implement BIDI support in an application Sample Location: This sample does not appear on the desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\bidi\hebrew\teldir where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. Software/Hardware Prerequisites:  IBM VisualAge C++  Hebrew version of OS/2 Warp  IBM or compatible 386 and up. ═══ (Hebrew) TelDir - Source Files ═══ Required files: teldir.c Main() sample file teldir.def Sample data file teldir.exe Defines for link processing teldir.h teldir.hlp teldir.ico Help in english teldir.ipf teldir.l teldir.mak teldir.rc teldirh.hlp Resource definitions file teldirh.ipf Help in hebrew ═══ Waveform Audio Media Control Driver ═══ Description: ADMCT is an example of a Media Control Driver (MCD) that demonstrates how to control a streaming device. Streaming devices use the services of the Sync/Stream Manager (SSM) of OS/2 multimedia to control the data stream from a source location to a target location. Task: Write a media control driver to control a streaming device Concept/Feature: Media control drivers, streaming devices and the Synch/Stream Manager Sample Location: Inside the Multimedia Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\mm\admct where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ ADMCT - Source Files ═══ Required files: ADMCCAP.C Capability message command processor ADMCCLOS.C Demostrate closing a streaming MCD ADMCCONN.C Enable, disable and query connectors ADMCCOPY.C Process cut, copy and delete messages ADMCCUE.C Cue a waveform Audio Element for input or output ADMCDAT.C Global data structures definition ADMCDAT.H Global data structures declaration ADMCEDIT.C Digital Audio clipboard manipulattion and error detection ADMCFUNC.H ADMCINI.C Initialization routines ADMCINI2.C Audio MCD DLL Initialization and termination ADMCINIT.C Audio MCD DLL Initialization and termination ADMCLOAD.C Audio MCD Load Element routine ADMCOPEN.C Opens the waveaudio device ADMCPLAY.C Audio MCD Playback ADMCPST.C Paste from clipboard ADMCRECD.C WaveAudio Recording ADMCRES.H ADMCREST.C Functions for pausing/resuming a stream, support stream transi ADMCSAVE.C Save a Waveform Audion element ADMCSEEK.C Demonstrates the Waveform Seek function ADMCSET.C Sets various audio attributes ADMCSTAT.C Various status setting functions ADMCT.MAK AUDIO.BMP AUDIOMCD.C Main switch routine for the Audio MCD. AUDIOMCD.H AUDIOMCD.RC AUDIOMCT.DLL AUDIOSUB.C Various waveaudio MCI Driver support functions CHECKMEM.C Check passed memory address for validity CHECKMEM.H CONNECT.C Audio MCD connection routine HHPHEAP.C Sample heap manager HHPHEAP.H LOADSUBS.C Sample subroutine loading code MCD.H MCIPRIV.H MMDSLOAD.H README SPICALLS.C Various Stream manipulation routines STRMSUBS.C Support functions for wave streaming requests VSDCMDS.H WINDOW.DLG ═══ AVC I/O Procedure Installation ═══ Description: AVCINST illustrates how an application can install and remove a I/O procedure to use multimedia input/output (MMIO) file services. The AVC I/O Procedure Installation Sample is a simple PM application that allows you to install or deinstall the audio AVC I/O procedure, AVCAPROC.DLL. Task: Demonstrate how to install and remove installable IO procedres Concept/Feature: Installable IO procedure installation and removal Sample Location: Inside the Multimedia Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\mm\avcinst where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ AVCINST - Source Files ═══ Required files: AVCINST.C Main demo source code AVCINST.DEF input to link processor AVCINST.DLG User interface dialogs AVCINST.EXE AVCINST.H AVCINST.HLP Help manager input file AVCINST.ICO AVCINST.IPF Input file for the IPFC processor AVCINST.MAK AVCINST.RC Resource files README ═══ Caption Sample ═══ Description: CAPSAMP and the Caption Utility APIs (in the CAPDLL subdirectory) are part of the sample captioning system provided with the Toolkit. CAPSAMP demonstrates how captioning can be integrated into applications using caption files in conjunction with the Caption Utility APIs. Task: Demonstrate use of caption files in applications Concept/Feature: Use caption files and the Caption Utility API's Sample Location: Inside the Multimedia Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\mm\capsamp where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ CAPSAMP - Source Files ═══ Required files: CAP.DLL DLL created by the CAPDLL project CAPSAMP.C Caption sample driver CAPSAMP.DEF Input to Link processor CAPSAMP.DLG Dialog resource CAPSAMP.EXE CAPSAMP.H CAPSAMP.HLP CAPSAMP.ICO CAPSAMP.IPF CAPSAMP.MAK CAPSAMP.RC CAPSAMP.WAV CAPSAMP._CC CAPTIONS.H PAUSE.BMP various bitmaps PLAY0.BMP PLAY1.BMP PLAY2.BMP PLAY3.BMP PLAY4.BMP REWIND.BMP STOP.BMP README ═══ Caption Creation Utility ═══ Description: The Caption Creation Utility program is part of the sample captioning system provided with the Toolkit. The Caption Creation Utility program enables a user to synchronize an audio file with a text file. Note: This concept can be extended beyond audio and text to apply to many possibilities, such as synchronizing audio and video, or synchronizing video and text. Task: Synchronize an Audio file with a text file Concept/Feature: Use of Caption files Sample Location: Inside the Multimedia Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\mm\caption where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ CAPTION - Source Files ═══ Required files: CAPTION.C Main driver demo for CAPTION creation CAPTION.DEF Link processor file CAPTION.DLG Dialog resource CAPTION.EXE CAPTION.H CAPTION.HLP CAPTION.ICO CAPTION.IPF CAPTION.MAK CAPTION.RC NEXTBUSY.BMP Various bitmaps NEXTLINE.BMP PAUSE.BMP PAUSED.BMP PLAY0.BMP PLAY1.BMP PLAY2.BMP PLAY3.BMP PLAY4.BMP REWIND.BMP STOP.BMP README ═══ Case Converter I/O Procedure ═══ Description: CASECONV provides a simple example of how to write a file format I/O procedure (without illustrating the use of data translation). This sample performs case conversion of text. Task: A sample for writing file format I/O Procedures Concept/Feature: File format I/O Sample Location: Inside the Multimedia Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\mm\caseconv where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ CASECONV - Source Files ═══ Required files: CASECONV.MAK CONVCONV.C CONV Converter Procedure example routines CONVCVSR.C Support routines CONVPROC.C Multi-media I/O procedure CONVPROC.DLL CONVPROC.H CONVPROC.LIB CONVPROC.RC HHPHEAP.C Heap management sample routine HHPHEAP.H README ═══ Install Control Files ═══ Description: CF contains control file templates you can utilize when installing a program using MINSTALL. Sample Location: Inside the Multimedia Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\mm\cf where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ CF - Source Files ═══ Required files: CONTROL.SCR TLKBASE.SCR TLKSTRN.SCR TOOLKIT.CH MASTER3.CD TLKWORKB.SCR TLKRECDR.SCR TLKP2STR.SCR TLKIOPU.SCR TLKGUIDE.SCR TLKDUT2.SCR TLKDUT1.SCR TLKCONV.SCR TLKCLOCK.SCR TLKCAPT.SCR TLKCAPCU.SCR TLKBOOKR.SCR TLKBOOKR.CH TLKBITMP.SCR TLKMVSPL.SCR TLKWVDOC.SCR ═══ Memory Playlist ═══ Description: CLOCK illustrates the use of the memory playlist feature of OS/2 multimedia. The memory playlist feature provides for easy manipulation of multimedia in memory to create unique effects based on user input or other dynamic events. Task: Provide a sample for using in-memory playlists in conjuction with multimedia Concept/Feature: Use memory playlists Sample Location: Inside the Multimedia Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\mm\clock where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ CLOCK - Source Files ═══ Required files: BELLC.BMP Various bitmaps BELLFRLT.BMP BELLFRRT.BMP BELLLT.BMP BELLRT.BMP CLOCK.C Main demo driver program CLOCK.DEF CLOCK.DLG Dialog resource CLOCK.EXE CLOCK.H CLOCK.HLP CLOCK.ICO CLOCK.IPF CLOCK.MAK CLOCK.RC Resource definition CLOCK1.WAV CLOCK2.WAV CLOCK3.WAV CLOCKDRW.C Graphics processing routines README ═══ Compressor/Decompressor Sample ═══ Description: CODEC illustrates how to write a CODEC procedure to include compression and decompression routines in your multimedia applications. A CODEC procedure operates on data within a file or buffer. Task: Compress/decompress data within a file or buffer. Concept/Feature: Illustrates how to write a procedure to include compression/decompression routines in a multimedia application. Sample Location: Inside the Multimedia Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\mm\codec where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ CODEC - Source Files ═══ Required files: MAKEFILE README SAMPCODC.DLL SAMPDECO.C SAMPDECO.H SAMPENCO.C SAMPENCO.H SAMPINST.H SAMPMAIN.C INST directory: README CONTROL.SCR MASTER.DSK ═══ Direct Interface Video Extensions ═══ Description: Direct Interface Video Extensions (DIVE) provide optimized blitting performance for motion video subsystems and applications that perform rapid screen updates in the OS/2 PM and full-screen environments. Using DIVE interfaces, applications can either write directly to video memory or use the DIVE blitter. The DIVE blitter will take advantage of acceleration hardware when present and applicable to the function being performed. Task: A sample for using the DIVE APIs Concept/Feature: Direct Interface Video Extensions demonstration Sample Location: Inside the Multimedia Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\mm\dive where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ DIVE - Source Files ═══ Required files: README SHOW.C Sample code for use of DIVE API's SHOW.DEF Link defines SHOW.EXE SHOW.H SHOW.ICO SHOW.MAK SHOW.RC Resource compiler inputs SHOWDLG.DLG Various bitmaps TPG20000.BMP TPG20001.BMP TPG20002.BMP TPG20003.BMP TPG20004.BMP TPG20005.BMP TPG20006.BMP TPG20007.BMP TPG20008.BMP TPG20009.BMP TPG20010.BMP TPG20011.BMP TPG20012.BMP TPG20013.BMP TPG20014.BMP TPG20015.BMP ═══ Waveaudio with Waveaudio ═══ Description: The DUET sample programs illustrate the OS/2 multimedia concept of device grouping and integrating multimedia into an application's help information. DUET1 illustrates the concepts of grouping two streaming devices. Task: Integrate multimedia into an applications Help information Concept/Feature: Device grouping and multimedia integration Sample Location: Inside the Multimedia Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\mm\duet1 where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ DUET1 - Source Files ═══ Required files: BOD1.WAV Various WAVeforms BOD2.WAV DUET1.C Sample driver program DUET1.DEF Defines for link processing DUET1.DLG DUET1.EXE DUET1.H DUET1.HLP Help Manager Input file DUET1.ICO DUET1.IPF DUET1.MAK DUET1.RC DUETHELP.WAV Various Waveforms and bitmaps used in the demo FASTF.BMP LOAD.BMP MUTEDN.BMP MUTEUP.BMP ODE1.WAV ODE2.WAV PAUSE.BMP PLAY0.BMP PLAY1.BMP PLAY2.BMP PLAY3.BMP PLAY4.BMP PS2IT1.WAV PS2IT2.WAV REC0.BMP REC1.BMP REW.BMP STEPB.BMP STEPF.BMP STOP.BMP TRACKB.BMP TRACKF.BMP UNLOAD.BMP README ═══ Waveaudio with CD-Audio ═══ Description: The DUET sample programs illustrate the OS/2 multimedia concept of device grouping and integrating multimedia into an application's help information. DUET2 demonstrates how one of the devices in the multimedia device group can be a non-streaming device. Task: Extend the DUET1 example Concept/Feature: Extend the DUET1 example Sample Location: Inside the Multimedia Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\mm\duet2 where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ DUET2 - Source Files ═══ Required files: DUET2.C Sample driver program DUET2.DEF Defines for the link processor DUET2.DLG Dialog resource file DUET2.EXE DUET2.H DUET2.HLP DUET2.ICO DUET2.IPF DUET2.MAK DUET2.RC DUET2.WAV Various waveforms and bitmaps DUETHELP.WAV PAUSE.BMP PLAY0.BMP PLAY1.BMP PLAY2.BMP PLAY3.BMP PLAY4.BMP STOP.BMP README ═══ File System Stream Handler ═══ Description: FSSHT contains a sample file system stream handler. Task: Provides a sample on how to manipulate file system stream handlers Concept/Feature: File system stream handlers Sample Location: Inside the Multimedia Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\mm\fssht where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ FSSHT - Source Files ═══ Required files: FSSH.H FSSHASS.C File system stea handler associate routine FSSHCREA.C Create routine for the file system stream handler FSSHGDAT.C Global data definition FSSHREAD.C Read routine FSSHSEEK.C Seek stream routine FSSHT.DLL FSSHT.MAK FSSHWRIT.C Write routine HHPHEAP.C Heap manager HHPHEAP.H SEEKCALC.ASM Support routines in assembler SEEKCALC.H C interface SHDESTRY.C Destroy stream routine SHEPROT.C Enumerate protocols SHGPROT.C Get protocols SHI.H SHIFWD.H SHINIT.C DLL Initialization functions SHIOUTIL.C Input/Output utility routines SHIPROT.C Install protocol routine SHMISC.C Misc. routines SHNEGOT.C Negotiate results routine SHROUTER.C Command router SHSTART.C Start stream routine SHSTOP.C Stop stream routine ═══ Media control Driver Command Tables ═══ Description: Before an Media Control Driver (MCD) can interpret a string command, the MDM must use a command table to change the string into an equivalent procedural command. Represented as resources to the driver, command tables are created using the RCDATA type of resource. The resource number of the RCDATA block is the device type number. MCDTBL contains command tables for each of the following devices:  CD-ROM/XA  CD Audio  Wave Audio  Sequencer  Digital Video  Amp Mixer  Videodisc If you want to support device-specific messages, you must create a device-specific command table. Task: Provide a general model on how MCD command tables are set up. Concept/Feature: Template for coding an MCD Sample Location: Inside the Multimedia Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\mm\mcdtbl where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ MCDTEMP - Source Files ═══ Required files: AMPCMD.RC CDCMD.RC LVDCMD.RC MDMCMD.RC README Description and instructions for this sample. SEQCMD.RC WAVCMD.RC XACMD.RC ═══ Media control Driver Template ═══ Description: MCDTEMP provides a basic template to write an MCD. Refer to the ADMCT and CDMCIDRV subdirectories for specific streaming or MMIO samples. Task: Provide a general model on how MCD functions are coded. Concept/Feature: Template for coding an MCD Sample Location: Inside the Multimedia Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\mm\mcdtemp where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ MCDTEMP - Source Files ═══ Required files: MCDCLOSE.C MCI_CLOSE message handler MCDDRVRT.C MCIDRV_RESTORE message handler MCDDRVSV.C MCIDRV_SAVE message handler MCDFUNCS.C common functions MCDINFO.C MCI_INFO message handler MCDOPEN.C MCI_OPEN message handler MCDPROC.C Main procedure for sample MCDSTAT.C MCI_STATUS message handler MCDTEMP.DLL MCDTEMP.H MCDTEMP.MAK README ═══ Media Control Interface Spy ═══ Description: MCISPY monitors media control interface messages that are exchanged between applications and the OS/2 multimedia subsystem. In addition to teaching you about multimedia messages, MCISPY also serves as a powerful debugging aid. Task: Provide a sample to monitor MCI messages. Similar to PMSPY which monitors PM messages Concept/Feature: Media control interface messages Sample Location: Inside the Multimedia Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\mm\mcispy where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ MCISPY - Source Files ═══ Required files: DLGPROCS.C Dialog message handling functions MCISPY.C Sample driver source code MCISPY.DLG Dialog resource file MCISPY.EXE MCISPY.H MCISPY.HLP MCISPY.ICO MCISPY.IPF MCISPY.LOG MCISPY.MAK MCISPY.RC MCISUBS.C various helper routines MCITBL.C various helper routines MDM.C Media Device Manager Proxy or Stub routines MDM.DLL MDM.H MDMCMD.RES MMMLOGO.BMP ═══ Media Control Interface String Test ═══ Description: MCISTRNG serves as a powerful testing and debugging tool that enables developers writing media drivers to control their devices at the application level. The String Test Sample illustrates how an application uses the interpretive string interface provided by the media control interface. It also illustrates how notification messages are returned from the media drivers to the application. Task: Sample program that allows developers to control multimedia devices at the application level Concept/Feature: Multimedia device control Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. Sample Location: Inside the Multimedia Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\mm\mcistrng where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ MCISTRNG - Source Files ═══ Required files: MCISTRNG.C Main sample driver file MCISTRNG.DEF Definitions for Link processing MCISTRNG.DLG Dialog resource MCISTRNG.EXE MCISTRNG.H MCISTRNG.HLP MCISTRNG.ICO MCISTRNG.IPF IPFC Input file MCISTRNG.MAK MCISTRNG.RC Resource definitions file README ═══ Image Browser ═══ Description: MMBROWSE illustrates how to use the Multimedia I/O subsystem (MMIO) to install I/O procedures for various image formats and then convert these image formats to OS/2 bitmaps. Task: Sample on using MMIO to install I/O procedures Concept/Feature: Use of the Multimedia I/O subsystem Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. Sample Location: Inside the Multimedia Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\mm\mmbrowse where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ MMBROWSE - Source Files ═══ Required files: MAKEFILE README MMBROWSE.BMP MMBROWSE.C Main Sample driver file MMBROWSE.DEF Defines for link processing MMBROWSE.EXE MMBROWSE.H MMBROWSE.HLP MMBROWSE.ICO MMBROWSE.IPF MMBROWSE.RC Resources definition ═══ M-Motion I/O Procedure ═══ Description: MMIOPROC provides an example of how to write an I/O procedure for use with image file formats. This sample enables file format transparency for M-Motion still video files and illustrates the use of data translation. Task: Write an MMIO procedure for use with image file formats Concept/Feature: Writing MM I/O Procedures Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. Sample Location: Inside the Multimedia Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\mm\mmioproc where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ MMIOPROC - Source Files ═══ Required files: MMOTFUNC.C Miscellaneous functions for M-Motion video MMOTPROC.C MMIO IOProc for M-Motion Still video files MMOTPROC.H MMOTPROC.RC MMOTTK.DLL MMOTTK.MAK README ═══ Movie Sample Application ═══ Description: MOVIE demonstrates device control of a software motion video device. It also illustrates how to cut, copy, paste, and delete movie data from an application. A movie can be played in an application-defined window or in the system default window provided by the software motion video subsystem. Note: If you have installed the diskette version of the Toolkit, you must copy MACAW.AVI (or any other AVI file) from \MMOS2\MOVIES to the \TOOLKIT\SAMPLES\MM\MOVIE subdirectory and rename it MOVIE.AVI. Task: Use movie data within an application Concept/Feature: Device control of a motion video device Sample Location: Inside the Multimedia Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\mm\movie where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ MOVIE - Source Files ═══ Required files: MOVIE.AVI MOVIE.C Main sample driver file MOVIE.DEF MOVIE.DLG MOVIE.EXE MOVIE.H MOVIE.HLP MOVIE.ICO MOVIE.IPF MOVIE.RC Resource definitions file PAUSE.BMP Various bitmaps PLAY0.BMP REWIND.BMP SMVSAMP.MAK STOP.BMP README ═══ Audio Recorder ═══ Description: RECORDER illustrates the concept of recording audio through the media control interface and how to query a device to find out the recording capabilities. RECORDER also illustrates how to change the audio recording and audio device properties, such as bits per sample, samples per second, input level, and input source. Task: Provide a sample for audio recording Concept/Feature: Record audio through the Media Control Interface Sample Location: Inside the Multimedia Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\mm\recorder where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ RECORDER - Source Files ═══ Required files: FASTF.BMP OPTIONS.C Support routines for mmioOpen/mmioGetheader/mm ioClose PAUSE.BMP Various bitmaps PLAY0.BMP PLAY1.BMP PLAY2.BMP PLAY3.BMP PLAY4.BMP REC0.BMP REC1.BMP RECORDER.C Main sample driver file RECORDER.DEF Defines for link processing RECORDER.DLG RECORDER.EXE RECORDER.H RECORDER.HLP RECORDER.ICO RECORDER.IPF RECORDER.MAK RECORDER.RC REW.BMP STOP.BMP README ═══ Stream Handler Resource File ═══ Description: SHRCFILE provides a sample stream handler resource file. Task: Concept/Feature: Stream handler resource file Sample Location: Inside the Multimedia Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\mm\shrcfile where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ SHRCFILE - Source Files ═══ Required files: CONTROL.SCR RCSTUB.C Main sample driver file SHRC.DLL SHRC.MAK SHRCINI.SCR SHRCLST.SCR SSMRES.RC README ═══ Non-Linear Video ═══ Description: ULTIEYES demonstrates the use of non-linear video by displaying segments from a movie clip in response to input from the mouse. Task: A sample that manipulates video and mouse input Concept/Feature: Use of non-linear video Sample Location: Inside the Multimedia Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\mm\ultieyes where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ ULTIEYES - Source Files ═══ Required files: ULTIEYES.AVI ULTIEYES.C Main sample driver file ULTIEYES.EXE ULTIEYES.EYE ULTIEYES.H ULTIEYES.ICO ULTIEYES.MAK ULTIEYES.RC Resource definition file README ═══ Ultimotion I/O Procedure ═══ Description: The Ultimotion I/O procedure provides a detailed example of what you need to consider when writing I/O procedures for software motion video file formats. ULTIMOIO includes CODEC support and illustrates how to integrate common and file-format-specific code to support multiple I/O procedures. Task: Provide a comprehensive example on IO Procedures needed to display motion video. Concept/Feature: IO Procedures for motion video files Sample Location: Inside the Multimedia Sample Programs inside the main VisualAge C++ folder on your OS/2 desktop. Note: This sample is not provided in project form. Source File Location: X:\ibmcpp\samples\toolkit\mm\ultimoio where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From your OS/2 desktop: Double-click on the sample's icon. From an OS/2 command prompt: To start a non-WorkPlace Shell sample program from an OS/2 command prompt, type the name of the executable file and press Enter. If you have edited source code of a sample program and want to recompile,link, and run the files, use the NMAKE tool. Your output is the executable file. For information about the NMAKE utility, see the VisualAge C++ User's Guide. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 Warp  IBM or compatible 386 and up. ═══ ULTIMOIO - Source Files ═══ Required files: CHECKMEM.C Validate passed address function CHECKMEM.H FF.H HHPHEAP.C Heap management functions HHPHEAP.H IOCLOSE.C IO Proc routine for MMIOM_CLOSE IOCODEC.C IO Proc coder/decoder interfaces IODLL.C DLL Init/Term routines IOEDIT.C Clipboard editing support IOENTRY.C Main() entry point IOFORMAT.C format access module IOHEADER.C file header access module IOI.H IOOPEN.C IO Proc routine for MMIOM_OPEN IOSEEK.C IO Proc routine for MMIOM_SEEK IOSET.C IO Proc routine for MMIOM_SET IOSRV.C IO Proc Service routines MMDSLOAD.H MMIOCRT.H ULCODEC.C IO Proc codec interfaces ULGDAT.C Global variables definition ULIDENT.C Support routine for MMIOM_IDENTIFYFILE ULIONLS.H ULIOT.DLL ULIOT.MAK ULOPEN.C Ultimotion IO Proc for MMIOM_OPEN ULREAD.C Ultimotion IO Proc for MMIOM_READ ULSRV.C Various service routines README ═══ 2D-Bitmap ═══ Description: The 2D Bitmap sample demonstrates the IGBitmap class. The sample manipulates a bitmap by rotating it at various angles, reflecting it vertically or horizontally, and transposing the x and y axis. In addition, it illustrates different clipping features. Concept/Feature: Sample program for demonstrating drawing a bitmap with 2d graphics. Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder on your OS/2 desktop). Source File Location: X:\ibmcpp\samples\ioc\2d-bmap where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: 2D-BMAP If the sample fails to execute or abnormally ends, you can get more information about the failure by turning on the ICLUI trace. This is done by setting the environment variable ICLUI_TRACE as follows: set ICLUI_TRACE=ON set ICLUI_TRACETO=STDERR The second export controls where the trace information is reported. With tracing turned on, ICLUI exception text will be written to a standard error file. For example: hello1 >hello1.out 2>&1 The exception data is now in the file hello1.out. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the User Interface Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - 2D-BMAP ═══ Required files: readme description and instructions for the sample build.cmd command line to build project from command line 2d-bmap.exe sample's executable 2d-bmap.cpp source code for main() 2d-bmap.hpp class header file 2d-bmap.h symbolic definition file 2d-bmap.rc OS/2 PM resource file 2d-bmap.ico OS/2 icon file eagle.bmp OS/2 bitmap file makefile make file to build the sample program on OS/2 ═══ BIGCPP ═══ Description: The BIGCPP Sample illustrates two concepts. The first is the ability to combine two graphic objects into a single aggregate graphic object. The second demonstrates using your native operating system graphic functions to create a library graphic object. This new library graphic object can now use any of the library graphic functions such as transformation and hit testing functions. Classes used include IGraphicContext, IGList, IGraphicBundle, ITransformMatrix, IPointArray, IDrawingCanvas, IGraphic, IGPolyline, IResizeHandler, and your native operating system graphic functions. Concept/Feature: Sample program for demonstrating BIGCPP Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder on your OS/2 desktop). Source File Location: X:\ibmcpp\samples\ioc\bigcpp where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: BIGCPP If the sample fails to execute or abnormally ends, you can get more information about the failure by turning on the ICLUI trace. This is done by setting the environment variable ICLUI_TRACE as follows: set ICLUI_TRACE=ON set ICLUI_TRACETO=STDERR The second export controls where the trace information is reported. With tracing turned on, ICLUI exception text will be written to a standard error file. For example: hello1 >hello1.out 2>&1 The exception data is now in the file hello1.out. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the User Interface Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - BIGCPP ═══ Required files: readme description and instructions for sample build.cmd command file to build project from OS/2 command line bigcpp.exe sample's executable bigcpp.hpp class definition for BIGCPP bigcpp.cpp source code for BIGCPP makefile make file to build the sample program on OS/2 ═══ 2D-Draw ═══ Description: The 2D Graphics Sample is a graphics drawing tool. The tool draws lines, free hand, rectangles, ellipses, polylines, polygons, arcs, pies, chords, text, and bitmaps. In addition, it demonstrates various background colors, pen colors, fill colors, pen patterns, fill patterns, pen types, pen widths, fonts, and drawing operations such as fill and frame. Classes used include IGLine, IGRectangle, IGEllipse, IGPolyline, IGPolygon, IGArc, IGPie, IGChord, IGString, IGBitmap, IGraphicBundle, IGraphicGContext, IColor, IGList, IFontDialog, IFileDialog, IResizeHandler, IFlyOverHelpHandler, and IToolBar. Concept/Feature: Sample program for demonstrating drawing graphic objects in the IBM User Interface Class Library. Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder on your OS/2 desktop). Source File Location: X:\ibmcpp\samples\ioc\2d-draw where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: 2D-DRAW If the sample fails to execute or abnormally ends, you can get more information about the failure by turning on the ICLUI trace. This is done by setting the environment variable ICLUI_TRACE as follows: set ICLUI_TRACE=ON set ICLUI_TRACETO=STDERR The second export controls where the trace information is reported. With tracing turned on, ICLUI exception text will be written to a standard error file. For example: hello1 >hello1.out 2>&1 The exception data is now in the file hello1.out. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the User Interface Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - 2D-DRAW ═══ Required files: readme Instructions for using this sample program 2d-draw.exe sample's executable build.cmd command file to build in project form from command line 2d-draw.cpp Source code for main() and drawing logic 2d-menu.cpp Source code for drawing the menu items 2d-draw.hpp Class header file for main window and drawing area and related handlers. 2d-draw.h Symbolic definition file 2d-draw.rc OS/2 PM resource file 2d-draw.ico icon file makefile make file to build the sample program on OS/2 Bitmaps for tool bar buttons: 2d_arc.bmp arc 2d_bmp.bmp bitmap 2d_chd.bmp chord 2d_draw.bmp free hand 2d_elip.bmp ellipse 2d_line.bmp line 2d_norm.bmp selection 2d_pie.bmp pie 2d_plyg.bmp polygon 2d_plyl.bmp polyline 2d_rect.bmp rectangle 2d_text.bmp text eagle.bmp sample bitmap Pointers to show which object is being drawn: 2d_arc.ptr arc 2d_bmp.ptr bitmap 2d_chd.ptr chord 2d_draw.ptr free hand 2d_elip.ptr ellipse 2d_line.ptr line 2d_pie.ptr pie 2d_plyg.ptr polygon 2d_plyl.ptr polyline 2d_rect.ptr rectangle 2d_text.ptr text ═══ Container ═══ Description: The Container Sample illustrates a container and container objects. The container has parent container objects and child container objects. The initial view is treeIconView but can be changed to any view including textView, flowedTextView, nameView, detailsView, treeTextView, treeNameView, and iconView. The sample can also select or deselect all container objects. In addition, a filter is provided for viewing only a select parent container object. Classes used include IContainerControl, IContainerObject, IContainerColumn, and IContainerControl::FilterFn. Concept/Feature:  Creates and display a container  Menu bar items to change views  Menu bar item to select all or deselect all (in non-tree views)  Filter options to display only selected items Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder on your OS/2 desktop). Source File Location: X:\ibmcpp\samples\ioc\cnr where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: CNR If the sample fails to execute or abnormally ends, you can get more information about the failure by turning on the ICLUI trace. This is done by setting the environment variable ICLUI_TRACE as follows: set ICLUI_TRACE=ON set ICLUI_TRACETO=STDERR The second export controls where the trace information is reported. With tracing turned on, ICLUI exception text will be written to a standard error file. For example: hello1 >hello1.out 2>&1 The exception data is now in the file hello1.out. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the User Interface Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - CNR ═══ Required files: readme description and instructions for sample build.cmd command file to build in project form from command line cnr.exe sample's executable acnr.cpp C++ Source code for CNR.EXE acnr.hpp C++ Header file for CNR.EXE acnr.h C Header file for CNR.EXE acnr.rc Resource file for CNR.EXE makefile Make file to create CNR.EXE.  mesa.ico  brazil.ico  os2logo.ico  cpp2.ico  wklogo.ico ICON files for Container objects ═══ DDE - Dynamic Data Exchange Server ═══ Description: The DDE Sample contains two applications. They are the DDE Client and DDE Server. These two applications start DDE conversations with each other and can perform data requests to the other application. In addition they can be hotlinked together for automatic data requests. Classes used include IDDEClientConversation, IDDEClientAcknowledge, IDDEClientEndEvent, IDDEClientHotLinkEvent, IDDEClientHotLinkSet, IDDEBeginEvent, IDDEEndEvent, IDDETopicServer, IDDERequestDataEvent, IDDEServerHotLinkEvent, and IDDEAcknowledgeEvent. Concept/Feature: Sample program for demonstrating different styles of message boxes in the IBM User Interface Class Library. Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder on your OS/2 desktop). Source File Location: X:\ibmcpp\samples\ioc\dde X:\ibmcpp\samples\ioc\dde\ddeclnt where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: SERVER or CLIENT If the sample fails to execute or abnormally ends, you can get more information about the failure by turning on the ICLUI trace. This is done by setting the environment variable ICLUI_TRACE as follows: set ICLUI_TRACE=ON set ICLUI_TRACETO=STDERR The second export controls where the trace information is reported. With tracing turned on, ICLUI exception text will be written to a standard error file. For example: hello1 >hello1.out 2>&1 The exception data is now in the file hello1.out. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the User Interface Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - DDE ═══ Required files: \ibmcpp\samples\ioc\dde directory: readme Instructions for using this sample program build.cmd command file to build in project form from command line server.exe server executable aserver.cpp Source code for main() and AServerWindow class aserver.hpp Class header file for AServerWindow class aserver.h Symbolic definition file aserver.rc OS/2 PM resource file aserver.ico icon file makefile make file to build the sample program on OS/2 ddeclnt1 \ibmcpp\samples\ioc\dde\ddeclnt directory: readme description and instructions for client portion of sample makefile make file to build the sample program on OS/2 client.exe client executable aclient.cpp Source code for main() and AClientWindow class aclient.hpp Class header file for AClientWindow class aclient.h Symbolic definition file aclient.rc OS/2 PM resource file aclient.ico icon file ═══ Drag1 ═══ Description: The Direct Manipulation Sample 1 demonstrates dragging and dropping text from entryfields. By typing data into one entryfield, you can drag the text and drop into the other entryfield. Classes used include IDMEFItem, and IDMHandler. Concept/Feature: Sample program for demonstrating DRAG1 Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder on your OS/2 desktop). Source File Location: X:\ibmcpp\samples\ioc\drag1 where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: DRAG1 If the sample fails to execute or abnormally ends, you can get more information about the failure by turning on the ICLUI trace. This is done by setting the environment variable ICLUI_TRACE as follows: set ICLUI_TRACE=ON set ICLUI_TRACETO=STDERR The second export controls where the trace information is reported. With tracing turned on, ICLUI exception text will be written to a standard error file. For example: hello1 >hello1.out 2>&1 The exception data is now in the file hello1.out. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: DRAG1 Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the User Interface Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - DRAG1 ═══ Required files: readme Instructions for using this sample program build.cmd command file to build in project form from command line drag1.exe sample's executable dmsamp1.cpp Source code for DRAG1 dmsamp1.h class definitions dmsamp1.ico icon file dmsamp1.rc resource file makefile Make file to build the sample program on OS/2 ═══ Drag2 ═══ Description: The Direct Manipulation Sample 2 demonstrates dragging and dropping bitmap objects. By opening a system folder or group, you can drag a bitmap file representation onto the sample. The sample will then determine the file name and display the bitmap in the client area. Classes used are IDMItem, IDMItemProviderFor, IBitmapControl, IGBitmap, IGraphicContext, IGraphicBundle, and IGRectangle. Concept/Feature: Sample program for demonstrating DRAG2 Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder on your OS/2 desktop). Source File Location: X:\ibmcpp\samples\ioc\drag2 where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: DRAG2 If the sample fails to execute or abnormally ends, you can get more information about the failure by turning on the ICLUI trace. This is done by setting the environment variable ICLUI_TRACE as follows: set ICLUI_TRACE=ON set ICLUI_TRACETO=STDERR The second export controls where the trace information is reported. With tracing turned on, ICLUI exception text will be written to a standard error file. For example: hello1 >hello1.out 2>&1 The exception data is now in the file hello1.out. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the User Interface Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - DRAG2 ═══ Required files: readme Instructions for using this sample program build.cmd command file for building sample in project form from command line drag2.exe sample's executable dmsamp2.cpp Source code for DRAG2 dmsamp2.hpp Class definition for DRAG2 dmsamp2.h symbolic definitions dmsamp2.ico icon file dmsamp2.rc resource file makefile Make file to build the sample program on OS/2 ═══ Drag3 ═══ Description: The Direct Manipulation Sample 3 demonstrates dragging container objects from a source window to a target window. The application takes advantage of overriding the IContainerObject::objectCopy() function. Classed used included IDMHandler, IContainerControl, and IContainerObject. Concept/Feature: Sample program for demonstrating DRAG3 Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder on your OS/2 desktop). Source File Location: X:\ibmcpp\samples\ioc\drag3 where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: DRAG3 If the sample fails to execute or abnormally ends, you can get more information about the failure by turning on the ICLUI trace. This is done by setting the environment variable ICLUI_TRACE as follows: set ICLUI_TRACE=ON set ICLUI_TRACETO=STDERR The second export controls where the trace information is reported. With tracing turned on, ICLUI exception text will be written to a standard error file. For example: hello1 >hello1.out 2>&1 The exception data is now in the file hello1.out. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the User Interface Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - DRAG3 ═══ Required files: readme Instructions for using this sample program build.cmd command file to build in project form from command line drag3.exe sample's executable dmsamp3.cpp Source code for DRAG3 dmsamp3.hpp Class definition for DRAG3 dmsamp3.h Symbolic definition file dmsamp3.rc OS/2 resource file apple.ico OS/2 icon resource bolt.ico OS/2 icon resource car.ico OS/2 icon resource dmsamp3.ico OS/2 icon resource space.ico OS/2 icon resource starflee.ico OS/2 icon resource win100.ico OS/2 icon resource makefile Make file to build the sample program on OS/2 ═══ Drag4 ═══ Description: The Direct Manipulation Sample 4 demonstrates dragging container objects across applications running in separate processes (ie. separate executables). By starting the sample application twice, you can drag and drop objects to these separately running applications. Classed used include IDMCnrItem, IDMSourceOperation, IDMTargetOperation, IDMTargetDropEvent, IDMItemProviderFor, IDMHandler, IContainerControl, and IContainerObject. Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder on your OS/2 desktop). Source File Location: X:\ibmcpp\samples\ioc\drag4 where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: DRAG4 If the sample fails to execute or abnormally ends, you can get more information about the failure by turning on the ICLUI trace. This is done by setting the environment variable ICLUI_TRACE as follows: set ICLUI_TRACE=ON set ICLUI_TRACETO=STDERR The second export controls where the trace information is reported. With tracing turned on, ICLUI exception text will be written to a standard error file. For example: hello1 >hello1.out 2>&1 The exception data is now in the file hello1.out. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the UserInterface Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - DRAG4 ═══ Required files: readme description and instructions for sample build.cmd command file to build in project form from the command line drag4.exe sample's executable dmsamp4.cpp C++ source code dmsamp4.hpp class definitions dmsamp4.h dsamp4.rc resource file  apple.ico  bolt.ico  car.ico  dmsamp4.ico  space.ico  starflee.ico  win100.ico icon files ═══ Hello World ═══ These samples, which begin with hello1 and increase in complexity and function up to hello6, progressively demonstrate many of the capabilities of the User Interface Class Library.  Reference  Reference  Reference  Reference  Reference  Reference ═══ Hello World 1 ═══ Description: Hello1 is the typical hello world program that is intentionally trivial to show you the basics of what is needed to get started. This particular implementation uses the IFrameWindow, IStaticText, and IApplication classes to create a typical desktop window that contains the text "Hello World". You can interact with the program only by using frame window functions, for instance, minimize, maximize, and close. Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder on your OS/2 desktop). Source File Location: X:\ibmcpp\samples\ioc\hello1 where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: HELLO1 If the sample fails to execute or abnormally ends, you can get more information about the failure by turning on the ICLUI trace. This is done by setting the environment variable ICLUI_TRACE as follows: set ICLUI_TRACE=ON set ICLUI_TRACETO=STDERR The second export controls where the trace information is reported. With tracing turned on, ICLUI exception text will be written to a standard error file. For example: hello1 >hello1.out 2>&1 The exception data is now in the file hello1.out. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the User Interface Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - Hello1 ═══ Required files: readme description and instructions for sample build.cmd command file to build in project form from the command line hello1.exe sample's executable ahellow1.cpp source code makefile makefile to build sample program from OS/2 command line ═══ Hello World 2 ═══ Description: The second version of Hello World replaces the trivial implementation of hello1 with a more common programming approach. The frame window used in the main portion of the application is a subclass of IFrameWindow that has a static text control and a new status area at the bottom of the frame which is created using the IInfoArea class. The specification for this new frame window class is stored separately in a C++ file with an extension of .hpp. Also, text strings are stored outside the application in a .rc resource file. Visually, however, the hello1 and hello2 samples are identical except for the information area. Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder on your OS/2 desktop). Source File Location: X:\ibmcpp\samples\ioc\hello2 where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: HELLO2 If the sample fails to execute or abnormally ends, you can get more information about the failure by turning on the ICLUI trace. This is done by setting the environment variable ICLUI_TRACE as follows: set ICLUI_TRACE=ON set ICLUI_TRACETO=STDERR The second export controls where the trace information is reported. With tracing turned on, ICLUI exception text will be written to a standard error file. For example: hello1 >hello1.out 2>&1 The exception data is now in the file hello1.out. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the User Interface Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - Hello2 ═══ Required files: readme description and instructions for sample build.cmd command file for building in project form from the command line hello2.exe sample's executable ahellow2.cpp source code ahellow2.hpp class definitions ahellow2.rc resource file ahellow2.ico icon file ahellow2.h makefile makefile to build the sample program from OS/2 command line ═══ Hello3 ═══ Description: Internally, version 3 adds a menu bar and a command handler for handling the selection of the menu options. The menu bar is both defined in and loaded from the resource file. The information area in version 3 shows a short description of each highlighted menu selection and a separate status line showing the alignment of the Hello World static text which is set by the menu options. Externally, you will see the newly added status line and can manipulate the alignment of "Hello World" using the menu bar. Also, the menu bar item that reflects the current alignment will contain a check mark. Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder on your OS/2 desktop). Source File Location: X:\ibmcpp\samples\ioc\hello3 where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: HELLO3 If the sample fails to execute or abnormally ends, you can get more information about the failure by turning on the ICLUI trace. This is done by setting the environment variable ICLUI_TRACE as follows: set ICLUI_TRACE=ON set ICLUI_TRACETO=STDERR The second export controls where the trace information is reported. With tracing turned on, ICLUI exception text will be written to a standard error file. For example: hello1 >hello1.out 2>&1 The exception data is now in the file hello1.out. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the User Interface Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - Hello3 ═══ Required files: readme description and instructions for sample build.cmd command file to build in project form from the command line hello3.exe sample's executable ahellow3.cpp C++ source code ahellow3.hpp class definitions ahellow3.ico icon file ahellow3.rc resource file ahellow3.h makefile makefile to build sample program from OS/2 command line ═══ Hello4 ═══ Description: In version 4, you initially only see a slight change. The menu items for setting the alignment contain function key designations and there is a new menu item, Edit. Selecting the Edit menu item displays a new dialog window with an entryfield and push buttons that provide the ability to change the static text contents. The function key capability is provided by adding accelerator key definitions in the resource file. The edit dialog demonstrates how to use an IFrameWindow as a dialog window and how to use the ICanvas classes and IControls to create the dialog. A new command handler is used to process the push buttons. The sample also shows how to display a dialog modally. Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder on your OS/2 desktop). Source File Location: X:\ibmcpp\samples\ioc\hello4 where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: HELLO4 If the sample fails to execute or abnormally ends, you can get more information about the failure by turning on the ICLUI trace. This is done by setting the environment variable ICLUI_TRACE as follows: set ICLUI_TRACE=ON set ICLUI_TRACETO=STDERR The second export controls where the trace information is reported. With tracing turned on, ICLUI exception text will be written to a standard error file. For example: hello1 >hello1.out 2>&1 The exception data is now in the file hello1.out. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the User Interface Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - Hello4 ═══ Required files:  readme  build.cmd  hello4.exe  ahellow4.cpp  ahellow4.hpp  ahellow4.h  ahellow4.ico  ahellow4.rc  adialog4.cpp  adialog4.hpp  makefile ═══ Hello5 ═══ Description: Version 5 greatly increases the functionality of the sample by adding a listbox and graphics window to the client area of the main frame window. The listbox is used to display a "Hello World" in different languages. A select handler is used to update the static text with whatever "Hello World" string is selected from the listbox. The graphics window uses native graphics calls to display a view of the earth from space. The client area is layed-out using ISplitCanvas objects to allow the user to specify proportions for the sections. Hello5 also introduces the use of the IHelpWindow class for providing context-specific application help. The use of IPF formatted information source files and resource file help tables is also demonstrated. Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder on your OS/2 desktop). Source File Location: X:\ibmcpp\samples\ioc\hello5 where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: HELLO5 If the sample fails to execute or abnormally ends, you can get more information about the failure by turning on the ICLUI trace. This is done by setting the environment variable ICLUI_TRACE as follows: set ICLUI_TRACE=ON set ICLUI_TRACETO=STDERR The second export controls where the trace information is reported. With tracing turned on, ICLUI exception text will be written to a standard error file. For example: hello1 >hello1.out 2>&1 The exception data is now in the file hello1.out. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the User Interface Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - Hello5 ═══ Required files:  readme  build.cmd  hello5.exe  hello5_h  ahellow5.cpp  ahellow5.hpp  ahellow5.h  ahellow5.ico  ahellow5.rc  ahellow5.ipf  ahellow5.hlp  aearthw5.cpp  aearthw5.hpp  adialog5.cpp ;li.adialog5.hpp  makefile ═══ Hello World 6 ═══ Description: While this final version of the Hello World samples is much more complex than hello1, it contains a large amount of common application functionality and demonstrates many of the interactions and class usage required by a real user interface application. Hello6 adds all of the following: a subclass of IHandler for providing a new timer event; real time date and time fields on the main window; use of a font dialog; a new settings frame containing an INotebook object with two pages of canvases and controls; use of IProfile class for storing the settings; and pop-up menus for making the stars twinkle. Hello6 also replaces the entry field in the dialog window with a drop-down list combination box. Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder on your OS/2 desktop). Source File Location: X:\ibmcpp\samples\ioc\hello6 where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: HELLO6 If the sample fails to execute or abnormally ends, you can get more information about the failure by turning on the ICLUI trace. This is done by setting the environment variable ICLUI_TRACE as follows: set ICLUI_TRACE=ON set ICLUI_TRACETO=STDERR The second export controls where the trace information is reported. With tracing turned on, ICLUI exception text will be written to a standard error file. For example: hello1 >hello1.out 2>&1 The exception data is now in the file hello1.out. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the User Interface Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - Hello6 ═══ Required files:  readme  build.cmd  hello6.exe  ahellow6.cpp  ahellow6.hpp  ahellow6.h  ahellow6.rc  ahellow6.ico  ahellow6.ipf  ahellow6.hlp  hello6_h  aearthw6.cpp  aearthw6.hpp  adialog6.cpp  adialog6.hpp  anotebw6.cpp  anotebw6.hpp  atimehdr.cpp  atimehdr.hpp  makefile ═══ Project - IOC Samples Project ═══ WARNING DO NOT DELETE THIS PROJECT. THIS IS A TEMPLATE PROJECT ON WHICH YOU CANNOT PERFORM ACTIONS LIKE BUILD OR RUN. BE AWARE THAT CHANGES TO THIS PROJECT AFFECT ALL OF THE USER INTERFACE CLASS SAMPLE PROJECTS. Description: The purpose of IOC Samples Project is to define the common project settings and tools setup for all sample projects for the User Interface Classes. All User Interface Class sample projects inherit from this project. IOC Samples Project in turn inherits from the VisualAge C++ Project (X:\ibmcpp\mainprj\vacpp where X is the drive on which you installed the product). If, for a certain User Interface Class project, you do not want to inherit build settings from IOC Samples Project, then go to the Tools setup of your project and deselect the option Use build settings from parent project from the Build action. (This is on the Project page of the notebook for the Build normal and Rebuild all actions.) Then you can define your options locally for your project. For example, you could define whether or not to include browser information or which level of browser information to include. Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder). Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the User Interface Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Lancelot ═══ Description: Lancelot is a complex sample intended to represent a typical customer application. Lancelot is a tool for tracking employees, employee time cards, and business projects. The main window is the launching point for employee queries. Actions appear on the menu bar, toolbar, and container object popup menus. After filling in query criteria in the Query Personnel notebook, a container with employees matching your search criteria appears. Actions also appear on the menu bar, toolbar, and employee object popup menus. Specific employee information appears when opening the employee. Lancelot uses many User Interface classes. Just a few of these include IFrameWindow, IMenuBar, Infoarea, IHelp, IFont, IResourceLibrary, IContainerControl, IContainerObject, IPopupMenu, INotebook, IMultiCellCanvas, ISetCanvas, IProfile, IEntryField, IPushButton, IGraphicPushButton, INumericSpinButton, IComboBox, ICheckBox, IMenuBar, ITitle, IString, ICommandHandler, ICnrHandler, ICnrMenuHandler, IToolBar, IToolBarButton, IFlyOverHelp, IFlyOverHelpHandler, IGPie, IGRectangle, IGString, and Direct Manipulation (i.e. Drag/Drop). Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder on your OS/2 desktop). Source File Location: X:\ibmcpp\samples\ioc\lancelot where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: LANCELOT If the sample fails to execute or abnormally ends, you can get more information about the failure by turning on the ICLUI trace. This is done by setting the environment variable ICLUI_TRACE as follows: set ICLUI_TRACE=ON set ICLUI_TRACETO=STDERR The second export controls where the trace information is reported. With tracing turned on, ICLUI exception text will be written to a standard error file. For example: hello1 >hello1.out 2>&1 The exception data is now in the file hello1.out. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the User Interface Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - Lancelot ═══ Required files:  README  BUILD CMD  LANCELOT EXE  LACCT CPP  LACCT HPP  LANCELOT CPP  LANCELOT H  LBADGE CPP  LBADGE HPP  LCNROBJ CPP  LCNROBJ HPP  LDBASE CPP  LDBASE HPP  LDBQRY CPP  LDBQRY HPP  LGENERIC CPP  LGENERIC HPP  LGENL CPP  LGENL HPP  LGOODIES CPP  LGOODIES HPP  LINFONB CPP  LINFONB HPP  LINFOWIN CPP  LINFOWIN HPP  LMAINWIN CPP  LMAINWIN HPP  LPERSWDM CPP  LPERSWDM HPP  LPERSWIN CPP  LPERSWIN HPP  LPROJECT CPP  LPROJECT HPP  LSKILL CPP  LSKILL HPP  LSTATUS CPP  LSTATUS HPP  LTIMEC CPP  LTIMEC HPP  LTIMEPIE CPP  LTIMEPIE HPP  LENTRY HPP  LITEMS HPP  LPAGECTL CPP  LTASK CPP  LANCELOT RC  LANC_H  LANCELOT IPF  LANCELOT HLP  LANCHELP IPF  LANCHELP HLP  ARRANGE BMP  BOOT BMP  CREATE BMP  DESELALL BMP  SELALL BMP  SORTASC BMP  SORTDESC BMP  TRANSFER BMP  OPENDETA BMP  OPENICON BMP  ADD ICO  CHANGE ICO  HELP ICO  LANCELOT ICO  NEXT ICO  PERSON1 ICO  PERSON2 ICO  PERSON3 ICO  PERSON4 ICO  PERSONU ICO  PREVIOUS ICO  QUERY ICO  QUERY2 ICO  REMOVE ICO  SAVE ICO  UNDO ICO  MAKEFILE ═══ Listbox ═══ Description: The List Box Sample demonstrates adding and retrieving data from a listbox. You can add items, retrieve select items, or retrieve all the items to the second listbox. In addition, you can select or deselect all listbox items and test for exception handling. Classes used include IListBox and IException. Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder on your OS/2 desktop). Source File Location: X:\ibmcpp\samples\ioc\listbox where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: LISTBOX If the sample fails to execute or abnormally ends, you can get more information about the failure by turning on the ICLUI trace. This is done by setting the environment variable ICLUI_TRACE as follows: set ICLUI_TRACE=ON set ICLUI_TRACETO=STDERR The second export controls where the trace information is reported. With tracing turned on, ICLUI exception text will be written to a standard error file. For example: hello1 >hello1.out 2>&1 The exception data is now in the file hello1.out. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the User Interface Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - Listbox ═══ Required files: readme description and instructions for sample build.cmd command file to build in project form from command line listbox.exe sample's executable file alistbox.cpp C++ source code alistbox.hpp class definition file alistbox.ico icon file alistbox.rc resource file alistbox.h makefile makefile to build sample program from OS/2 command line ═══ Magnify ═══ Description: The Magnify Sample illustrates creating IGBitmaps given a deskttop rectangle. You specify the rectangle centered around the current mouse pointer. Based on a timer, the rectangle around the mouse pointer is passed to an IGBitmap constructor. A bitmap is then displayed in the client area. When the client area of the sample application is larger than the capturing rectangle, it has the affect of magnifying the desktop image. Classes used include IGBitmap, IGraphicContext, IGraphicBundle, IBitmapControl, INumericSpinButton, and ITimer. Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder on your OS/2 desktop). Source File Location: X:\ibmcpp\samples\ioc\magnify where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: MAGNIFY If the sample fails to execute or abnormally ends, you can get more information about the failure by turning on the ICLUI trace. This is done by setting the environment variable ICLUI_TRACE as follows: set ICLUI_TRACE=ON set ICLUI_TRACETO=STDERR The second export controls where the trace information is reported. With tracing turned on, ICLUI exception text will be written to a standard error file. For example: hello1 >hello1.out 2>&1 The exception data is now in the file hello1.out. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the User Interface Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - Magnify ═══ Required files: readme description and instructions for sample build.cmd command file to build in project in form from command line magnify.exe sample's executable file magnify.cpp C++ source code magnify.hpp class definitions magnify.ico icon file magnify.rc resource file magnify.h makefile makefile to build sample program from OS/2 command line ═══ Multi-cell Canvas ═══ Description: The Multi Cell Canvas Sample illustrates placement of UI objects on the IMultiCellCanvas. In addition, pressing the READ button demonstrates which check boxes and radio buttons are selected. Classed used include IMultiCellCanvas, ICheckBox, IRadioButton, and IPushButton. Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder on your OS/2 desktop). Source File Location: X:\ibmcpp\samples\ioc\mcelcv where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: MCELCV If the sample fails to execute or abnormally ends, you can get more information about the failure by turning on the ICLUI trace. This is done by setting the environment variable ICLUI_TRACE as follows: set ICLUI_TRACE=ON set ICLUI_TRACETO=STDERR The second export controls where the trace information is reported. With tracing turned on, ICLUI exception text will be written to a standard error file. For example: hello1 >hello1.out 2>&1 The exception data is now in the file hello1.out. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the User Interface Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - MCELCV ═══ Required files: readme description and instructions for sample build.cmd command file to build in project form from command line mcelcv.exe sample's executable file amcelcv.cpp C++ source code amcelcv.hpp class definitions amcelcv.ico icon file amcelcv.rc resource file amcelcv.h makefile makefile to build sample program from OS/2 command line ═══ Multi-line Edit ═══ Description: The Multi-Line Entry Field Sample is a simple editor. This editor opens existing files via the file dialog, saves data to a file via the file dialog, and changes fonts via the font dialog. It also performs cut, copy, and paste functions to the clipboard. Classes used include IMultiLineEdit, IFileDialog, and IFontDialog. Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder on your OS/2 desktop). Source File Location: X:\ibmcpp\samples\ioc\mle where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: MLE If the sample fails to execute or abnormally ends, you can get more information about the failure by turning on the ICLUI trace. This is done by setting the environment variable ICLUI_TRACE as follows: set ICLUI_TRACE=ON set ICLUI_TRACETO=STDERR The second export controls where the trace information is reported. With tracing turned on, ICLUI exception text will be written to a standard error file. For example: hello1 >hello1.out 2>&1 The exception data is now in the file hello1.out. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the User Interface Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - MLE ═══ Required files:  readme  build.cmd  mle.exe  amle.cpp  amle.hpp  amle.h  amle.ico  amle.rc  auwmhdr.cpp  auwmhdr.hpp  makefile ═══ Multi-media Remote ═══ Description: The MMREMOTE sample illustrates many of the multimedia functions. It takes the form of the universal remote control, which controls the CD player, video player, midi player, and wave player devices. The sample also illustrates the use of multicell canvasses, flyover help, and animated pushbuttons. Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder on your OS/2 desktop). Source File Location: X:\ibmcpp\samples\ioc\mmremote where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: MMREMOTE If the sample fails to execute or abnormally ends, you can get more information about the failure by turning on the ICLUI trace. This is done by setting the environment variable ICLUI_TRACE as follows: set ICLUI_TRACE=ON set ICLUI_TRACETO=STDERR The second export controls where the trace information is reported. With tracing turned on, ICLUI exception text will be written to a standard error file. For example: hello1 >hello1.out 2>&1 The exception data is now in the file hello1.out. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the User Interface Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - MMREMOTE ═══ Required files:  readme  build.cmd  mmremote.exe  mmremote.cpp  mmremote.hpp  mmremote.h  mmremote.avi  mmremote.mid  mmremote.wav  mmremote.rc  mmremote.ico  cd.bmp  midi.bmp  power.bmp  video.bmp  wave.bmp  makefile ═══ Multi-media Stereo ═══ Description: The MMSTEREO sample also uses many of the multimedia functions. It also illustrates the visual control panels provided as part of the multimedia classes. Visually it resembles a stereo rack system with amplifier, mixer, and video and CD players. Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder on your OS/2 desktop). Source File Location: X:\ibmcpp\samples\ioc\mmstereo where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: MMSTEREO If the sample fails to execute or abnormally ends, you can get more information about the failure by turning on the ICLUI trace. This is done by setting the environment variable ICLUI_TRACE as follows: set ICLUI_TRACE=ON set ICLUI_TRACETO=STDERR The second export controls where the trace information is reported. With tracing turned on, ICLUI exception text will be written to a standard error file. For example: hello1 >hello1.out 2>&1 The exception data is now in the file hello1.out. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the User Interface Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - MMSTEREO ═══ Required files:  README  BUILD CMD  MAKEFILE  MLTAMP CPP  MLTAMP H  MLTAMP HPP  MLTCD CPP  MLTCD H  MLTCD HPP  MLTVID CPP  MLTVID H  MLTVID HPP  MLTWAVE CPP  MLTWAVE H  MLTWAVE HPP  MMSTEREO AVI  MMSTEREO CPP  MMSTEREO EXE  MMSTEREO H  MMSTEREO HPP  MMSTEREO ICO  MMSTEREO MID  MMSTEREO RC  MMSTEREO WAV ═══ Message Box ═══ Description: The msgbox sample shows seven types of message boxes and the responses that result from their use. The results are displayed in a read-only IMultiLineEdit control. As you interact with the message boxes, the MLE is updated with text indicating your selection. After viewing the last message box, you can scroll the MLE or resize it to see how the word wrap style causes the automatic reflow of text. Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder on your OS/2 desktop). Source File Location: X:\ibmcpp\samples\ioc\msgbox where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: MSGBOX If the sample fails to execute or abnormally ends, you can get more information about the failure by turning on the ICLUI trace. This is done by setting the environment variable ICLUI_TRACE as follows: set ICLUI_TRACE=ON set ICLUI_TRACETO=STDERR The second export controls where the trace information is reported. With tracing turned on, ICLUI exception text will be written to a standard error file. For example: hello1 >hello1.out 2>&1 The exception data is now in the file hello1.out. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the User Interface Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - MSGBOX ═══ Required files:  readme  build.cmd  msgbox.exe  msgbox.cpp  msgbox.hpp  msgbox.h  msgbox.ipf  msgbox.hlp  msgbox.rc  msgbox.ico  msgbox_h  makefile ═══ Notebook ═══ Description: The notebook sample demonstrates the use of INotebook class by placing four bitmap controls on separate notebook pages. The notebook page tabs show a miniture version of each bitmap while each page shows the full size image. Because the bitmaps are placed in IViewport objects, you can scroll both horizontically and vertically whenever the bitmap does not fit. Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder on your OS/2 desktop). Source File Location: X:\ibmcpp\samples\ioc\notebook where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: NOTEBOOK If the sample fails to execute or abnormally ends, you can get more information about the failure by turning on the ICLUI trace. This is done by setting the environment variable ICLUI_TRACE as follows: set ICLUI_TRACE=ON set ICLUI_TRACETO=STDERR The second export controls where the trace information is reported. With tracing turned on, ICLUI exception text will be written to a standard error file. For example: hello1 >hello1.out 2>&1 The exception data is now in the file hello1.out. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the User Interface Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - NOTEBOOK ═══ Required files:  readme  build.cmd  notebook.exe  notebook.cpp  notebook.hpp  notebook.h  notebook.rc  notebook.ico  cheetah.bmp  tajmahal.bmp  wxmap.bmp  monument.bmp  makefile ═══ Notify ═══ Description: The Notify sample demonstrates notifications. An entryfield is displayed that will only accept characters between 'a' and 'z'. If data is entered that does not match this criteria, a message warning is displayed. Classes used include IObserver, INotificationEvent, and IEntryField. Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder on your OS/2 desktop). Source File Location: X:\ibmcpp\samples\ioc\notify where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: NOTIFY If the sample fails to execute or abnormally ends, you can get more information about the failure by turning on the ICLUI trace. This is done by setting the environment variable ICLUI_TRACE as follows: set ICLUI_TRACE=ON set ICLUI_TRACETO=STDERR The second export controls where the trace information is reported. With tracing turned on, ICLUI exception text will be written to a standard error file. For example: hello1 >hello1.out 2>&1 The exception data is now in the file hello1.out. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the User Interface Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - NOTIFY ═══ Required files: readme description and instructions for sample build.cmd command file for building in project form from the command line notify.exe sample's executable notify.cpp C++ source code notify.hpp class definitions notify.rc resource file notify.ico icon file makefile makefile to build sample program from OS/2 command line notify.h ═══ Set Canvas ═══ Description: The Set Canvas Sample demonstrates alignment of UI objects on vertical and horizontal set canvases. In addition, a horizontal split canvas, tab movement between different groups, and processing select events on the radio buttons. Classed used include ISetCanvas, ISplitCanvas, IRadioButton, and ISelectHandler. Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder on your OS/2 desktop). Source File Location: X:\ibmcpp\samples\ioc\setcv where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: SETCV If the sample fails to execute or abnormally ends, you can get more information about the failure by turning on the ICLUI trace. This is done by setting the environment variable ICLUI_TRACE as follows: set ICLUI_TRACE=ON set ICLUI_TRACETO=STDERR The second export controls where the trace information is reported. With tracing turned on, ICLUI exception text will be written to a standard error file. For example: hello1 >hello1.out 2>&1 The exception data is now in the file hello1.out. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the User Interface Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - SETCV ═══ Required files: readme description and instructions for sample build.cmd command file for building in project form from the command file setcv.exe sample's executable asetcv.cpp C++ source code asetcv.hpp class definitions asetcv.rc resource file asetcv.ico icon file asetcv.h makefile makefile to build sample program from OS/2 command line ═══ Split Canvas ═══ Description: The Split Canvas Sample demonstrates vertical and horizontal split canvases. These split canvas can be sized by the user to see more or less of an area. Classed used include ISplitCanvas and IStaticText. Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder on your OS/2 desktop). Source File Location: X:\ibmcpp\samples\ioc\splitcv where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: SPLITCV If the sample fails to execute or abnormally ends, you can get more information about the failure by turning on the ICLUI trace. This is done by setting the environment variable ICLUI_TRACE as follows: set ICLUI_TRACE=ON set ICLUI_TRACETO=STDERR The second export controls where the trace information is reported. With tracing turned on, ICLUI exception text will be written to a standard error file. For example: hello1 >hello1.out 2>&1 The exception data is now in the file hello1.out. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the User Interface Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - SPLITCV ═══ Required files: readme description and instructions for sample build.cmd command file for building in project form from the command line splitcv.exe sample's executable asplitcv.cpp C++ source code asplitcv.hpp class definitions asplitcv.ico icon file asplitcv.rc resource file asplitcv.h makefile makefile to build sample program from OS/2 command line ═══ Toolbar1 ═══ Description: The Tool Bar Sample 1 demonstrates the toolbar, toolbar buttons, and flyover text within a simple editor. The tool bar buttons appear as bitmaps, bitmaps and text, or just text. The toolbar itself can be positioned on the top, bottom, left, right, or as a free floating window. Classes used include IToolBar, IToolBarButton, IFlyText, IFlyOverHelpHandler, and IMultiLineEdit. Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder on your OS/2 desktop). Source File Location: X:\ibmcpp\samples\ioc\tbar1 where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: TBAR1 If the sample fails to execute or abnormally ends, you can get more information about the failure by turning on the ICLUI trace. This is done by setting the environment variable ICLUI_TRACE as follows: set ICLUI_TRACE=ON set ICLUI_TRACETO=STDERR The second export controls where the trace information is reported. With tracing turned on, ICLUI exception text will be written to a standard error file. For example: hello1 >hello1.out 2>&1 The exception data is now in the file hello1.out. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the User Interface Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - TBAR1 ═══ Required files:  readme  build.cmd  tbar1.exe  tbar1.cpp  tbar1.hpp  tbar1.h  tbar1.rc  tbar1.ico  toolbar.not  makefile ═══ Toolbar2 ═══ Description: The Tool Bar Sample 2 demonstrates multiple toolbars and direct manipulation (ie. drag/drop) of toolbars and toolbar buttons within a simple editor. The File toolbar, Cut/Copy/Paste Edit toolbar, and the Font toolbar locations and attributes can be modified in the Toolbar notebook under the Options menu item. Toolbar buttons appear as bitmaps, bitmaps and text, or just text. In addition, a toolbar can be positioned on top, bottom, left, right, free floating, or hidden. Toolbars can be dragged to new locations within the application or dragged outside the application to create a free floating toolbar. Toolbar buttons can also be dragged to reorder the buttons in a toolbar, move the button to a different toolbar, or delete the button from the toolbar. The File and Edit menu items can also be dragged to a toolbar and a representative toolbar button is created. Classed used include IToolBar, IToolBarButton, IFlyText, IFlyOverHelpHandler, and IMultiLineEdit. Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder on your OS/2 desktop). Source File Location: X:\ibmcpp\samples\ioc\tbar2 where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: TBAR2 If the sample fails to execute or abnormally ends, you can get more information about the failure by turning on the ICLUI trace. This is done by setting the environment variable ICLUI_TRACE as follows: set ICLUI_TRACE=ON set ICLUI_TRACETO=STDERR The second export controls where the trace information is reported. With tracing turned on, ICLUI exception text will be written to a standard error file. For example: hello1 >hello1.out 2>&1 The exception data is now in the file hello1.out. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the User Interface Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - TBAR2 ═══ Required files:  readme  build.cmd  tbar2.exe  tbar2.cpp  tbar2.hpp  tbar2.h  tbar2.rc  tbar2.ico  toolbar2.not  makefile ═══ Version ═══ Description: The Version Sample simply displays the IBM Open Class User Interface Library version. You can determine the library version via IC_MAJOR_VERSION and IC_MINOR_VERSION. Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder on your OS/2 desktop). Source File Location: X:\ibmcpp\samples\ioc\version where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: VERSION If the sample fails to execute or abnormally ends, you can get more information about the failure by turning on the ICLUI trace. This is done by setting the environment variable ICLUI_TRACE as follows: set ICLUI_TRACE=ON set ICLUI_TRACETO=STDERR The second export controls where the trace information is reported. With tracing turned on, ICLUI exception text will be written to a standard error file. For example: hello1 >hello1.out 2>&1 The exception data is now in the file hello1.out. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the User Interface Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - VERSION ═══ Required files: readme description and instructions for sample build.cmd command file for building in project form from the command line version.exe sample's executable version.cpp C++ source code makefile makefile to build sample program from OS/2 command line ═══ Viewport ═══ Description: The View Port Sample illustrates the viewport's ability to scroll the client window that is not completely visible due to its size. This viewport scrolls a bitmap that is too large for the client area. Classes used include IViewPort and IBitmapControl. Concept/Feature: Project Location: Inside the IOC Samples folder (inside the VisualAge C++ Samples folder on your OS/2 desktop). Source File Location: X:\ibmcpp\samples\ioc\vport where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: VPORT If the sample fails to execute or abnormally ends, you can get more information about the failure by turning on the ICLUI trace. This is done by setting the environment variable ICLUI_TRACE as follows: set ICLUI_TRACE=ON set ICLUI_TRACETO=STDERR The second export controls where the trace information is reported. With tracing turned on, ICLUI exception text will be written to a standard error file. For example: hello1 >hello1.out 2>&1 The exception data is now in the file hello1.out. How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. From the Project pulldown, select Build  Rebuild all. To run the sample project, see How to run the sample project above. From the command line: A command file is provided to allow rebuilding of the WorkFrame projects from the command line. Simply type: BUILD Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  IBM or compatible 386 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the User Interface Classes, see the VisualAge C++ for OS/2 Open Class Library User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - VPORT ═══ Required files:  readme  build.cmd  vport.exe  avport.cpp  avport.hpp  avport.h  avport.ico  cheetah.bmp  avport.rc  makefile ═══ Project - Calculat ═══ Description: The calculator application is one of many applications that are being used to test the C++ Visual Builder. It is included in this driver of the product as a sample for viewing, execution, and building purposes. The calculator consists of a set of visual and non-visual parts. The code for the non-visual parts is already written, compiled, and linked into a DLL named CPPOV13.DLL. The visual parts were built and connected into an application with the non-visual parts using the C++ Visual Builder Tool. The two visual parts that comprise the calculator are represented by the Visual Builder "class files" CLCLTRVW.VBB and KYPDVIEW.VBB. Task: Build a simple Object Oriented calculator. Concept/Feature: Refer to AVLTCAL2.SPC for specifications of this application. Project Location: Inside the VisBuild Sample folder (inside the VisualAge C++ Samples folder). Source File Location: X:\ibmcpp\samples\visbuild\calculat where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: Note: Before running this sample, you must add \ibmcpp\samples\visbuild\calculat\cppov13 to the LIBPATH in your CONFIG.SYS so the sample can find the CPPOV13.DLL. From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: CLCLTRVW How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. Start the Visual Builder component of VisualAge C++ by selecting Visual from the Project pulldown. From the main Visual Builder Window: 1. Select all the parts in the "Visual Parts" list and then select "Part->Generate->Part source" from the Menubar. 2. Select only the "CalculatorView" part in the "Visual Parts" list and then select "Part->Generate->main() for part" from the Menubar. 3. Now invoke a Project Build Action. To run the sample project, see How to run the sample project above. From the command line: Start the Visual Builder component of VisualAge C++ by typing: icsvb From the main Visual Builder Window: 1. Select all the parts in the "Visual Parts" list and then select "Part->Generate->Part source" from the Menubar. 2. Select only the "CalculatorView" part in the "Visual Parts" list and then select "Part->Generate->main() for part" from the Menubar. 3. From an OS/2 command line, make this sample's directory the current directory and invoke the BUILD.CMD program by typing: BUILD How to inspect the visual parts using the Visual Builder There are three "class files" that make up the application, CLCLTRVW.VBB, KYPDVIEW.VBB, and ICALCPRT.VBB. 1. Start the Visual Builder Tool -- from the command line, type: icsvb or from the project view of the sample:select Visual from the Project pulldown. 2. When the Visual Builder Window appears, select from the Menubar the "File->Load" option. 3. The Load Files dialog will appear with a list of "class files" that may be loaded. Select from the list the files CLCLTRVW.VBB, KYPDVIEW.VBB, and ICALCPRT.VBB and press the "OK" button. (The ICALCPRT.VBB file contains the already imported Parts Interface Defintions for the calculator non-visual parts.) 4. You may now select CLCLTRVW.VBB and KYPDVIEW.VBB from the "Loaded Part Files" list in the Visual Builder Window. This will display "calculatorView" and "keypadView" in the "Visual Parts" list of this Window. 5. You may now select either or both of these parts from the "Visual Parts" list and then select "Part->Open" from the Menubar to open these parts for viewing and/or editting. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  DB2/2 1.2  IBM or compatible 486 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the the Visual Builder, see the VisualAge C++ for OS/2 Visual Builder User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - CLCLTRVW ═══ Required files: AVLTCAL2.SPC High level specification of the calculator application. CLCLTRVW.EXE The executable calculator application. CPPOV13*.* DEF, LIB, MAK and DLL for the calculator application non-visual parts. *.HPP files C++ header files for the calculator non-visual parts. *.CPP files C++ code files for the calculator non-visual parts. ICALCPRT.VBE Non-visual Part Interface Definition Import file.  ICALCPRT.VBB  CLCLTRVW.VBB  KYPDVIEW.VBB Visual Builder "class files" for the calculator application. ═══ Project - Doodle ═══ Description: The DOODLE application is one of many applications that are being used to test the C++ Visual Builder. It is included in this driver of the product as a sample for viewing, execution, and building purposes. DOODLE consists of a set of visual parts, non-visual parts, and a resource DLL (CPPOV53R) that contains some bitmaps and pointers. The visual parts (with exception of the DrawingArea) were built using the C++ Visual Builder Tool. The application was created by connecting non-visual parts with the existing visual parts using the C++ Visual Builder. The DrawingArea was written in standard C++ to show how to connect parts created with the C++ Visual Builder to parts that were not created with the C++ Visual Builder. An interface file (DAREA.VBE) enables the C++ Visual Builder to surface the Drawing Area class as a non-visual part in the builder. Task: Build a simple Object Oriented 2-D Graphics Draw Application. Concept/Feature: DOODLE shows examples of:  How to use a Visual Builder "factory"  How to use a Visual Builder "variable"  How to connect to a window  How to create a modal window  How to pass in data to a window  How to return data from a window  How to validate range checking  How to handle a "Cancel" button  How to handle a "Set" button  How to reuse a modal window  How to use String, Long, Unsigned Long, Short, and Unsigned Short parts from VBSAMPLE.VBB  How to use toolbars  How to use toolbar buttons  How to use auto-latching toolbar buttons  How to use radio buttons  How to use push buttons  How to use a numeric spinbutton  How to use sliders  How to use text-entry fields  How to use static text  How to use colors  How to connect non-builder generated code with builder generated code Project Location: Inside the VisBuild Sample folder (inside the VisualAge C++ Samples folder). Source File Location: X:\ibmcpp\samples\visbuild\doodle where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: Note: Before running this sample, you must add \ibmcpp\samples\visbuild\doodle to the LIBPATH in your CONFIG.SYS so the sample can find the CPPOV53R.DLL. From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: DOODLE How to build the sample project yourself: Please Note Do not generate source from DAREA.VBB. This may overlay the prepared source code and will result in compile errors. From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. Start the Visual Builder component of VisualAge C++ by selecting Visual from the Project pulldown. From the main Visual Builder Window: 1. Select all the parts in the "Visual Parts" list and then select "Part->Generate->Part source" from the Menubar. 2. Select only the " Doodle" part in the "Visual Parts" list and then select "Part->Generate->main() for part" from the Menubar. 3. Now invoke a Project Build Action. To run the sample project, see How to run the sample project above. From the command line: Start the Visual Builder component of VisualAge C++ by typing: icsvb From the main Visual Builder Window: 1. Select all the parts in the "Visual Parts" list and then select "Part->Generate->Part source" from the Menubar. 2. Select only the "Doodle" part in the "Visual Parts" list and then select "Part->Generate->main() for part" from the Menubar. 3. From an OS/2 command line, make this sample's directory the current directory and invoke the BUILD.CMD program by typing: BUILD How to inspect the visual parts using the Visual Builder 1. There are six "class files" that make up the application, DOODLE.VBB, CLRDLG.VBB, STYLDLG.VBB, TTLDLG.VBB, WDTHDLOG.VBB, and DAREA.VBB. a. Start the Visual Builder Tool -- from the command line, type: icsvb or from the project view of the sample:select Visual from the Project pulldown. b. When the Visual Builder Window appears, select from the Menubar the "File->Load" option. On the Load Files dialog page, set the dialog to the drive and subdirectory that contain the DOODLE application. Select from the list the files DOODLE.VBB, CLRDLG.VBB, STYLDLG.VBB, TTLDLG.VBB, and WDTHDLOG.VBB and press the "OK" button. c. In a similar manner to the previous step, load DAREA.VBB from the \ibmcpp\samples\visbuild\doodle\darea directory, and VBSAMPLE.VBB from the \ibmcpp\dde4vb directory. d. Now that you have loaded the necessary files, from the "Loaded Part Files" list in the Visual Builder Window select DOODLE.VBB, CLRDLG.VBB, STYLDLG.VBB, TTLDLG.VBB, and WDTHDLOG.VBB. This will cause "Doodle", "IColorDialog", "IStyleDialog", "ITitleD ialog", and "IWidthDialog" to be displayed in the "Visuals" list of this Window., e. You may now select any of these parts from the "Visual Parts" list and then select "Part->Open" from the Menubar to open these parts for viewing and/or editting. (If you get a series of "beeps" while the part is opening, make sure that the resource DLL, CPPOV53R, is in your LIBPATH.) To inspect the DrawingArea part, you need to edit the DAREA.HPP and DAREA.CPP source files found in the DAREA subdirectory of this sample. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  DB2/2 1.2  IBM or compatible 486 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the the Visual Builder, see the VisualAge C++ for OS/2 Visual Builder User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - Doodle ═══ Required files: \ibmcpp\samples\visbuild\doodles directory  AVLTDOO1 SPC  README  BUILD CMD  DOODLE EXE  CPPOV53R DLL  DAREA RCV  DAREA_LI  DOODLE MAK  CLRDLG VBB  DOODLE VBB  STYDLG VBB  TTLDLG VBB  WDTHDLOG VBB  DAREA \ibmcpp\samples\visbuild\doodles\darea directory  DAREA CPP  DAREA H  DAREA HPP  DAREA LIB  DAREA MAK  DAREA VBB  DAREA VBE ═══ Project - OASearch ═══ Description: A simple GUI application that serves recruiters for a fictitious services contractor called "Opportunities Abound". When a customer calls looking for a particular skill, a recruiter can match that skill with a list of OA employees that have that skill. Once a suitable match is made, the recruiter can open a contract with the customer. Task: A simple GUI application that matches requirements against a skills database and opens a contract when a match is found. Concept/Feature: How to build a simple GUI application using the Visual Builder Project Location: Inside the VisBuild Sample folder (inside the VisualAge C++ Samples folder). Source File Location: X:\ibmcpp\samples\visbuild\oasearch where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: Note: Before executing this application or editing its parts with the Visual Builder. you must add \ibmcpp\samples\visbuild\oasearch to the LIBPATH in your CONFIG.SYS. This is so the sample can find the resource DLL, CPPOV33R, which contain the various bitmaps and icons used by this application. From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: OAMAIN How to build the sample project yourself: Note: CONTRACT.VBB is only for viewing within the example. It is not for code generation. From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. Start the Visual Builder component of VisualAge C++ by selecting Visual from the Project pulldown. Then, from the main Visual Builder Window: 1. Select all the parts in the "Visual Parts" list, except the "ContractView" part, and then select "Part->Generate->Part source" from the Menubar. 2. Select only the "OAMain" part in the "Visual Parts" list and then select "Part->Generate->main() for part" from the Menubar. 3. Deselect all the visual parts and select all the parts in the "Nonvisual Parts" list and then select "Part->Generate->Part source" from the Menubar. 4. Now invoke a Project Build Action. To run the sample project, see How to run the sample project above. From the command line: Start the Visual Builder component of VisualAge C++ by typing: icsvb From the main Visual Builder Window: 1. Select all the parts in the "Visual Parts" list, except the "Contractview" part, and then select "Part->Generate->Part source" from the Menubar. 2. Select only the "OAMain" part in the "Visual Parts" list and then select "Part->Generate->main() for part" from the Menubar. 3. Deselect all the visual parts and select all the parts in the "Nonvisual Parts" list and then select "Part->Generate->Part source" from the Menubar. 4. From an OS/2 command line, make this sample's directory the current directory and invoke the BUILD.CMD program by typing: BUILD How to inspect the visual parts using the Visual Builder  There are three "class files" that make up the application, CONTRACT.VBB, OANONVIS.VBB, and OAWIN.VBB. 1. Start the Visual Builder Tool -- from the command line, type: icsvb or from the project view of the sample:select Visual from the Project pulldown. 2. When the Visual Builder Window appears, select from the Menubar the "File->Load" option. 3. The Load Files dialog will appear with a list of "class files" that may be loaded. Select from the list the files listed in step number one (1) above and press the "OK" button. 4. Now that you have loaded the necessary files, from the "Loaded Part Files" list in the Visual Builder Window select CONTRACT.VBB, OANONVIS.VBB, and OAWIN.VBB . This will cause the application's visual parts to be displayed in the "Visuals" list of this Window. 5. You may now select any or all of these parts from the "Visual Parts" list and then select "Part->Open" from the Menubar to open these parts for viewing and/or editting. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  DB2/2 1.2  IBM or compatible 486 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the the Visual Builder, see the VisualAge C++ for OS/2 Visual Builder User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - OASearch ═══ Required files:  README  BUILD CMD  OAMAIN EXE  CONTRACT CPV  CONTRACT HPV  CONTRACT INI  CONTRACT VBB  CONTRCTR CPV  CONTRCTR HPV  CONTRCTR INI  OAFWCLR CPV  OAFWCLR HPV  OANBCLR CPV  OANBCLR HPV  SKILL CPV  SKILL HPV  SKILL INI  SKILLB CPV  SKILLB HPV  CPPOV33 HLP  CPPOV33 IPF  OANONVIS VBB  OAWIN VBB  CPPOV33R DLL ═══ Project - Police Rap Sheet ═══ Description: This application retrieves information about suspects from a database and displays the list of suspects in a container. A notebook is used to display detailed information about a suspect. Concept/Feature: How to build a simple GUI application that connects to a DB/2 Database using the Visual Builder. Source File Location: X:\ibmcpp\samples\visbuild\rapsheet where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: VBRAPSHT.EXE is not meant to be executed. This application retrieves data from a DB2/2 database, but the database that is bound to the executable file is not provided. The database access was not designed to be used as an example, but rather as a means to verify the visual and nonvisual parts that comprise this application. You can use the Visual Builder to browse the visual and nonvisual parts that comprise the Police Rap Sheet application. How to build the sample project yourself: You can regenerate this application's source as follows, but YOU SHOULD NOT ATTEMPT TO REBUILD THIS SAMPLE! To regenerate this application's source, do the following from the main Visual Builder Window: 1. Select all the parts in the "Visual Parts" list and then select "Part->Generate->Part source" from the Menubar. 2. Select only the "IRapMainView" part in the "Visual Parts" list and then select "Part->Generate->main() for part" from the Menubar. How to inspect the visual parts using the Visual Builder  There are two "class files" that make up the application, VBRPSHTN.VBB and VBRPSHTV.VBB. 1. Start the Visual Builder Tool -- from the command line, type: icsvb or from the project view of the sample:select Visual from the Project pulldown. 2. When the Visual Builder Window appears, select from the Menubar the "File->Load" option. 3. The Load Files dialog will appear with a list of "class files" that may be loaded. Select from the list the files listed in step number one (1) above and press the "OK" button. Again using the Load Files dialog, load the file VBSAMPLE.VBB from the \ibmcpp\dde4vb directory. 4. You may now select the VBB's from the "Loaded Part Files" list in the Visual Builder Window. This will then display the application's visual parts in the "Visual Parts" list of the Visual Builder Window. 5. You may now select any or all of these parts from the "Visual Parts" list and then select "Part->Open" from the Menubar to open these parts for viewing and/or editing. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  DB2/2 1.2  IBM or compatible 486 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the the Visual Builder, see the VisualAge C++ for OS/2 Visual Builder User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - Rapsheet ═══ Required files: README Description and instructions for sample. VBRAPSHT.SPC High level specification of the Police Rap Sheet application. VBRAPSHT.EXE This file is not intended for execution. It requires a database which has not been provided. You can use the Visual Builder to view the visual and nonvisual parts that comprise this application. CPPOV23*.* DEF, LIB, MAK and DLL for the Police Rap Sheet application non-visual parts. CPPOV23R.* DEF, MAK, RC, CPP and DLL for the Police Rap Sheet application resource DLL. The .mak and .def file are provided as examples only. Do not try to nmake the .mak file (the icons and bitmaps it references are not provided). .HPP/.H files C++ header files for the Police Rap Sheet non-visual parts. .CPP files C++ code files for the Police Rap Sheet non-visual parts. VBRPSHTN.VBE Non-visual Part Interface Definition Import file. .VBB files Visual Builder "part files" for the Police Rap Sheet application. The Police Rap Sheet application also requires the VBSample.vbb file to be loaded. ═══ Project - VBRemote ═══ Description: This application simulates a hand held remote control. The tool bar buttons let the user select which device they want to play. The animated push buttons allow the user to play, stop, rewind, fast forward pause and mute. When the user presses a tool bar button for the wave, video or MIDI players, a file dialog appears to allow them to select a wave, video or midi file. After the user presses the OK button on the file dialog, the file is loaded. The user may press the Play button at this time. The CD select button does no more than setting the remote control to CD mode. Task: A simple GUI application that lets a user play a CD, audio wave file, video (AVI) file or MIDI file. This is an example of using inheritance to control the switching from device to device. No switch logic was needed. Concept/Feature: Illustrates toolbar, animated push buttons and multi media players. Project Location: Inside the VisBuild Sample folder (inside the VisualAge C++ Samples folder). Source File Location: X:\ibmcpp\samples\visbuild\vbremote where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: Note: Before executing this application or editing its parts with the Visual Builder. you must add \ibmcpp\samples\visbuild\vbremote\cppov43 to the LIBPATH in your CONFIG.SYS. This is so the sample can find the resource DLL, CPPOV43R.DLL, which contain the various bitmaps and icons used by this application. From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: VBREMOTE How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. Start the Visual Builder component of VisualAge C++ by selecting Visual from the Project pulldown. Then, from the main Visual Builder Window: 1. Select the "VBRemote" part in the "Visual Parts" list and then select "Part->Generate->Part source" from the Menubar. 2. Select only the "VBRemote" part in the "Visual Parts" list and then select "Part->Generate->main() for part" from the Menubar. 3. Now invoke a Project Build Action. To run the sample project, see How to run the sample project above. From the command line: Start the Visual Builder component of VisualAge C++ by typing: icsvb From the main Visual Builder Window: 1. Select all the parts in the "Visual Parts" list and then select "Part->Generate->Part source" from the Menubar. 2. Select only the "VBRemote" part in the "Visual Parts" list and then select "Part->Generate->main() for part" from the Menubar. 3. From an OS/2 command line, make this sample's directory the current directory and invoke the BUILD.CMD program by typing: BUILD How to inspect the visual parts using the Visual Builder There is one "class file" that makes up the application, VBREMOTE.VBB. 1. Start the Visual Builder Tool -- from the command line, type: icsvb or from the project view of the sample:select Visual from the Project pulldown. 2. When the Visual Builder Window appears, select from the Menubar the "File->Load" option. 3. The Load Files dialog will appear with a list of "class files" that may be loaded. Select from the list the files listed in step number one (1) above and press the "OK" button. 4. Again using the Load Files dialog, load the file VBMM.VBB from the \ibmcpp\dde4vb directory. This contains the standard multi-media support parts. 5. Now that you have loaded the necessary files, from the "Loaded Part Files" list in the Visual Builder Window select the .VBB's. This will cause the application's visual parts to be displayed in the "Visual Parts" list of this Window. 6. You may now select any or all of these parts from the "Visual Parts" list and then select "Part->Open" from the Menubar to open these parts for viewing and/or editting. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  DB2/2 1.2  MMPM/2 is required to use this sample.  IBM or compatible 486 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the the Visual Builder, see the VisualAge C++ for OS/2 Visual Builder User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files -VMRemote ═══ Required files:  BUILD CMD  CPPOV43_  README  VBREMOTE AVI  VBREMOTE DEF  VBREMOTE EXE  VBREMOTE MAK  VBREMOTE MID  VBREMOTE VBB  VBREMOTE WAV \ibmcpp\samples\visbuild\vbremote\cppov43 directory:  CD BMP  CPPOV43 DEF  CPPOV43 MAK  CPPOV43 RC  CPPOV43R DLL  DIGVIDEO BMP  EMPTY CPP  MIDI BMP  WAVE BMP ═══ Project - VBStereo ═══ Description: This application displays a CD player, wave player, digital video player and an amplifier. CD PLAYER: The user can play, rewind, fast forward, stop, pause track forward and track backward. In addition, there is an eject button which will eject the CD from the player. Users can also select which track they desire be pressing the corresponding track number button and the enter button. There is also a display that shows the track number being played as well as the minutes and seconds that have elapsed in a given track. WAVE PLAYER: The user can play, rewind, fast forward, stop, and pause. In addition, there is a load button which show a file dialog for file selection. DIGITAL VIDEO: The user can play, rewind, fast forward, stop, and pause. PLAYER In addition, there is a load button which show a file dialog for file selection. AMPLIFIER: Allows the user to set the volume by turning a circular slider. The user can also stop the stereo application by pressing the off button. Task: A GUI application that allows the user to play one of three multi media players. Please Note: A CD must be in the player prior to starting this application. Concept/Feature: Illustrates the use of CD player, wave player, digital video player, amplifier/mixer, multi cell canvas, animated push button, circular slider and custom logic. Project Location: Inside the VisBuild Sample folder (inside the VisualAge C++ Samples folder). Source File Location: X:\ibmcpp\samples\visbuild\vbstereo where X: is the drive you installed the samples and document component of VisualAge C++. Select Source Files for a list of the source files in this directory. How to run the sample: From within the WorkFrame environment: To run the prebuilt project, open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. Click on the RUN button of the project's toolbar. From the command line: Simply type the name of the .EXE file, that is: VBSTEREO How to build the sample project yourself: From within the WorkFrame environment: Open the Samples folder on your OS/2 desktop then double-click on the project's icon to open the project view of the sample. In the upper half of the project window you will see the icons of the files associated with the sample. Start the Visual Builder component of VisualAge C++ by selecting Visual from the Project pulldown. Then, from the main Visual Builder Window: 1. Select all the parts "Visual Parts" list and then select "Part->Generate->Part source" from the Menubar. 2. Select only the "VBStereo" part in the "Visual Parts" list and then select "Part->Generate->main() for part" from the Menubar. 3. Now invoke a Project Build Action. To run the sample project, see How to run the sample project above. From the command line: Start the Visual Builder component of VisualAge C++ by typing: icsvb From the main Visual Builder Window: 1. Select all the parts in the "Visual Parts" list and then select "Part->Generate->Part source" from the Menubar. 2. Select only the "VBStereo" part in the "Visual Parts" list and then select "Part->Generate->main() for part" from the Menubar. 3. From an OS/2 command line, make this sample's directory the current directory and invoke the BUILD.CMD program by typing: BUILD How to inspect the visual parts using the Visual Builder There are five "class files" that make up the application, VBCDPLYR.VBB, VBMIXER.VBB, VBSTEREO.VBB, VBVIDEO.VBB, and VBWAVE.VBB. The application also requires VBMM.VBB and VBSAMPLE.VBB which are shipped as part of the base product. 1. Start the Visual Builder Tool -- from the command line, type: icsvb or from the project view of the sample:select Visual from the Project pulldown. 2. When the Visual Builder Window appears, select from the Menubar the "File->Load" option. 3. The Load Files dialog will appear with a list of "class files" that may be loaded. Select from the list the files listed above and press the "OK" button. 4. Again using the Load Files dialog, load the files VBSAMPLE.VBB and VBMM.VBB from the \ibmcpp\dde4vb directory. These contains the standard multi-media support parts. 5. Now that you have loaded the necessary files, from the "Loaded Part Files" list in the Visual Builder Window select the .VBB's. This will cause the application's visual parts to be displayed in the "Visual Parts" list of this Window. 6. You may now select any or all of these parts from the "Visual Parts" list and then select "Part->Open" from the Menubar to open these parts for viewing and/or editting. Software/Hardware Prerequisites:  IBM VisualAge C++  OS/2 2.1 or Warp  DB2/2 1.2  MMPM/2 is required to use this sample.  IBM or compatible 486 and up. Additional Information:  For more information on the creation and use of projects in the WorkFrame environment, see the VisualAge C++ for OS/2 User's Guide.  For more information on the the Visual Builder, see the VisualAge C++ for OS/2 Visual Builder User's Guide. Both books can be found online. To access an online book, simply open the main VisualAge C++ desktop folder, then open the Information Folder inside. To view a book, double-click on that book's icon. ═══ Source Files - VBStereo ═══ Required files:  BUILD CMD  README  VBCDPLYR VBB  VBMIXER VBB  VBSTEREO AVI  VBSTEREO EXE  VBSTEREO MAK  VBSTEREO MID  VBSTEREO VBB  VBSTEREO WAV  VBVIDEO VBB  VBWAVE VBB