ebook img

Object REXX for Windows NT and Windows 95 PDF

590 Pages·1997·17.052 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Object REXX for Windows NT and Windows 95

Object REXX for Windows NT and Windows 95 Object REXX for Windows NT and Windows 95 Ueli Wahli Ingo Holder Trevor Turton INTERNATIONAL TECHNICAL SUPPORT ORGANIZATION SAN JOSE, CALIFORNIA 95120 PRENTICE HALL PTR UPPER SADDLE RIVER, NEW JERSEY 07458 © Copyright International Business Machines Corporation 1997. 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. This edition applies to Object REXX running under Windows NT and Windows 95. Comments about ITSO Technical Bulletins may be addressed to: IBM Corporation ITSO, Almaden Research Center, QXX/80-E2, 650 Harry Road, San Jose, California 95120-6099 For information about redbooks http://www.redbooks.ibm.com/redbooks Send comments to [email protected] Published by Prentice Hall PTR Prentice-Hall, Inc. A Simon & Schuster Company Upper Saddle River, NJ 07458 Acquisitions Editor: Michael E. Meehan Manufacturing Manager: Alexis R. Heydt Cover Design: Ueli Wahli, Ingo Holder, Design Source Copy Editor: Maggie Cutler Editorial/Production Supervision: Joe Czerwinski The publisher offers discounts on this book when ordered in bulk quantities. For more information, contact: Corporate Sales Department, Prentice Hall PTR, One Lake Street, Upper Saddle River, NJ 07458 Phone: 800-382-3419; FAX: 201-236-7141; E-mail (Internet): [email protected] For book and bookstore information http://www.prenhall.com Printed in the United States of America 1 0 9 8 7 6 5 4 3 2 1 ISBN 0-13-858028-6 Prentice-Hall International (UK) Limited, London Prentice-Hall of Australia Pty. Limited, Sydney Prentice-Hall Canada Inc., Toronto Prentice-Hall Hispanoamericana, S.A., Mexico Prentice-Hall of India Private Limited, New Delhi Prentice-Hall of Japan, Inc., Tokyo Simon & Schuster Asia Pte. Ltd., Singapore Editora Prentice-Hall do Brasil, Ltda., Rio de Janeiro Abstract Object orientation (OO) is a topic of great interest and concern today. Some developers who use OO claim that it significantly increases productivity; others view it as good for rocket science, not for business. Many OO languages seem complicated and alien to programmers familiar with procedural languages, such as COBOL. This book introduces Object REXX, a new OO language that breaks the OO barrier. Object REXX is based on a tried-and-trusted language used around the world today. Because it has the most complete and easy-to-use set of OO features of any language, it offers a sim- ple way for programmers with a procedural background to enter the new world of objects. This book demonstrates a practical approach to using Object REXX and OO techniques to develop commercial systems that meet changing business requirements. It tells the story of how Hanna, Steve, and Curt design and implement a commercial application system step by step, using object persistence in file systems and relational databases, graphical user interface (GUI) builders, and Internet Web pages. Extensive code examples are provided to illustrate every step. v To Hanna, Curt, and Steve, the hard-working people at the fictitious Hacurs company. Originally loosely defined, they inspired the writing of real-life dialog to portray a small company trying to find a niche in the marketplace. Any resemblance to real people is completely coinci- dental. To my colleagues, who work eagerly and with much personal commit- ment to get Object REXX outside the confines of IBM. To my dear friends, Dr. Johannes Kadel and Ronan Kieran, who inspired my interest in English. To my parents who supported me in various endeavors. To all those who like Object REXX and will help making it a well-known language on Windows platforms as well. Ingo To my wife Ingrid, for the love and patience she showed while her hus- band labored over recalcitrant programs and screeds of text. Trevor To my wife, Patricia, for her ongoing support and understanding of my long hours at work. To the staff at the ITSO San Jose Center for mak- ing work a joy, at least most of the time. Ueli vi Object REXX for Windows Contents Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiii Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvii Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxix How This Document Is Organized . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxx The Team That Wrote This Redbook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxiv Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxv Comments Welcome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxv Introducing the Hacurs Company . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Part 1. Introducing Classic REXX and Object REXX . . . . . . . . . 3 Chapter 1. Introducing Classic REXX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 A Lesson in Classic REXX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Structured Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 The Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 The Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 The Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Procedural Programming Using Subroutines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 The Subroutine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 The Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 The Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Host Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Stems and Compound Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Hints and Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Chapter 2. Introducing Object REXX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 What’s New in Object REXX? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Why REXX? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Why Object Orientation? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 The Productivity Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 The Reuse Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 The Waterfall Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 The Spiral Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Prototyping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 The Paradigm Shift . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Better Reuse from the OO Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Communities of Cooperative Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Bloated PC Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Standard Software Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Liberating Objects from Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Contents vi i The CORBA Standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 So Why Object REXX? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Chapter 3. How Does Object REXX Implement OO? . . . . . . . . . . . . . . . . . . . . 57 Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Inheritance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Abstract Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Multiple Inheritance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Object REXX Variable Pools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Object Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Object Creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Object Destruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Private and Public Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Class and Instance Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Meta Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Polymorphism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 The Object REXX Class Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 The Object REXX Class Library Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 Experimental Class Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 OODialog Class Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 Tokenizing Object REXX Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Automatic Tokenizing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Part 2. The Car Dealer Scenario . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Chapter 4. The Car Dealer Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 The Car Dealer Opportunity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 The Application Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Methods and Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Relationships Among Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 The Object REXX Collection Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Object Creation and Destruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Implementation of the Model in Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Implementation Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 Sample Class Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Source Code for Base Class Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Chapter 5. ASCII User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Designing the User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 ASCII User Interface As an Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 The AUI Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 The AUI Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 ASCII Menus as Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 The Menu Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Implementing the Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Appearance of ASCII User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 viii Object REXX for Windows Source Code for ASCII User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Chapter 6. Persistent Objects on Disk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 Storing Objects in FAT Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 Format of the Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Implementing the Changes in Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 The Class Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 The Requires Directive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 The Persistent Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 Source Code and Sample Data for FAT Class Implementation . . . . . . . . . . . . . . 119 Chapter 7. Graphical User Interfaces with OODialog . . . . . . . . . . . . . . . . . . 121 The Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Resource Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Object REXX Dialog Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Using the Resource Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 Creating a Dialog with Object REXX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 The UserDialog Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Changing the Dialog Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 What’s Going On Inside . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 Implementing a Method for a Push Button . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 Doing Graphics with OODialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 Nesting Dialogs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 Summary of User Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 OODialog Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 The ResDialog Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 The CategoryDialog Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 Standard Dialog Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 Standard Dialog Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 Timed Message Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 Input Box, Integer Box, Password Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 Multiple Input Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 List Choice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 Multiple List Choice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 Check List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 Single Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 Tokenizing OODialog Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 The Car Dealer GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 Main Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 Customer Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 Vehicle Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 Work Orders Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 Add Service Items Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 Bill Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 Parts List Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 Service Items Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 Source Code for OODialog GUI Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 How to Structure OODialog Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 OODialog Class Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 OODialog Sample Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 Contents i x Chapter 8. Persistent Objects in DB2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 Storing Objects in DB2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 Persistent Methods for DB2 Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 Implementation of DB2 Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 Implementation of Load at Application Start . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 Implementation of Load-on-Demand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 Implementation Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 Setting Up DB2 on Windows NT and Windows 95 . . . . . . . . . . . . . . . . . . . . . . . 184 Source Code for DB2 Class Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 Chapter 9. Using Advanced DB2 Facilities . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 Multimedia in DB2 BLOBs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 Using DB2 BLOBs from Object REXX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 Multiple Multimedia Files in BLOBs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 Multimedia in the Car Dealer Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 Implementing the DB2 Multimedia Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 Implementation Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 Source Code for DB2 Multimedia Implementation . . . . . . . . . . . . . . . . . . . . . . . 202 Chapter 10. Data Security with Object REXX and DB2 . . . . . . . . . . . . . . . . 203 The Security Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 Coding Stored Procedures with Object REXX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 Chapter 11. Configuration Management with Object REXX . . . . . . . . . . . . 215 Breaking an Application into Multiple Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 Using Multiple Subdirectories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 Configuration Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 Overall Car Dealer File Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 Communication Among Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 The Local Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 Installation Program Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 Implementation of Configuration Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 Using the Configuration File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 Configuration File for List Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 Implementation of the Car Dealer Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 Using the Car Dealer Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 Source Code for Configuration Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 Chapter 12. Object REXX and the World Wide Web . . . . . . . . . . . . . . . . . . . . 233 Hacurs Connects to the Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 Hacurs Makes a Plan for the Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 Hacurs Designs a Home Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 The Home Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 Web Car Dealer Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 Web Common Gateway Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 HTML Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 Customer Search Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 Program Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 Customizing the File Organization on the Web Server . . . . . . . . . . . . . . . . . . . 251 Car Dealer Common Interface Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 Multimedia on the Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 x Object REXX for Windows

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.