Writing OS/2 VX·REXX Programs
Table Of Contents

Introduction
     Hardware And Software
     Writing The Book
     Conventions
     Ideas
     Chapter Summary

Chapter 1 Getting Started
     Starting VX·REXX
     Managing Files
     Running A Program
     Making An .EXE File
     Getting Help
     A Sample Program
     Drag-And-Drop Programming
     Summary

Chapter 2 Descriptive Text Object
     Message
          User Interface
          Obtaining Text From The Command Line
          REXX Coding
          Running The Program
     Line-1
          User Interface
          Other REXX Coding
          Running The Program
     Summary

Chapter 3 Dressing Up Your Windows
     PauseIt
     Message2
     Summary

Chapter 4 PushButton Objects
     Music
          Interface
          REXX Coding
     Music-2
          Interface
          REXX Coding
     Keyboard
          Interface
          REXX Coding
     Summary

Chapter 5 Other Buttons
     Survey
          User Interface
          REXX Coding
     Music-3
     Summary

Chapter 6 Getting Text Data From The User
     Getting A Single Line With An EntryField Object
          Lines
          Todo-1
               User Interface
               Overall Organization
               REXX And VX·REXX Code
     Getting Multiple Lines With A MultiLine EntryField Object
          Lotlines
          Survey-2
          Edit
               User Interface
               Data Format
     Summary

Chapter 7 Getting Specific Information From The User
     Pick A File Name With The VRFileDialog Function
          PickFile
          Edit-2
               User Interface
               VX·REXX Coding
               Running The Program
     Showing Error Messages With The VRMessage Function
          ShowText
          Edit-3
          Todo-2
     Showing Multiple Line Error Message Using The VRMessageStem Function
     Showing A Message And Getting A Long Response With The VRPrompt Function
          Prompt
          Todo-3
     Summary

Chapter 8 More Selecting Values From A List
     ListBox Object
          Listbox
               Inserting The List
               Dealing With Cursor Movement
               Dealing With Double Clicking
          Listbox2
     ComboBox Object
     DropDown ComboBox Object
     Summary

Chapter 9 Dressing Up Your Programs With Pictures
     PictureBox Object
     Image PushButton Object
     Image RadioButton Object
     Pictures
     ViewBmp
     ViewIcon
     Resource Binding
     Summary

Chapter 10 More On Getting Information From The User
     SpinButton Object
          Survey-5
               User Interface
               VX·REXX Programming
     Slider Object
          Survey-6
     ValueSet Object
          Survey-7
          ViewIcn2
     Summary

Chapter 11 Other Objects
     Notebook Object
          Notebook
               Adding The Notebook Object
               The Caption Page Of The Notebook Object
               The Color Page Of The Notebook Object
               The Size Page Of The Notebook Object
               Pulling It All Together
     Container Object
          Container
               Getting The Data
               Working With The Database
               Manipulating The Database
          DragDrop
          File Browser
     DDEClient Object
     Timer Object
          Beeper
     Summary

