home *** CD-ROM | disk | FTP | other *** search
- 70000%%%%Rexxbase%%%%(C) Copyright IBM Corp. 1992
- 70001%%%%Rexxbase%%%%Cover
- 70003%%%%Rexxbase%%%%Version Notice
- 70004%%%%Rexxbase%%%%Notices
- 70005%%%%Rexxbase%%%%Trademarks
- 70006%%%%Rexxbase%%%%Double-Byte Character Set (DBCS)
- 70007%%%%Rexxbase%%%%About This Book
- 70008%%%%Rexxbase%%%%Before You Begin
- 70009%%%%Rexxbase%%%%What You Need
- 70010%%%%Rexxbase%%%%What You Need to Know
- 70011%%%%Rexxbase%%%%Who Should Read This Guide
- 70012%%%%Rexxbase%%%%How This Guide Is Structured
- 70013%%%%Rexxbase%%%%Introduction to REXX
- 70014%%%%Rexxbase%%%%Features of REXX
- 70015%%%%Rexxbase%%%%Ease of Use
- 70016%%%%Rexxbase%%%%Free Format
- 70017%%%%Rexxbase%%%%Interpreted
- 70018%%%%Rexxbase%%%%Built-in Functions
- 70019%%%%Rexxbase%%%%Typeless Variables
- 70020%%%%Rexxbase%%%%Parsing Capabilities
- 70021%%%%Rexxbase%%%%Debugging
- 70022%%%%Rexxbase%%%%REXX and the OS/2 Program
- 70023%%%%Rexxbase%%%%About REXX and SAA
- 70024%%%%Rexxbase%%%%About Programming
- 70025%%%%Rexxbase%%%%If You Have Never Written a Computer Program
- 70026%%%%Rexxbase%%%%If You Are Already Familiar With Another Language
- 70027%%%%Rexxbase%%%%Exercises and Examples
- 70028%%%%Rexxbase%%%%The REXX Reference
- 70029%%%%Rexxbase%%%%How REXX Works
- 70030%%%%Rexxbase%%%%Basics
- 70031%%%%Rexxbase%%%%A Computer Conversation
- 70032%%%%Rexxbase%%%%Creating Your First Program
- 70033%%%%Rexxbase%%%%Running the Program
- 70034%%%%Rexxbase%%%%Problems
- 70035%%%%Rexxbase%%%%Stopping a Program
- 70036%%%%Rexxbase%%%%What Goes into a Program
- 70037%%%%Rexxbase%%%%Comments
- 70038%%%%Rexxbase%%%%First-line Comments
- 70039%%%%Rexxbase%%%%Keyword Instructions
- 70040%%%%Rexxbase%%%%Clauses
- 70041%%%%Rexxbase%%%%Literal Strings
- 70042%%%%Rexxbase%%%%Uppercase Translation
- 70043%%%%Rexxbase%%%%Variables
- 70044%%%%Rexxbase%%%%Fixing Syntax Errors
- 70045%%%%Rexxbase%%%%Test Yourself
- 70046%%%%Rexxbase%%%%Answers:
- 70047%%%%Rexxbase%%%%Summary
- 70048%%%%Rexxbase%%%%Advanced Topics
- 70049%%%%Rexxbase%%%%More about Clauses
- 70050%%%%Rexxbase%%%%Types of Clauses
- 70051%%%%Rexxbase%%%%Null Clauses
- 70052%%%%Rexxbase%%%%Labels
- 70053%%%%Rexxbase%%%%Instructions
- 70054%%%%Rexxbase%%%%For More Information
- 70055%%%%Rexxbase%%%%Variables
- 70056%%%%Rexxbase%%%%Basics
- 70057%%%%Rexxbase%%%%Handling Data with Symbols
- 70058%%%%Rexxbase%%%%Names and Values
- 70059%%%%Rexxbase%%%%Assignments
- 70060%%%%Rexxbase%%%%Displaying the Value of a Variable
- 70061%%%%Rexxbase%%%%Naming Variables
- 70062%%%%Rexxbase%%%%Test Yourself
- 70063%%%%Rexxbase%%%%Answers:
- 70064%%%%Rexxbase%%%%Other Assignments
- 70065%%%%Rexxbase%%%%Assigning User Input
- 70066%%%%Rexxbase%%%%Assigning an Expression Result
- 70067%%%%Rexxbase%%%%Summary
- 70068%%%%Rexxbase%%%%Advanced Topics
- 70069%%%%Rexxbase%%%%Variables as Symbols
- 70070%%%%Rexxbase%%%%Constants and Variables
- 70071%%%%Rexxbase%%%%Using Compound Symbols
- 70072%%%%Rexxbase%%%%Test Yourself
- 70073%%%%Rexxbase%%%%Answers:
- 70074%%%%Rexxbase%%%%A Scoreboard Array
- 70075%%%%Rexxbase%%%%Stems and Tails
- 70076%%%%Rexxbase%%%%Filling a Two-Dimensional Array
- 70077%%%%Rexxbase%%%%Variables in Programs and Subroutines
- 70078%%%%Rexxbase%%%%Special Variables
- 70079%%%%Rexxbase%%%%SYMBOL()Function
- 70080%%%%Rexxbase%%%%PROCEDURE Instruction
- 70081%%%%Rexxbase%%%%PROCEDURE EXPOSE Instruction
- 70082%%%%Rexxbase%%%%Other Types of Data Storage
- 70083%%%%Rexxbase%%%%Expressions
- 70084%%%%Rexxbase%%%%Basics
- 70085%%%%Rexxbase%%%%Transforming Data
- 70086%%%%Rexxbase%%%%Terms
- 70087%%%%Rexxbase%%%%Basic Operators
- 70088%%%%Rexxbase%%%%Operator Precedence
- 70089%%%%Rexxbase%%%%Using Functions
- 70090%%%%Rexxbase%%%%Comparing Data
- 70091%%%%Rexxbase%%%%Testing for True or False
- 70092%%%%Rexxbase%%%%Combining Expressions
- 70093%%%%Rexxbase%%%%Using Comparisons for Program Control
- 70094%%%%Rexxbase%%%%Using Expressions in Instructions
- 70095%%%%Rexxbase%%%%Tracing Evaluation
- 70096%%%%Rexxbase%%%%Summary
- 70097%%%%Rexxbase%%%%Advanced Topics
- 70098%%%%Rexxbase%%%%Precedence
- 70099%%%%Rexxbase%%%%Using Parentheses
- 70100%%%%Rexxbase%%%%Test Yourself
- 70101%%%%Rexxbase%%%%Answers:
- 70102%%%%Rexxbase%%%%More about Numbers
- 70103%%%%Rexxbase%%%%Concatenation
- 70104%%%%Rexxbase%%%%Substring Functions
- 70105%%%%Rexxbase%%%%Getting Pieces of Strings
- 70106%%%%Rexxbase%%%%Finding Lengths of Strings
- 70107%%%%Rexxbase%%%%Parsing
- 70108%%%%Rexxbase%%%%Comparisons
- 70109%%%%Rexxbase%%%%Comparing Numbers
- 70110%%%%Rexxbase%%%%Comparing Characters
- 70111%%%%Rexxbase%%%%Normal Comparison
- 70112%%%%Rexxbase%%%%Test Yourself
- 70113%%%%Rexxbase%%%%Answers:
- 70114%%%%Rexxbase%%%%Strict Comparisons
- 70115%%%%Rexxbase%%%%Boolean Operators
- 70116%%%%Rexxbase%%%%Test Yourself
- 70117%%%%Rexxbase%%%%Answer
- 70118%%%%Rexxbase%%%%Translating and Converting Data
- 70119%%%%Rexxbase%%%%Number Systems
- 70120%%%%Rexxbase%%%%Using Functions to Convert Data
- 70121%%%%Rexxbase%%%%Commands
- 70122%%%%Rexxbase%%%%Basics
- 70123%%%%Rexxbase%%%%Environment
- 70124%%%%Rexxbase%%%%From REXX to the OS/2 Program
- 70125%%%%Rexxbase%%%%Issuing a Command Expression
- 70126%%%%Rexxbase%%%%Echoing of OS/2 Commands:
- 70127%%%%Rexxbase%%%%Issuing a Command to Call a .CMD File
- 70128%%%%Rexxbase%%%%Using Variables
- 70129%%%%Rexxbase%%%%Using Quotes
- 70130%%%%Rexxbase%%%%To Summarize
- 70131%%%%Rexxbase%%%%ADDRESS Instruction
- 70132%%%%Rexxbase%%%%Test Yourself
- 70133%%%%Rexxbase%%%%Answers:
- 70134%%%%Rexxbase%%%%From the OS/2 Program to REXX
- 70135%%%%Rexxbase%%%%Reading Return Codes
- 70136%%%%Rexxbase%%%%More and Better Traps
- 70137%%%%Rexxbase%%%%The REXXTRY Program
- 70138%%%%Rexxbase%%%%Summary
- 70139%%%%Rexxbase%%%%Advanced Topics
- 70140%%%%Rexxbase%%%%REXX and Batch Files
- 70141%%%%Rexxbase%%%%Subcommand Processing
- 70142%%%%Rexxbase%%%%Trapping Command Errors
- 70143%%%%Rexxbase%%%%Instructions and Conditions
- 70144%%%%Rexxbase%%%%Disabling Traps
- 70145%%%%Rexxbase%%%%Using SIGNAL ON ERROR
- 70146%%%%Rexxbase%%%%Using CALL ON ERROR
- 70147%%%%Rexxbase%%%%A Common Error-handling Routine
- 70148%%%%Rexxbase%%%%Using PMREXX
- 70149%%%%Rexxbase%%%%Starting the PMREXX Program
- 70150%%%%Rexxbase%%%%The RxMessageBox Function
- 70151%%%%Rexxbase%%%%The PMREXX Trace Option
- 70152%%%%Rexxbase%%%%Program Control
- 70153%%%%Rexxbase%%%%Basics
- 70154%%%%Rexxbase%%%%Changing the Flow of a Program
- 70155%%%%Rexxbase%%%%Grouping Instructions
- 70156%%%%Rexxbase%%%%Testing Conditions
- 70157%%%%Rexxbase%%%%Simple Branching
- 70158%%%%Rexxbase%%%%Using DO...END for Multiple Clauses
- 70159%%%%Rexxbase%%%%Test Yourself
- 70160%%%%Rexxbase%%%%Answer
- 70161%%%%Rexxbase%%%%Two Paths:ELSE
- 70162%%%%Rexxbase%%%%The SELECT Instruction
- 70163%%%%Rexxbase%%%%Multiple Choice
- 70164%%%%Rexxbase%%%%Test Yourself
- 70165%%%%Rexxbase%%%%Answers
- 70166%%%%Rexxbase%%%%Repetitive Tasks
- 70167%%%%Rexxbase%%%%Conditional Loops
- 70168%%%%Rexxbase%%%%DO FOREVER with the LEAVE Instruction
- 70169%%%%Rexxbase%%%%DO WHILE Instruction
- 70170%%%%Rexxbase%%%%DO UNTIL Instruction
- 70171%%%%Rexxbase%%%%To Summarize
- 70172%%%%Rexxbase%%%%Test Yourself
- 70173%%%%Rexxbase%%%%Answers:
- 70174%%%%Rexxbase%%%%Using IF, SELECT, and DO
- 70175%%%%Rexxbase%%%%Using Counters to Exit Loops
- 70176%%%%Rexxbase%%%%Bigger Steps
- 70177%%%%Rexxbase%%%%Different Steps
- 70178%%%%Rexxbase%%%%Test Yourself
- 70179%%%%Rexxbase%%%%Answers:
- 70180%%%%Rexxbase%%%%Exiting a Program
- 70181%%%%Rexxbase%%%%Summary
- 70182%%%%Rexxbase%%%%Advanced Topics
- 70183%%%%Rexxbase%%%%Nesting IF Instructions
- 70184%%%%Rexxbase%%%%Nested IF and SELECT
- 70185%%%%Rexxbase%%%%Dangling ELSE
- 70186%%%%Rexxbase%%%%Test Yourself
- 70187%%%%Rexxbase%%%%Answer
- 70188%%%%Rexxbase%%%%NOP Instruction
- 70189%%%%Rexxbase%%%%ITERATE Instruction
- 70190%%%%Rexxbase%%%%Compound DO Instructions
- 70191%%%%Rexxbase%%%%Nested Loops
- 70192%%%%Rexxbase%%%%Program Structure
- 70193%%%%Rexxbase%%%%Basics
- 70194%%%%Rexxbase%%%%Subroutines
- 70195%%%%Rexxbase%%%%CALL Instruction
- 70196%%%%Rexxbase%%%%RETURN Instruction
- 70197%%%%Rexxbase%%%%Test Yourself
- 70198%%%%Rexxbase%%%%Answer
- 70199%%%%Rexxbase%%%%External Subroutines
- 70200%%%%Rexxbase%%%%Using Arguments
- 70201%%%%Rexxbase%%%%ARG() Function
- 70202%%%%Rexxbase%%%%Subroutines and Data
- 70203%%%%Rexxbase%%%%Summary
- 70204%%%%Rexxbase%%%%Advanced Topics
- 70205%%%%Rexxbase%%%%Structured Programming
- 70206%%%%Rexxbase%%%%Function Calls
- 70207%%%%Rexxbase%%%%Creating a Function
- 70208%%%%Rexxbase%%%%Comparing Subroutines and Functions
- 70209%%%%Rexxbase%%%%Using a Call of the Other Kind
- 70210%%%%Rexxbase%%%%Jumps
- 70211%%%%Rexxbase%%%%SIGNAL Instruction
- 70212%%%%Rexxbase%%%%Condition Traps
- 70213%%%%Rexxbase%%%%Using CALL ON
- 70214%%%%Rexxbase%%%%Useful Functions
- 70215%%%%Rexxbase%%%%Parsing
- 70216%%%%Rexxbase%%%%Basics
- 70217%%%%Rexxbase%%%%Conversations
- 70218%%%%Rexxbase%%%%Prompting the User for Input
- 70219%%%%Rexxbase%%%%Test Yourself
- 70220%%%%Rexxbase%%%%Answers:
- 70221%%%%Rexxbase%%%%Getting Data When the Program Starts
- 70222%%%%Rexxbase%%%%Multiple-Variable Assignment
- 70223%%%%Rexxbase%%%%Checking for Input Errors
- 70224%%%%Rexxbase%%%%Using a Placeholder
- 70225%%%%Rexxbase%%%%Test Yourself
- 70226%%%%Rexxbase%%%%Answers:
- 70227%%%%Rexxbase%%%%Parsing Variables and Expressions
- 70228%%%%Rexxbase%%%%Parsing Numeric Data
- 70229%%%%Rexxbase%%%%Summary
- 70230%%%%Rexxbase%%%%Advanced Topics
- 70231%%%%Rexxbase%%%%Parsing with Patterns
- 70232%%%%Rexxbase%%%%Literal String Patterns
- 70233%%%%Rexxbase%%%%Character Position
- 70234%%%%Rexxbase%%%%Absolute Position
- 70235%%%%Rexxbase%%%%Relative Position
- 70236%%%%Rexxbase%%%%Variables in Patterns
- 70237%%%%Rexxbase%%%%To Summarize
- 70238%%%%Rexxbase%%%%String Functions
- 70239%%%%Rexxbase%%%%Getting Pieces
- 70240%%%%Rexxbase%%%%Editing
- 70241%%%%Rexxbase%%%%Deleting
- 70242%%%%Rexxbase%%%%Formatting
- 70243%%%%Rexxbase%%%%Counting
- 70244%%%%Rexxbase%%%%Comparing
- 70245%%%%Rexxbase%%%%Finding Positions
- 70246%%%%Rexxbase%%%%Examples
- 70247%%%%Rexxbase%%%%Arithmetic
- 70248%%%%Rexxbase%%%%Basics
- 70249%%%%Rexxbase%%%%About REXX Numbers
- 70250%%%%Rexxbase%%%%Checking Input Numbers
- 70251%%%%Rexxbase%%%%Calculating
- 70252%%%%Rexxbase%%%%Addition and Subtraction
- 70253%%%%Rexxbase%%%%Multiplication and Powers
- 70254%%%%Rexxbase%%%%Division
- 70255%%%%Rexxbase%%%%Range and Precision
- 70256%%%%Rexxbase%%%%Exponential Notation
- 70257%%%%Rexxbase%%%%Test Yourself
- 70258%%%%Rexxbase%%%%Answer
- 70259%%%%Rexxbase%%%%Formatting Output
- 70260%%%%Rexxbase%%%%Summary
- 70261%%%%Rexxbase%%%%Advanced Topics
- 70262%%%%Rexxbase%%%%Putting Numbers into Columns
- 70263%%%%Rexxbase%%%%Formatting Errors
- 70264%%%%Rexxbase%%%%Rounding Errors
- 70265%%%%Rexxbase%%%%Test Yourself
- 70266%%%%Rexxbase%%%%Answer
- 70267%%%%Rexxbase%%%%Conventional and Scientific Notation
- 70268%%%%Rexxbase%%%%Fixed-point (Conventional) Notation
- 70269%%%%Rexxbase%%%%Floating-point (Scientific) Notation
- 70270%%%%Rexxbase%%%%Test Yourself
- 70271%%%%Rexxbase%%%%Answers:
- 70272%%%%Rexxbase%%%%Changing Precision
- 70273%%%%Rexxbase%%%%Rounding and Precision
- 70274%%%%Rexxbase%%%%Comparing Numbers
- 70275%%%%Rexxbase%%%%Powers (** Operator)
- 70276%%%%Rexxbase%%%%Test Yourself
- 70277%%%%Rexxbase%%%%Answers
- 70278%%%%Rexxbase%%%%A Square-Root Function
- 70279%%%%Rexxbase%%%%Input and Output
- 70280%%%%Rexxbase%%%%Basics
- 70281%%%%Rexxbase%%%%A Stream of Information
- 70282%%%%Rexxbase%%%%Text File Processing
- 70283%%%%Rexxbase%%%%LINEOUT() Function
- 70284%%%%Rexxbase%%%%Calling LINEOUT()
- 70285%%%%Rexxbase%%%%Writing Data to a File
- 70286%%%%Rexxbase%%%%Reading Data from a File
- 70287%%%%Rexxbase%%%%LINEIN() Function
- 70288%%%%Rexxbase%%%%LINES() Function
- 70289%%%%Rexxbase%%%%Resetting the Read Position
- 70290%%%%Rexxbase%%%%Printing a Text File
- 70291%%%%Rexxbase%%%%Sending Special Characters
- 70292%%%%Rexxbase%%%%CHAROUT() Function
- 70293%%%%Rexxbase%%%%A Printout Program
- 70294%%%%Rexxbase%%%%To Summarize
- 70295%%%%Rexxbase%%%%STREAM() Function
- 70296%%%%Rexxbase%%%%Queues
- 70297%%%%Rexxbase%%%%Lists of Data
- 70298%%%%Rexxbase%%%%Putting Data on a Queue
- 70299%%%%Rexxbase%%%%Reading the Queue
- 70300%%%%Rexxbase%%%%QUEUED Function
- 70301%%%%Rexxbase%%%%Summary
- 70302%%%%Rexxbase%%%%Advanced Topics
- 70303%%%%Rexxbase%%%%More about Data Streams
- 70304%%%%Rexxbase%%%%Default Streams
- 70305%%%%Rexxbase%%%%Parsing Default Input
- 70306%%%%Rexxbase%%%%STREAM() Function
- 70307%%%%Rexxbase%%%%Getting Information about a Stream
- 70308%%%%Rexxbase%%%%Opening and Closing Streams
- 70309%%%%Rexxbase%%%%Accessing Data within a Stream
- 70310%%%%Rexxbase%%%%More about Queues
- 70311%%%%Rexxbase%%%%Examples
- 70312%%%%Rexxbase%%%%Program Style
- 70313%%%%Rexxbase%%%%Basics
- 70314%%%%Rexxbase%%%%Consider the Data
- 70315%%%%Rexxbase%%%%Test Yourself
- 70316%%%%Rexxbase%%%%Answer
- 70317%%%%Rexxbase%%%%Define the Tasks
- 70318%%%%Rexxbase%%%%Reconsider the Data
- 70319%%%%Rexxbase%%%%Create Modules
- 70320%%%%Rexxbase%%%%Planning the Program
- 70321%%%%Rexxbase%%%%Designing Loops
- 70322%%%%Rexxbase%%%%Conclusion
- 70323%%%%Rexxbase%%%%Putting It All Together
- 70324%%%%Rexxbase%%%%Testing and Debugging
- 70325%%%%Rexxbase%%%%Using TRACE
- 70326%%%%Rexxbase%%%%TRACE Symbols
- 70327%%%%Rexxbase%%%%Interactive Debugging
- 70328%%%%Rexxbase%%%%Summary
- 70329%%%%Rexxbase%%%%Advanced Topics
- 70330%%%%Rexxbase%%%%Making Programs Easy to Read
- 70331%%%%Rexxbase%%%%Using REXX with Applications
- 70332%%%%Rexxbase%%%%Basics
- 70333%%%%Rexxbase%%%%Customizing OS/2 Programs
- 70334%%%%Rexxbase%%%%Accessing Command Environments
- 70335%%%%Rexxbase%%%%Using External Functions
- 70336%%%%Rexxbase%%%%Summary
- 70337%%%%Rexxbase%%%%Advanced Topics
- 70338%%%%Rexxbase%%%%The REXXUTIL external function package
- 70339%%%%Rexxbase%%%%Functions that Replace Commands
- 70340%%%%Rexxbase%%%%Functions for Saving Information
- 70341%%%%Rexxbase%%%%Using the Screen
- 70342%%%%Rexxbase%%%%Using the Screen (continued)
- 70343%%%%Rexxbase%%%%Seaching Functions
- 70344%%%%Rexxbase%%%%Additional RexxUtil Functions
-