═══ 1. VX∙REXX online help ═══ ═══ 1.1. Using VX∙REXX ═══ The VX∙REXX main menu bar contains the following menus. Double click on any highlighted item for more information: Project The Project menu contains items that allow you to manipulate projects and project files. Tools The Tools menu contains items which represent the available user interface objects that can be added to a window. Windows The Windows menu provides items for controlling auxiliary windows for managing files, windows and code sections, and aiding project design and debugging. Run The Run menu allows you to test and debug project code. Options The Options menu allows you to configure some aspects of VX∙REXX. Help The Help menu provides access to information about VX∙REXX. See also: o A list of functions o A list of methods o A list of objects o A list of properties o A list of events o A list of predefined routines o A summary of help topics o A summary of the REXX language For an in-depth introduction to VX∙REXX, see either Introduction or A simple program in the VX∙REXX Programmer's Guide. ═══ 1.2. The Tools menu ═══ Use the Tools menu to select the type of object you wish to add to your window. Once an object type has been selected, position the mouse pointer at the upper-left corner of the intended location for the object, and drag the mouse pointer down and to the right to outline the shape of the object. When the mouse button is released, the new object will appear. When an object has been selected the mouse pointer will change to a cross-hair when over your window. After you have drawn the object it will return to an arrow pointer. The Pointer tool can be used to reset the mouse pointer without inserting an object. For a complete list of all objects see Summary of objects in the VX∙REXX Reference. For more information about adding objects in your project, see Adding objects to a window in the VX∙REXX Programmer's Guide. See also: o Pointer o CheckBox o ComboBox o DescriptiveText o DropDownComboBox o EntryField o GroupBox o ImagePushButton o ImageRadioButton o ListBox o MultiLineEntryField o PictureBox o PushButton o RadioButton o SpinButton ═══ 1.2.1. Pointer ═══ Use the Pointer tool to select objects on the program window. With the Pointer tool selected, click on an object in the program window with mouse button 1. Black handles will appear around the object. This indicates that the object has been selected. To select multiple objects in the program window: 1. Select the Pointer tool from the Tools menu, or the Pointer icon from the Tool palette. 2. Click on the first object to be selected with mouse button 1. 3. Press the Ctrl key and click on subsequent objects with mouse button 1 to select them. All selected objects will appear with gray handles. Another way to select multiple objects is to press down mouse button 1 above and to the left of the objects you want to select. Then, still holding down the mouse button, move the mouse below and to the right of the objects you want to select, and let go of the mouse button. All objects in this rectangle will be automatically selected. See the Tools menu for more information. ═══ 1.2.2. CheckBox ═══ Use the CheckBox tool to create a CheckBox object. A check box is used to present an on/off option to the user. The option is either selected (a check mark appears in the box) or not (the check box is empty). See the Tools menu for more information. ═══ 1.2.3. ComboBox ═══ Use the ComboBox tool to create a ComboBox object. A combination box is used to allow the user to enter information either by selecting an item from a list or by typing a value. See the Tools menu for more information. ═══ 1.2.4. DescriptiveText ═══ Use the DescriptiveText tool to create a DescriptiveText object. Descriptive text is used to place static text in a window. It is frequently used to label other objects. See the Tools menu for more information. ═══ 1.2.5. DropDownComboBox ═══ Use the DropDownComboBox tool to create a DropDownComboBox object. A drop down combination box is used to allow the user to enter information either by selecting an item from a list or by typing a value. It is the same as a combination box (see ComboBox ) except that the list part is only displayed when the user opens the drop down list. See the Tools menu for more information. ═══ 1.2.6. EntryField ═══ Use the EntryField tool to create an EntryField object. An entry field typically allows the user to enter a single line of text. See the Tools menu for more information. ═══ 1.2.7. GroupBox ═══ Use the GroupBox tool to create a GroupBox object. A group box is used to group objects within a window. Grouped objects move together when the group box is moved, and radio buttons (see RadioButton ) within a group box operate together as a set, independent of the other radio buttons within the window. See the Tools menu for more information. ═══ 1.2.8. ImagePushButton ═══ Use the ImagePushButton tool to create an ImagePushButton object. The image push button is similar to the push button (see PushButton ), except that a bitmap image is used instead of a caption. See the Tools menu for more information. ═══ 1.2.9. ImageRadioButton ═══ Use the ImageRadioButton tool to create an ImageRadioButton object. An image radio button allows the user to choose one of a set of options. The image radio button is similar to a radio button (see RadioButton ), except that a bitmap image is used instead of a caption. See the Tools menu for more information. ═══ 1.2.10. ListBox ═══ Use the ListBox tool to create a ListBox object. A list box allows the user to select one or more items from a list. See the Tools menu for more information. ═══ 1.2.11. MultiLineEntryField ═══ Use the MutilLineEntryField tool to create a MultiLineEntryField object. Multiline entry fields are used where an entry field with two or more lines of text is desired. This type of entry field is typically used for long descriptions, allowing the user to enter multiple lines of text, and scroll through text information. See the Tools menu for more information. ═══ 1.2.12. PictureBox ═══ Use the PictureBox tool to create a PictureBox object. A picture box displays a bitmap image. See the Tools menu for more information. ═══ 1.2.13. PushButton ═══ Use the PushButton tool to create a PushButton object. A push button allows the user to perform an action. Common push buttons are OK and Cancel. See the Tools menu for more information. ═══ 1.2.14. RadioButton ═══ Use the RadioButton tool to create a RadioButton object. A radio button allows the user to choose one of a set of options. You can create independent sets of radio buttons by placing them in group boxes (see GroupBox ). See the Tools menu for more information. ═══ 1.2.15. SpinButton ═══ Use the SpinButton tool to create a SpinButton object. A spin button allows the user to choose one of a set of values. The values can be a range of numbers, or an set of arbitrary strings. See the Tools menu for more information. ═══ 1.3. The Object pop-up menu ═══ The Object pop-up menu allows you to see and change object properties, and to cut, copy, paste, delete and align objects. For information on items in this menu, see: o Properties o Cut o Copy o Paste o Delete o Duplicate o Align o Menu editor For details on a particular type of object, see: o CheckBox o ComboBox o DescriptiveText o DropDownComboBox o EntryField o GroupBox o ImagePushButton o ImageRadioButton o ListBox o MultiLineEntryField o PictureBox o PushButton o RadioButton ═══ 1.3.1. Properties ═══ Use the Properties command to display a notebook that lets you set the properties for the selected object. If more than one object is selected, a separate notebook will appear for each object. The property notebook for a single object can also be displayed by double clicking on the object with mouse button 1. Each page in the notebook has a group of properties that you can modify. The different pages are opened by clicking with mouse button 1 on the index tabs. Each time you change a property, the object will be updated to reflect that change. To close an object's property notebook, double click with mouse button 1 on the notebook's system menu, or pull down the notebook's system menu and choose the Close item. For more information about programming with object properties see Changing object properties in the VX∙REXX Programmer's Guide. For a complete list of properties, see Summary of properties in the VX∙REXX Reference. ═══ 1.3.2. Cut ═══ Use the Cut command to copy and delete the currently selected objects. The objects are copied to the VX∙REXX clipboard, replacing its previous contents. Copied objects can be pasted into any window or group box in the current project. All routines associated with an object are cut and pasted along with the object. To copy an object from another project use the Load command in the File menu of the File list window to temporarily add the window containing the object to the project. Copy the object then use the Remove command in the File menu of the File list window to remove the file. See the section on copying and deleting objects in the Adding objects to a window chapter of the VX∙REXX Programmer's Guide for more information. ═══ 1.3.3. Copy ═══ Use the Copy command to place the currently selected objects to the VX∙REXX clipboard. The copied objects replace the previous contents of the clipboard. Copied objects can be pasted into any window or group box in the current project. All routines associated with an object are copied and pasted along with the object. To copy an object from another project use the Load command in the File menu of the File list window to temporarily add the window containing the object to the project. Copy the object then use the Remove command in the File menu of the File list window to remove the file. See the section on copying and deleting objects in the Adding objects to a window chapter of the VX∙REXX Programmer's Guide for more information. ═══ 1.3.4. Paste ═══ Use the Paste command to copy the contents of the VX∙REXX clipboard into a window or group box. All of the objects and code in the clipboard are pasted. An object will be given a new unique name when it is pasted if an object with the same name already exists in the window file. Paste does not erase the contents of the clipboard. To copy an object from another project use the Load command in the File menu of the File list window to temporarily add the window containing the object to the project. Copy the object then use the Remove command in the File menu of the File list window to remove the file. See the section on copying and deleting objects in the Adding objects to a window chapter of the VX∙REXX Programmer's Guide for more information. ═══ 1.3.5. Delete ═══ Delete deletes the currently selected objects and their associated routines. If you want to be able to restore the objects after they have been deleted, use the Cut command. See the section on copying and deleting objects in the Adding objects to a window chapter of the VX∙REXX Programmer's Guide for more information. ═══ 1.3.6. Align ═══ Use the Align command to move two or more objects in relation to each other so that they are aligned. All selected objects are aligned to the object in which you opened the pop-up menu. The alignment options are: Top Align the objects by their top edges. Vertical Center Centers the objects vertically in relation to each other. Bottom Align the objects by their bottom edges. Left Align the objects by their left edges. Horizontal Center Centers the objects horizontally in relation to each other. Right Align the objects by their right edges. See the section on aligning objects in the Adding objects to a window chapter of the VX∙REXX Programmer's Guide for more information. ═══ 1.3.7. Duplicate ═══ Use the Duplicate command to duplicate the selected objects. Duplicated objects are independent objects that have the same name and share the same event routines. For more information, see the section on duplicating objects in the Adding objects to a window chapter in the VX∙REXX Programmer's Guide. ═══ 1.4. The Menu editor ═══ To create or modify a window's menu bar, select Menu editor from the window's pop-up menu. The left half of this dialog provides controls for adding, changing and deleting menu entries. The right half displays the window's menu in a hierarchical fashion, and provides controls to allow existing items to be moved around in the menu. See the chapter Adding menus to a program in the VX∙REXX Programmer's Guide for more information about menus and the menu editor. See also: o Caption o Name o Level o Enabled o Checked o HelpTag o HelpText o HintText o Accelerator o Change o Insert o Delete o Edit event o OK o Arrow push buttons ═══ 1.4.1. Caption ═══ The Caption property is the text that appears in the menu or on the menu bar. Mnemonic keys for the menu items may be specified by preceding a letter in the caption with a tilde (~). The mnemonic letter appears underlined at run time. A horizontal line divider across a menu can be created by specifying a caption consisting of a single hyphen (-). See the Menu editor for more information. ═══ 1.4.2. Name ═══ The Name property is a unique name that identifies the menu item. A name is automatically generated by VX∙REXX, but can be changed by editing the text in the name field. See the Menu editor for more information. ═══ 1.4.3. Enabled ═══ The Enabled property specifies whether the menu item is enabled or not. If the enabled check box contains a check mark, the menu or menu item will be initially enabled at run time. See the Menu editor for more information. ═══ 1.4.4. Checked ═══ The Checked property specifies whether there will be a check mark beside the menu item. If the checked check box contains a check mark, the menu item will initially have a check mark beside it at run time. See the Menu editor for more information. ═══ 1.4.5. Level ═══ The Level value indicates the position of a menu or menu item within the menu hierarchy: o Level 1 is on the menu bar. o Level 2 is in the pull down menu under a level 1 item. o Level 3 is a cascading menu from a level 2 item, and so on. See the Menu editor for more information. ═══ 1.4.6. Change ═══ Pressing the Change button changes the values of the currently selected menu item to the values currently set in the Caption and Name entry fields, and the Enabled and Checked check boxes. See the Menu editor for more information. ═══ 1.4.7. Insert ═══ Pressing the Insert button inserts a new item into the menu list at the position of the currently selected item. See the Menu editor for more information. ═══ 1.4.8. Delete ═══ Pressing the Delete button deletes the currently selected item from the menu list. See the Menu editor for more information. ═══ 1.4.9. OK ═══ Pressing the OK button applies changes made to the menu. Until this button is pressed changes made in the menu editor are not reflected in the program window. See the Menu editor for more information. ═══ 1.4.10. Edit Event ═══ Pressing the Edit event button opens the Section editor so that you can edit the Click event routine for the currently selected item. This is the only event defined for menu items. See the Menu editor for more information. ═══ 1.4.11. Arrow buttons ═══ The Arrow buttons allow you to move the items within the menu list. The up and down arrow buttons change the order in which the items appear. The left and right arrow buttons change the nesting level of the item. See the Menu editor for more information. ═══ 1.4.12. HelpTag ═══ The HelpTag property is the resource identifier of the help panel corresponding to the menu or menu item. See Adding help to a program or the Menu editor for more information. ═══ 1.4.13. HelpText ═══ The HelpText property is the text or the name of a text file to display when help is requested for the menu or menu item. See Adding help to a program or the Menu editor for more information. ═══ 1.4.14. HintText ═══ The HintText property is the text that is displayed in the window's status area when the item has the input focus, or when the mouse pointer is positioned over the item. For this facility to work, the window's StatusArea and ShowHints properties must be set to 1. See Adding help to a program or the Menu editor for more information. ═══ 1.4.15. Accelerator ═══ The Accelerator property is the string representing the key combination which activates the menu item. At run time, pressing the keys that make up a menu item's accelerator is the same as clicking on that menu item. The menu does not have to be open for the accelerator key to take effect. See Adding help to a program or the Menu editor for more information. ═══ 1.5. The Run menu ═══ The Run menu contains commands to run and debug the current project. This allows you to quickly test the project as you create it. See also: o Run project o Debug project See Creating and running projects in the VX∙REXX Programmer's Guide for more information about running projects. ═══ 1.5.1. Run Project ═══ Use the Run Project command to run the current project. This allows seamless testing of the project during development. If VX∙REXX encounters any errors during execution, the program will terminate, and you will return to the VX∙REXX programming facility. A list of the errors will be displayed in the Error window allowing you to edit the sections in which the errors occurred. See the Run menu for more information. ═══ 1.5.2. Debug project ═══ Use the Debug project command to run the project using VX∙REXX's interactive debugger. Use the debugger to help you find errors in your project. Refer to the chapter Debugging a project in the VX∙REXX Programmer's Guide, or the Debugger help for information on using the debugger. See the Run menu for more information. ═══ 1.6. The Options menu ═══ The Options menu contains commands to configure the VX∙REXX development environment. See also: o External editor o Run o Add object library o Remove object library ═══ 1.6.1. External editor ═══ The External editor command presents a dialog which allows you to configure the external editor used by VX∙REXX. The external editor can be invoked from the File list window or the Section list window. The default external editor is the OS/2 Enhanced editor. See also: o Options menu o Edit command field o Default button ═══ 1.6.2. Edit command ═══ Use the Edit command field to specify the editor to be invoked when the External editor command is used. For more information, see Using an external editor in Adding and modifying routines in the VX∙REXX Programmer's Guide. ═══ 1.6.3. Default ═══ Pressing the Default button resets the Edit command field to its default value. The default command invokes the OS/2 Enhanced Editor. For more information, see Using an external editor in Adding and modifying routines in the VX∙REXX Programmer's Guide. ═══ 1.6.4. Run ═══ Use the Run command in the Options menu to specify command line parameters, change the working directory, and set the main window file for your application. These settings are used when you choose the Run project or Debug project command from the Run menu. See also: o Options menu o Main file o Arguments o Working directory ═══ 1.6.5. Main file ═══ Use the Main file combination box to specify which file in your project should serve as the entry point for your application when it is run. For projects with only one file, this option cannot be changed. See the chapter Multiple file projects in the VX∙REXX Programmer's Guide for more information about multiple file projects, and selecting a main file. ═══ 1.6.6. Arguments ═══ Use the Arguments field to specify command line options to be passed to your project when it is started. These arguments should be entered in a format appropriate to the way in which your project receives and interprets command line options. The value that is entered in this field becomes the CommandLine property of your application. ═══ 1.6.7. Working directory ═══ Use the Working directory field to specify the working directory to use when running the project with the Run project or Debug project commands. This value becomes the WorkingDirectory property of your application. You may need to set this property if you project makes assumptions about the current working directory. If you started VX∙REXX by double clicking on a project file then the default working directory is the directory that contains the project file. Otherwise it is the VX∙REXX install directory. ═══ 1.6.8. Add object library ═══ Use the Add object library command to add a library of extended objects to the current project. Object libraries can also be removed from a project, using the Remove object library command. These libraries are available from WATCOM. See Contacting WATCOM in the Read Me First document, or the WATCOM VX∙REXX for OS/2 Programmer's Guide and Reference for information about contacting WATCOM. See also o Options menu ═══ 1.6.9. Remove object library ═══ Use the Remove object library command to remove a library of extended objects from the current project which was previously added with the Add object library command. These libraries are available from WATCOM. See Contacting WATCOM in the Read Me First document, or the WATCOM VX∙REXX for OS/2 Programmer's Guide and Reference for information about contacting WATCOM. See also o Options menu ═══ 1.7. The Project menu ═══ The Project menu allows you to open, save, and create new project files. See the chapter Creating and running projects in the VX∙REXX Programmer's Guide for more information about projects and project management. See also: o New o Open o Save o Save as o New window file o New code file o Make EXE file o Make macro ═══ 1.7.1. New ═══ Use the New command to create a new project. If changes have been made to the current project, and you have not saved them, then you will be prompted to do so. Should you choose not to save your changes, they will be discarded. See the Project menu for more information. ═══ 1.7.2. Open ═══ Use the Open command to open an existing project. Selecting Open will cause the Open dialog to appear. You may select a drive, directory, and filename of the project you wish to open. Opening a project closes the current project. If you have made changes to the current project, then you will be prompted to save them before the Open dialog appears. Should you choose not to save your changes, they will be discarded. See the Project menu for more information. ═══ 1.7.3. Save ═══ Use the Save command to save the current project using the current project filenames. If the project is new or contains new files the Save as dialog appears to allow you to specify the required filenames. See the Project menu for more information. ═══ 1.7.4. Save as ═══ Use the Save as command to save the files in the current project with a new path or name. Each of the source files (extension VRX) and the project file itself (extension VRP) is saved separately and requires a path and filename. When you Save a new project, or select Save as, you will be prompted for a name for each file, starting with the source files and ending with the project file. If you Save a project that has been saved before but contains some new files you will be prompted to name only the new files. Although it is not required, the normal organization is to place all project files in the same directory and use a different directory for each project. This is automatically accomplished if you create new projects by dragging and dropping the project template, as described in Creating and running projects in the VX∙REXX Programmer's Guide. See the Project menu for more information. ═══ 1.7.5. New window file ═══ Use the New window file command to create a new window within the project. The window that is currently being edited is stored and may be retrieved through the File list window found in the Windows menu. See the Project menu for more information. ═══ 1.7.6. New code file ═══ Use the New code file command to create a new code-only file. The new code file does not have an association with a window, so no new window is shown on the screen. You may create labels for the new code file using the Section list window found in the Windows menu. See the Project menu for more information. ═══ 1.7.7. Make macro ═══ Use the Make macro command to create a REXX macro from the current project. The macros created may be used with REXX-aware Presentation Manager applications such as the OS/2 Enhanced Editor. The REXX code from each file in the project is saved as a plain text file. The corresponding windows are saved in files with the same names as the REXX code files but with the extension VRW. The default name for the first file is the name of the project; the default name for the rest is their current name. The VX∙REXX run time libraries must be installed and included in you OS/2 LIBPATH before you can run a VX∙REXX macro. Also, the application that invokes the macro must be running in a Presentation Manager session. See the Project menu for more information. ═══ 1.7.8. Make EXE file ═══ Use the Make EXE file command to compile your current project into a single executable file that can be run from the OS/2 command line or Workplace Shell. You can specify an icon for the executable program either by using the General page in the Settings notebook of the program's object in the Workplace Shell, or by placing an icon file (extension ICO) with the same name as the program in the same directory as the program. The program's icon will be used for the Workplace Shell, for the system menu on the program's windows, and for the minimized representation of the program's windows. The VX∙REXX run time libraries must be installed and included in you OS/2 LIBPATH before you can run a VX∙REXX executable file. The VX∙REXX executable is a Presentation Manager program and runs in a Presentation Manager session. See the Project menu for more information. ═══ 1.8. The Windows menu ═══ The Windows menu commands open and activate the VX∙REXX secondary windows. If a window is not already opened it is opened. Otherwise it is brought to the front of the display and activated. See also: o Errors o File list o Section list o Tool palette o Window list ═══ 1.8.1. The Errors window ═══ Use the Errors command to display the Error window. The Error window contains information on any errors that occurred during the most recent run of the project. If you run your project and there is an error, this window is displayed automatically. Closing and reopening the Error window does not change its contents. It is only updated the next time the project is run. The window displays the error, the name of the section that it occurred in, and a traceback of the calls that lead to the error. You can edit any of the code shown in the traceback list by double clicking in the list or by selecting an item and choosing Open for the section editor or External editor for the editor configured in the Options menu. See the chapter Debugging a project in the VX∙REXX Programmer's Guide for more information about finding and fixing errors in your projects. ═══ 1.9. The Tool palette window ═══ Use the Tool palette command to display the Tool palette window. The tool palette is opened automatically when VX∙REXX is started, but you can close if you are not using it. The Tool palette provides easy access to all of the items in the Tools menu. Pressing a button in the Tool palette is the same as selecting the corresponding item from the Tools menu. To find out which item each button represents, simply click on the button and press F1. For more information about adding objects to a project and using the Tool palette, see the chapter Adding objects to a window in the VX∙REXX Programmer's Guide. See also: o Pointer o CheckBox o ComboBox o DescriptiveText o DropDownComboBox o EntryField o GroupBox o ImagePushButton o ImageRadioButton o ListBox o MultiLineEntryField o PictureBox o PushButton o RadioButton o SpinButton ═══ 1.10. The File list window ═══ Use the File list command to open the File list window. This window lists all of the source files in the project. Each file is either a window file or a code file. Double clicking on a file in the list opens the file so it can be edited. Using the file list's File menu. you can create, open, and save project files. You can also edit all of the code in a source file at once using the External editor command. You can share files with another project using the Add command, or you can make a copy of an existing file with the Load command. The Remove command removes files from the project (but does not delete the file). The Save as text command saves a project file in plain text form (including all window information). The text file can be printed, or it can be edited with a text editor and reloaded with the Load command. See also: o New window file o New code file o Open o Add o Remove o Save o Save as o Load o Save as text o External editor See the chapter Multiple file projects in the VX∙REXX Programmer's Guide for more information about using multiple files. ═══ 1.10.1. New window file ═══ Use the New window file command to create a new file and primary window within the project. The file that is currently being edited is closed and can be reopened using the Open command. See the File list window for more information. ═══ 1.10.2. New code file ═══ Use the New code file command to create a new file that does not have a window associated with it. The new code file will contain a Main section. You can create other sections using the Section list window in the Windows menu. See the File list window for more information. ═══ 1.10.3. Open ═══ Use the Open command to open the selected file for editing. The file currently being edited is closed, but can be reopened with this command. See the File list window for more information. ═══ 1.10.4. Add ═══ Use the Add command to add a file into the current project. The file can be part of an existing project, either a window or code file, or it can be a text file containing REXX routines. The file is not copied, the Add command only creates a reference to the file. This allows files to be shared between projects. See the File list window for more information. ═══ 1.10.5. Remove ═══ Use the Remove command to remove the selected file from the current project. New, unsaved files are removed completely. Only the reference to saved files is removed; the file is not deleted. See the File list window for more information. ═══ 1.10.6. Save ═══ Use the Save command to save the selected file with its current filename. The old contents of the file are overwritten. If you have not saved the file before, the Save as dialog will appear and prompt you for a filename. See the File list window for more information. ═══ 1.10.7. Save As ═══ Use the Save as command to save the selected file with a new filename. The Save as dialog will appear and prompt you for a new filename. See the File list window for more information. ═══ 1.10.8. Load ═══ Use the Load command to copy an existing source file into the current project. The source file can be a window file, a code file, a file that has been saved as text, or a plain text file that contains REXX code. Loading a file creates a new copy of the original file. The new file only exists in the current environment until you save it, at which time you will need to give it a path and filename. A file with extension VRX is assumed to be a VX∙REXX source file. If a file with the same name but extension VRY exists in the same directory the pair of files is assumed to be a VX∙REXX window file. A file with the extension VRT is assumed to be a VX∙REXX file that was created with the Save as text command. You can save a file in text format, edit the file using a text editor, then load the modified file. A file with any other extension is assumed to contain plain REXX code. You can use the Load command to copy your existing REXX source into a VX∙REXX project. All the code in the original file will be placed into the Main section of the new file. To copy an object from another project you can load the window file containing the object, copy the object into the VX∙REXX clipboard, and then remove the window file. See the File list window for more information. ═══ 1.10.9. Save as text ═══ Use the Save as text command to save the current file as text (including the window information). You can modify the text file using a text editor, and then load the file back into your project with the Load command. See the File list window for more information. ═══ 1.10.10. External editor ═══ Use the External editor command to edit all of the routines in the selected file at once. The editor specified using the External editor command dialog in the Options menu is invoked by this command. You cannot use this command on the current file. If the file selected is the current file, you will be given a chance to close the file so you can edit its code, or to cancel the selection. See the File list window for more information. ═══ 1.11. The Section list window ═══ Use the Section list command to open the Section list window. The Section list window displays the sections of the file that you are working on. Double click on a section label to edit the code for that section using the Section editor. See the chapter Adding and modifying routines in the VX∙REXX Programmer's Guide for more information on using the Section editor , and on adding routines to your project. The Section menu of the section list contains commands to create, delete and edit the sections of the current file. As a section is only a part of a file, there are no commands to add, save, or load sections. These operations can only be performed on entire files. See also: o New o Open o Delete o External editor ═══ 1.11.1. New ═══ Use the New command to create a new section within a file. Unlike files, sections are named when they are created. See the Section list window for more information. ═══ 1.11.2. Open ═══ Use the Open command to open the selected section for editing using the Section editor. See the Section list window for more information. ═══ 1.11.3. External editor ═══ Use the External editor command to open the selected section for editing using an external editor. As VX∙REXX cannot control the external editor you must be careful to save the section before saving or running the project. See the Section list window for more information. ═══ 1.11.4. Delete ═══ Use the Delete command to delete the selected section from the current source file. See the Section list window for more information. ═══ 1.12. The Window list window ═══ Use the Window list command to open the Window list window. This window lists the primary and secondary windows associated with a single window file. The window list and multiple windows within a single file are normally only used in projects that feature multiple modeless windows (i.e. multiple windows enabled at the same time, such as in VX∙REXX itself). For modal windows, where only one window is enabled at a time, you should use multiple files and the File list window. The Window menu of window list contains commands to create, open, close, and delete the windows within one window file. For more information on working with multiple windows, see the chapter Multiple modeless windows in the VX∙REXX Programmer's Guide. See also: o New window o Open o Close o Delete ═══ 1.12.1. New window ═══ Use the New window command to create a new secondary window. Secondary windows are not loaded automatically when a file is loaded. They must be loaded by calling the VRLoadSecondary function at run time. See the Window list window for more information. ═══ 1.12.2. Open ═══ Use the Open command to display the selected window. See the Window list window for more information. ═══ 1.12.3. Close ═══ Use the Close command to hide the selected window. Closed windows can be redisplayed with the Open command. See the Window list window for more information. ═══ 1.12.4. Delete ═══ Use the Delete command to delete a secondary window from the current file. All objects in the window, and all code associated with the window and its objects are also deleted. See the Window list window for more information. ═══ 1.13. The Section editor ═══ To simplify the creation and maintenance of programs, VX∙REXX divides REXX code files into sections. Each section of a file contains one or more REXX routines that can be edited together. Sections have no effect at run time: all the sections in a file appear to REXX as a single program file. The VX∙REXX section editor is a full-featured text editor provided to edit sections. The section editor is opened from the Section list or Error window by double clicking on the name of a section, or from the Event page of a Properties notebook by double clicking on the name of an event. The section editor automatically starts with the selected section loaded. Any number of Section editor windows can be open at the same time, so you can edit several sections at once. It is not necessary to save or close a section before running or saving a project, as the contents of a section editor always reflect the current value of the section. For more information on the Section editor, see the chapter Adding and modifying routines in the VX∙REXX Programmer's Guide. The Section editor has two menus: Edit The Edit menu contains commands to edit the text in the section.. Help The Help menu provides access to information about the Section editor. The section editor includes a status area under the menu bar and above the text area. In this area it displays the current line number and column position, and indicates whether new text will replace the text under the cursor (Overstrike) or will be inserted at the cursor (Insert). Press the Insert key to toggle between insert and overstrike mode. ═══ 1.13.1. Edit ═══ The Edit menu contains commands to select, cut, and past, to find and replace, and to read and write files. It also includes an Undo command to undo the last operation. For more information on the Section editor , see the chapter Adding and modifying routines in the VX∙REXX Programmer's Guide. See also: o Undo o Revert o Cut o Copy o Paste o Delete o Find o Replace o Select all o Deselect all o Go o Import o Export ═══ 1.13.2. Undo ═══ Use the Undo command to undo the last operation. For example, after deleting a line, choosing Undo brings that line back. See the Edit menu for more information. ═══ 1.13.3. Revert ═══ Use the Revert command to throw away all changes since the section was opened for editing. This action cannot be undone. See the Edit menu for more information. ═══ 1.13.4. Cut ═══ Cut removes the selected text and copies it to the OS/2 clipboard. Text in the OS/2 clipboard can be pasted into any section. It also can be pasted into other OS/2 applications such as text editors. See Section editor for more information. ═══ 1.13.5. Copy ═══ Copy copies the selected text to the OS/2 clipboard. Text in the OS/2 clipboard can be pasted into any section. It also can be pasted into other OS/2 applications such as text editors. See Section editor for more information. ═══ 1.13.6. Paste ═══ Paste copies text from the OS/2 clipboard to the section. The pasted text replaces any selected text, otherwise it is inserted at the cursor position. Text can be copied to the clipboard from any section or from other OS/2 applications such as text editors. Text can be pasted any number of times, as pasting does not erase the contents of the clipboard. See Section editor for more information. ═══ 1.13.7. Delete ═══ The selected text is deleted from the section. The text can be recovered by immediately using the Undo command. See Section editor for more information. ═══ 1.13.8. Find ═══ Use the Find command to open the Find window. Enter the text to locate in the Target field and select the OK button. If the target text is in the section, the first occurrence of the target text in the section will be selected. The case of the text is ignored when searching for a match. The Find command only searches forward from the current cursor position. To search the entire section, press Ctrl+Home in the text area before starting the search. It is not necessary to close the Find window to reposition the cursor or to continue editing. See Section editor for more information. ═══ 1.13.9. Replace ═══ Use the Replace command to open the Replace window. Enter the text to locate in the Target field, and the replacement text in the Replacement field. To locate the next match, select the Find button. (The case of the text is ignored when searching for a match). To replace the located text select the Replace button. To find the next match and replace it in one step start by selecting the Replace button. To find and replace all occurrences of the target text, press the Replace all button. The Find, Replace, and Replace All commands only search forward from the current cursor position. To search the entire section, press Ctrl+Home in the text area before starting the search. It is not necessary to close the Replace window to reposition the cursor or to continue editing. See Section editor for more information. ═══ 1.13.10. Select all ═══ Use the Select all command to select all of the text in the section. See Section editor for more information. ═══ 1.13.11. Deselect all ═══ Use the Deselect all command to ensure that nothing is selected in the section. See Section editor for more information. ═══ 1.13.12. Go ═══ Use the Go command to move to a specified line number. See Section editor for more information. ═══ 1.13.13. Import ═══ Use the Import command to insert a text file into the section. The imported text replaces any selected text, otherwise it is inserted at the cursor position. See Section editor for more information. ═══ 1.13.14. Export ═══ Use the Export command to save the selected text to a file. See Section editor for more information. ═══ 1.14. Help for Help ═══ Use the commands in the Help menu to display: o An index of references to the help topics for the active program o General information about the contents of the active window o General information about the help facility o A list and description of keys you can use o Product information for the active program ═══ 1.14.1. Product information ═══ The Product information command presents a dialog box which gives information about the VX∙REXX product, such as copyright information and the product version. ═══ 1.14.2. Help for General help ═══ Use General help to display information about the contents of the active window. ═══ 1.15. A list of functions ═══ For a brief description of all VX∙REXX functions, see Summary of functions in the VX∙REXX Reference. See also: o VRChAttr o VRChDir o VRChDrive o VRCopyFile o VRCreate o VRCreateFile o VRCreateStem o VRCurrDir o VRCurrDrive o VRDeleteFile o VRDelIni o VRDestroy o VRDir o VRDiskInfo o VRDiskLabel o VRError o VREvent o VRExpandFileName o VRFileDate o VRFileDialog o VRFileExists o VRFindFile o VRFini o VRGet o VRGetIni o VRInfo o VRInit o VRIsDir o VRLoad o VRLoadSecondary o VRMessage o VRMessageStem o VRMethod o VRMkDir o VRParseFileName o VRPrompt o VRRedirectStdIO o VRRenameFile o VRRmDir o VRSet o VRSetIni o VRVersion o VRWindow o VRWindowPath ═══ 1.16. A list of methods ═══ For a brief description of all VX∙REXX methods, see Summary of methods in the VX∙REXX Reference. See also: o Activate o AddString o AddStringList o CenterWindow o Clear o Delete o DeleteList o DeleteString o Deselect o DeselectList o FindString o GetClipboard o GetSelectedList o GetSelectedStringList o GetString o GetStringList o GetThreadID o GetVar o HaltThread o InstallAccelerators o InvokeHelp o ListChildren o ListClasses o ListMethods o ListProperties o ListThreads o ListVars o ListWindows o LoadClassFile o Maximize o Minimize o Post o PostKeyString o PutClipboard o PutVar o Reset o Restore o SendKeyString o SetFocus o SetSelectedList o SetStringList o StartThread o SupportsMethod o SupportsProperty ═══ 1.17. A list of objects ═══ For a brief description of all VX∙REXX objects, see Summary of objects in the VX∙REXX Reference. See also: o Application o CheckBox o ComboBox o DescriptiveText o DropDownComboBox o EntryField o GroupBox o ImagePushButton o ImageRadioButton o ListBox o Menu o MenuBar o MenuItem o MultiLineEntryField o PictureBox o PushButton o RadioButton o Screen o SpinButton o Window ═══ 1.18. A list of properties ═══ For a brief description of all VX∙REXX properties, see Summary of properties in the VX∙REXX Reference. See also: o Accelerator o AdjustHeight o AlwaysUpdate o AutoScroll o AutoSize o BackColor o Border o BorderColor o BorderSize o BorderType o Cancel o Caption o Checked o ClassName o CommandLine o Count o Default o Enabled o FastSpin o FirstChild o Font o ForeColor o Height o HelpFile o HelpTag o HelpText o HelpTitle o HintText o HorizScroll o HWnd o IconHeight o IconWidth o Index o InitialList o InteriorHeight o InteriorLeft o InteriorTop o InteriorWidth o Justification o KeyString o LayoutStyle o Left o Masked o MaximizeButton o MinimizeButton o MoveWithParent o MultiSelect o Name o NumericOnly o PadWithZeros o Painting o Parent o PicturePath o Program o ReadOnly o ResizePicture o Selected o SelectedEnd o SelectedStart o SelectedString o SelectedText o Self o Set o ShowHints o ShutDown o Sibling o SiblingOrder o Sort o StatusArea o StatusText o SystemMenu o TabGroup o TabIndex o TabStop o TextLimit o Top o UserData o Value o VertJustification o VertScroll o Visible o Width o WindowMode o WordWrap o WorkingDirectory ═══ 1.19. A list of events ═══ For a brief description of all VX∙REXX events, see Summary of events in the VX∙REXX Reference. See also: o Activate o Change o Click o Close o Create o Deactivate o Destroy o DoubleClick o GotFocus o KeyPress o LostFocus o Resize ═══ 1.20. A summary of help topics ═══ The following is a listing of the chapters of the VX∙REXX Programmer's Guide: o Introduction o A simple program o Creating and running projects o Adding objects to a window o Changing object properties o Adding and modifying routines o Programming with objects o Using objects o Adding menus to a program o Adding help to a program o Using dialogs and system functions o Multiple file projects o Multiple modeless windows o Debugging a project o Using command files and application macros o Database Manager with VX∙REXX ═══ 1.21. A summary of the REXX language ═══ A summary of the REXX language is provided in the OS/2 online document: REXX Information. ═══ 1.22. A list of predefined routines ═══ For a brief description of all VX∙REXX predefined routines, see Summary of predefined routines in the VX∙REXX Reference. See also: o Fini o Halt o Init o Main o Quit ═══ 2. Debugger Online Help ═══ ═══ 2.1. Using the Debugger ═══ The VX∙REXX debugging facility provides many advanced features. It provides variable and source displays, interactive debugging, breakpoints, and several more powerful debugging features. For more information on the menus, see: o Breakpoints menu o Run menu o Options menu o Windows menu o Edit menu For more information about the debugger windows, see: o Trace window o Variables window o Results window o Section list window o Section window For more information about debugging your projects, see Debugging a project in the VX∙REXX Programmer's Guide. ═══ 2.2. The Breakpoints Menu ═══ The Breakpoints menu contains commands to set and clear breakpoints in your REXX code. Breakpoints stop the running of your program when a set location within your code is reached. The Breakpoints menu is found on the following windows: o Trace o Section window See also: o Set o Clear See Debugging a project in the VX∙REXX Programmer's Guide for more information on debugging your projects. ═══ 2.2.1. Set ═══ The Set command displays a window asking for the file, section and line of the project in which to place the breakpoint. Choose the file and section with the drop down combination boxes. Then select the line at which to place the breakpoint. Click on the OK button to complete the setting. You can also set a breakpoint by double clicking on a line number in the trace window or any section window. The background color of the line number turns red to indicate that a breakpoint has been set. Double clicking on a line number with a breakpoint clears the breakpoint. See The Breakpoints menu for more information. ═══ 2.2.2. Clear ═══ The Clear command displays a window with a list of current breakpoints. To delete a breakpoint, select it, and click on the OK button. To delete multiple breakpoints, hold down the Ctrl key and click on the breakpoints that you want to clear, then click OK. You can also set a breakpoint by double clicking on a line number in the trace window or any section window. The background color of the line number turns red to indicate that a breakpoint has been set. Double clicking on a line number with a breakpoint clears the breakpoint. See The Breakpoints menu for more information. ═══ 2.3. The Run Menu ═══ The Run menu contains several commands for stepping through and running the current project. Use it to analyze your code line by line and help find errors within your code. The menu contains the following items: o Step o Step over o Redo o Run o Break The Run menu is found on the following windows: o Section List o Trace o Section window See Debugging a project in the VX∙REXX Programmer's Guide for more information on debugging your projects. ═══ 2.3.1. Break ═══ Use the Break command to interrupt the running of your project. Execution stops and you are returned control of the debugger. See The Run menu for more information. ═══ 2.3.2. Step ═══ Use the Step command to run the next line of REXX code displayed in the Trace window. If the Step command encounters a call to a subroutine, it will trace into that subroutine. Pressing the I key in a trace window will also run this command. See The Run menu for more information. ═══ 2.3.3. Step Over ═══ Use the Step Over command to run the next line of REXX code displayed in the Trace window. If the Step Over command encounters a call to a subroutine, the entire subroutine is run without displaying its code. Pressing the O key in a trace window will also run this command. See The Run menu for more information. ═══ 2.3.4. Redo ═══ Use the Redo command to re-run the last line of REXX code that was run. Pressing the = key in a trace window will also run this command. See The Run menu for more information. ═══ 2.3.5. Run ═══ Use the Run command to run the program without interruption until the program ends, the Break command is run, or a breakpoint is encountered. Pressing the R key will also run this command. See The Run menu for more information. ═══ 2.4. The Options Menu ═══ The Options menu allows you to control the contents of the display in the Results window. All of the items in this menu are options that can be set to on or off. The options are: o Show results o Show source o Show trace messages The Options menu is found on the following window: o Results See Debugging a project in the VX∙REXX Programmer's Guide for more information on debugging your projects. ═══ 2.4.1. Show Results ═══ Use the Show Results option to display the results or return values of the REXX code run in the Results window. See The Options menu for more information. ═══ 2.4.2. Show Source ═══ Use the Show Source option to display the source code being run in the Results window. See The Options menu for more information. ═══ 2.4.3. Show Trace Messages ═══ Use the Show Trace Messages option to display the interactive trace messages generated by REXX while the program is running in the Results window. See The Options menu for more information. ═══ 2.5. The Windows Menu ═══ The Windows menu contains the menu items to display the debugger's various windows. Each window has a hot-key associated with it for easier access. The Windows menu is found on the following windows: o Section List o Trace o Results o Variables o Section window See Debugging a project in the VX∙REXX Programmer's Guide for more information on debugging your projects. ═══ 2.5.1. The Trace window ═══ Use the Trace command to display the Trace window. This window contains the REXX source code for the project section that is currently being run. Each source line has a number associated with it that appears to the left of the line. Double-clicking on the line number will set a breakpoint on that line. Double-clicking on a variable in the code will display that variable in the Variable window. The Trace window may also be displayed by pressing Ctrl-T. For more information about debugging your projects, see Debugging a project in the VX∙REXX Programmer's Guide. See also: o Breakpoints menu o Run menu o Windows menu ═══ 2.5.2. The Variables window ═══ Use the Variables command to display the Variables window for the current file in the project. Variables are added to the Variables window by double-clicking on a variable name in the Trace window or a Section window. To delete a variable from the list of variables, select the variable and choose the Delete option from the Edit menu. You may use the entry fields beside each variable to assign it a value for testing purposes. The Variables window may also be displayed by pressing Ctrl-V. For more information about debugging your projects, see Debugging a project in the VX∙REXX Programmer's Guide. See also: o Edit menu o Windows menu ═══ 2.5.3. The Results window ═══ Use the Results command to display the Results window. The window displays results, source code, and tracing messages generated by REXX. This display is updated every time a piece of REXX code is executed. At the bottom of the Results window is a REXX command or program line. You can enter commands on this line to display the contents of variables, assign values to variables, call routines, and so on. Any REXX command may be run on this line. The Results window may also be displayed by pressing Ctrl-R. For more information about debugging your projects, see Debugging a project in the VX∙REXX Programmer's Guide. See also: o Options menu o Windows menu ═══ 2.5.4. The Section list window ═══ Use the Section list command to display the Section list window. This window contains the names of the files and sections in the project. Double-click on a file name to display the sections in that file. Double-click on a section name to display a Section window for that section. You can display multiple Section windows simultaneously. You can also display the Section list window by pressing Ctrl-S. For more information about debugging your projects, see Debugging a project in the VX∙REXX Programmer's Guide. See also: o Run menu o Windows menu ═══ 2.5.5. The Section window ═══ Section windows display the source from one section of the code in your project. Section windows are opened by double clicking on the name of a section in the Section list window. This window can be used to set breakpoints or examine your code. For more information about debugging your projects, see Debugging a project in the VX∙REXX Programmer's Guide. See also: o Breakpoints menu o Run menu o Windows menu ═══ 2.6. The Edit menu ═══ This menu only appears in the Variables window. It contains the Delete command, which removes a variable from the Variables window. See also: o Delete See Debugging a project in the VX∙REXX Programmer's Guide for more information on debugging your projects. ═══ 2.6.1. Delete ═══ Use the Delete command to remove a variable from the Variables window. See The Edit menu for more information.