Chapter 12 VX·REXX Functions
     Using Functions In Your Code
     Functions That Work With VX·REXX Objects
          Does An Object Exist? (VRIsValidObject)
          Getting An Error Message (VRError)
          Getting Information From Objects (VRGet)
          Getting Information On The Last Event (VRInfo)
          Getting The Next Event (VREvent)
          Getting The VX·REXX Version Number (VRVersion)
          Getting The Window Name (VRWindow)
          Getting The Window Path (VRWindowPath)
          Initialize The VX·REXX Programming Environment (VRInit)
          Invoking Object Method (VRMethod)
          Loading Secondary Window Description From A File (VRLoadSecondary)
          Loading Window Description From A File (VRLoad)
          Pick A File Name (VRFileDialog)
          Putting Information Into Objects (VRSet)
          Redirecting Standard I/O (VRRedirectStdIO)
          Set VX·REXX Runtime Option
          Showing Error Message To User (VRMessage)
          Showing Message To User And Getting Long Response (VRPrompt)
          Showing Multi-Line Error Message To User With Stem Variable (VRMessageStem)
          Terminating The VX·REXX Programming Environment (VRFini)
     Functions That Work With The OS/2 Environment
          Changing A File Type (VRSetFileType)
          Changing Drives (VRChDrive)
          Changing File Attributes (VRChAttr)
          Changing File Dates And Times (VRFileDate)
          Changing The Current Subdirectory (VRChDir)
          Copying Files (VRCopyFile)
          Creating A File (VRCreateFile)
          Creating A Subdirectory (VRMkDir)
          Creating An Object (VRCreate)
          Creating An Object Using A Stem Variable (VRCreateStem)
          Customize Printer Settings (VRPrintJobDialog)
          Deleting Files (VRDeleteFile)
          Does A File Exist? (VRFileExists)
          Finding A File (VRFindFile)
          Getting A Value From A .INI Initialization File (VRGetIni)
          Getting Information About Disks (VRDiskInfo)
          Getting Information About Files (VRDir)
          Getting The Disk Label (VRDiskLabel)
          Getting The OS/2 File Type (VRGetFileType)
          Is It A Subdirectory? (VRIsDir)
          Listing Of OS/2 File Types (VRListFileTypes)
          Print A File (VRPrintFile)
          Putting A Value Into A .INI Initialization File (VRSetIni)
          Removing A Subdirectory (VRRmDir)
          Removing A Value From A .INI Initialization File (VRDelIni)
          Removing An Object (VRDestroy)
          Renaming A File (VRRenameFile)
          Showing The Full File Name For A File (VRExpandFileName)
          Sorting A Stem Variable (VRSortStem)
          Splitting A File Name Into Parts (VRParseFileName)
          Splitting A File Name Into Parts (VRParseFilePath)
          What Is The Current Drive? (VRCurrDrive)
          What Is The Current Subdirectory? (VRCurrDir)
          Function Summary Program
     Summary

Chapter 13 VX·REXX Sample Programs
     Where To Find These Programs
     Bounce
     Button
     Calculator
     DDE Explorer
     DragDrop
     File Browser
     Hint and Help
     Hocus Focus
     Mind Game
     MMW
     Movies
     Notebook
     Popup
     Printing
     Q+E Text
     RGB
     Sample Database
     Scan
     Threads
     Update DB Sample
     Window Controller
     Summary

Chapter 14 Working With Multiple Windows
     Built-In Secondary Windows
     Modeless Windows
          The Primary Window
          Window List Window
          Creating A Modeless Secondary Window
          Using The Modeless Secondary Window When The Program Is Running
          Closing The Modeless Secondary Window When The Program Is Running
          Positioning The Window
          Working
          Music-4
     Modal Windows
          The Primary Window
          Creating The Modal Secondary Window
          Using The Modal Secondary Window When The Program Is Running
          Returning A Value To The Primary Window
          Closing The Modal Secondary Window When The Program Is Running
          Using The Returned Value In The Primary Window Program
          Password
          A Few Comments About Passwords
     Summary

Chapter 15 Menus
     The Menu Bar
     A Cascaded Menu
     A Pop-Up Menu
     Menu Conventions
     Menus In VX·REXX
     Menu Editor
     Creating A Menu
          Laying Out The Main Level
          Entering The Second Level
          Programming The Menu Options
     Creating A Pop-Up Menu
     Function2
     Todo-4
     Summary

Chapter 16 Using Help and Hints
     Help
     IPF Help Files
          Property Approach
          ASCII File
     Hints
     Summary

Chapter 17 Multi-Threaded Applications
     When Should A Program Be Multi-Threaded?
     More On Threads
     Designing A Multi-Threaded Application
     Writing A VX·REXX Multi-Threaded Program
          Starting A Thread
          Communicating With A Thread
          Getting Information On Threads
          Stopping A Thread
          Working
     Summary

Chapter 18 Using The External Data Queue
     Three Demonstrations
          GETDATA.CMD And SENDATA.CMD
          GETDATA.CMD Then SENDATA.CMD
          SENDATA2.CMD
     Understanding External Data Queues
     Managing The External Data Queue
          Creating A New Queue
          Making A Queue Active
          Putting Data Into A Queue
          Putting Data Into A Queue From The Command Line
          Getting Data From A Queue
          Finding The Active Queue
          Deleting A Queue
     Avoiding Conflicts
     Using External Data Queues In VX·REXX
          Sendata
          Getdata
          Queue
               Getting The Process Started
               The Sending Threads
               The Receiving Threads
               Termination
     Summary

Chapter 19 Working With Configuration Files
     Which Configuration File To Use?
     Configuration Functions
          VRDelIni
          VRGetIni
          VRSetIni
     Using These In A Program
          Initializing The Program
          Getting Stored Values
          Storing Changes
          Deleting Configuration Information
     Summary

Chapter 20 Working With Dynamic Data Exchange
     Two Examples
          DeScribe
          Lotus
     DDE In VX·REXX
     Two Examples
          WC
          WC-Book
     Summary

Chapter 21 Debugging VX·REXX Programs
     The Error Window
     The Interactive Debugger
          Section List
          Source Window
          Variable Window
          Result Window
          Using The Interactive Debugger
          Tracing
          Stopping The Interactive Debugger
     The Old-Fashion Way
     Summary

Chapter 23 Program Summary
     VX·REXX Programs That Come With This Book
          Beeper
          Container
          Debug Example
          Edit
          Edit-2
          Edit-3
          Function
          Function2
          Getdata
          In-Line
          Ini
          Lines
          Keyboard
          Line-1
          Listbox
          Listbox2
          Lotlines
          Menu
          Message
          Message2
          Music
          Music-2
          Music-3
          Music-4
          Music-5
          Notebook
          Password
          PauseIt
          PauseIt2
          PickFile
          Pictures
          PostBack
          Prompt
          Queue
          Sample
          Sendata
          ShowEdit
          ShowText
          Survey
          Survey-2
          Survey-3
          Survey-4
          Survey-5
          Survey-6
          Survey-7
          Threads
          Todo-1
          Todo-2
          Todo-3
          Todo-4
          Todo-5
          ViewBmp
          ViewBmp2
          ViewIcon
          ViewIcn2
          ViewIcn3
          WC
          WC-Book
          Window-1
          Window-2
          Working
     VX·REXX Sample Programs
          Bounce
          Button
          Calculator
          DDE Explorer
          DragDrop
          File Browser
          Hint and Help
          Hocus Focus
          Mind Game
          MMW
          Movies
          Notebook
          Popup
          Printing
          Q+E Text
          RGB
          Sample Database
          Scan
          Threads
          Update DB Sample
          Window Controller
          Working
     REXX Programs
          REXX-1.CMD
          REXX-2.CMD
          REXX-3.CMD
          REXX-4.CMD
          REXX-5.CMD
          REXX-6.CMD
          REXX-7.CMD
          REXX-8.CMD
          REXX-9.CMD
          REXX-10.CMD
          REXX-11.CMD
          REXX-12.CMD
          TODO.CMD

Appendix A REXX Introduction
     REXX Programming
     Background
     Introduction
     Variables And Branching
     Logic Testing And Looping
     Subroutines
     Summary

Appendix B Selected REXX Programs

Appendix C Icons
     Icon Editor
     Installing An Icon
          Have A Disk File Ready
          Create A New Icon
          Paste An Existing Icon
          Drop-And-Drag An Icon
     The Icons That Come With This Book
     Summary

Appendix D Running Your Programs
     Using A Command Line
     Running From The Desktop
     Summary

 

 

© 2002 by Ronny Richardson, All Rights Reserved