| ESL Training Course |
| About this Manual |
| An Introduction to the User Interface Design Process and the ESL Technology Family |
| The Graphical User Interface Design Process |
| User Analysis |
| Task Analysis |
| Prototyping |
| Usability Testing |
| Product Survey |
| Components of the ESL Technology Family |
| ESL Layout Editor |
| ESL QuikStep |
| ESL DB/Assist |
| ESL SQL Wizard |
| ECS Fields |
| Client/Server Models |
| Benefits of Using the ESL Technology Family |
| The Process |
| Chapter Summary |
| File and Program Structure |
| Program Structure |
| Files |
| Code Organization |
| Recommended Include File Structure |
| Chapter Summary |
| Building Objects |
| Building Objects |
| Types of ESL Objects |
| Defining an Object and its Attributes |
| Attributes |
| Examples |
| Graphical Region |
| Primary Region |
| Key Example |
| Ancestry 1 |
| Ancestry 2 |
| Exercise on Ancestry |
| Chapter Summary |
| Language Syntax |
| Color Sets |
| Screen Composition |
| Screen Style |
| Sample Style Guidelines |
| Exercise 1 - Creating Graphical and Textual Regions |
| Part A - Create a primary graphical region |
| Part B- Create a secondary graphical region |
| Part C - Create a secondary textual region. |
| Part D - Save, Compile and Run the program. |
| Part E (Optional) - Capture compile and runtime errors. |
| Part F (Optional) - Edit the objects. |
| Exercise 2 Creating Graphical, Textual, and Image Regions |
| Part A - Create a primary graphical region |
| Part B - Create a textual region |
| Part C - Create an image region |
| Part D - Take code from the Layout Editor and bring it into QuikStep |
| Building Other ESL Objects |
| Dialog Boxes and Dialog Regions |
| Characteristics of Dialog Boxes and Dialog Regions |
| Creating a Dialog Box or Region |
| Dialog Controls |
| Types of Dialog Controls |
| Characteristics of a Dialog Control |
| Creating a Dialog Control |
| Editing a Dialog Control |
| Textual Regions |
| Textual Drawing Statements |
| Action Statements |
| Using Segments, Blocks and Textual Lines |
| Built-in Functions For Textual Regions |
| Colored Textual Region |
| Chapter Summary |
| Combining Objects |
| Selecting Appropriate Object Types |
| Selecting Appropriate Dialog Controls |
| Exercise 3 Creating Dialog Regions & Controls |
| Part A - Edit the program from Exercise 2 with ESL Layout Editor |
| Part B - Create a dialog region. |
| Part C - Add dialog controls |
| Part D - Obtain code from the ESL Layout Editor and bring it into the ESL Quikstep |
| Action Bars |
| Comparison of Object Types |
| Example |
| Chapter Summary |
| Exercise 4 Creating Action Bars |
| Part A - Edit the program from Exercise 3 and add an action bar template |
| Part B - Use the action bar template in primary region |
| Part C - Compile and run the program |
| Classes |
| Example |
| Chapter Summary |
| Making Objects Work |
| Responses |
| Types of Responses |
| Example of Responding to an Item and an Object |
| Example of Responding to an item Class and an Object |
| Action Statements |
| Action Statements for All ESL Objects |
| Action Statements for Changing Attributes |
| Action Statements for Textual Regions |
| Action Statements for Action Bars |
| Action Statements for Dialog Boxes and Dialog Regions |
| Action Statements for Dialog Controls |
| On Clauses |
| Action Statements for Direct Manipulation (Drag and Drop) |
| Exercise on Response and Action Statements |
| Changing the Pointer |
| Error Handling |
| Validation |
| Help Systems |
| ESL's Help Support |
| Chapter Summary |
| Exercise 5 Response and Action Statements |
| Part A - Open the code from Exercise 4. |
| Part B - Create a class for the radio buttons. |
| Part C - Write response code. |
| Part D - Compile and run the project |
| Solution |
| Variables and Built-in Functions |
| Variables, Constants, and Arrays |
| Built-in Functions |
| Object Inquiry |
| Example 1 |
| Example 2 |
| Example 3 |
| Response Inquiry |
| Example |
| Item Inquiry |
| Example |
| Special Inquiry |
| Example |
| Chapter Summary |
| Exercise 6 Built-in Functions |
| Part A - Modify the response to the class of radio buttons |
| Part B - Add the customer's name to the confirmation letter. |
| Part C - Display bitmap images that correspond to the destination selected. |
| Part D - Change the image region's title bar text. |
| Part E - Save the project |
| Part F (Optional) - Change the size of the image region |
| Solution |
| Debugging |
| Debugging with ESL Quikstep |
| Run-time Arguments for Execution |
| Chapter Summary |
| Extraction |
| Skip and Take Clauses |
| Extraction - An Example |
| Extraction Reference Table |
| Extraction and Built-in Functions |
| Chapter Summary |
| Exercise 7 Extraction |
| Part A - Display the client's first name only in the confirmation letter |
| Part B - Display the city name in the confirmation letter. |
| Part C - Compile Test and Save the project. |
| Solution |
| Controlling Program Flow |
| Loops and Other Statements |
| Blocks |
| Types of Blocks |
| Notes on Blocks |
| Chapter Summary |
| Action Routines, Subroutines, & Functions |
| Subroutines vs. Action Routines |
| Action Routines |
| Example |
| Internal Subroutines |
| Example |
| External Subroutines |
| External Stimulus Libraries |
| Functions |
| Example |
| ESL Function & Subroutine Libraries |
| Chapter Summary |
| Exercise 8 (Optional ) Subroutine and Functions |
| Part A - Add a subroutine to the program. |
| Part B - Display a message box. |
| Part C - Test and Save the project. |
| Solution |
| Application Architecture |
| Object Parameter Definitions |
| Generic Responses |
| Processing the Parameter |
| Generic Dialog Box Processing |
| ESL System Structure |
| Chapter Summary |
| Database Communications |
| ESL Database Support Options |
| Dynamic vs. Static SQL |
| Local Applications |
| Defining and Starting Applications |
| Sending Input to Applications |
| Responding to Output from Applications |
| Stopping Applications |
| Putting It All Together |
| Order of Responses |
| Header |
| Chapter Summary |
| Exercise 9 - Using DB2 |
| Part A - Run DB2 queries standalone. |
| Part B - Send a query to the SAMPLE database |
| Part C - Compile, Save and Test the project. |
| Part D - (Optional) Insert SELECT results into a table object. |
| Solution |
| Exercise 9a - (Optional) Accessing the Hard Drive |
| Solution |
| Developing An ESL To Host Connection Part I |
| Host Communications |
| PC-to-Host Hardware Connection |
| ESL-to-Host |
| The PC Screen Buffer |
| Synchronizing With the Host |
| ESL Communications Server Subroutines |
| Subroutine Input and Output Variables |
| The Fields Utility |
| Chapter Summary |
| Some Windows 3270/5250 Emulators |
| Configuration of 3270/5250 |
| ESLCMSRV.INI |
| Developing an ESL To Host Connection Part II |
| Steps in Developing an ESL-to-Host Front-End |
| Starting and Stopping Communications |
| Navigating Through a Host Application |
| Logon to Host Example |
| Reading and Writing |
| Line-Oriented Routines |
| Reading and Writing Using ECS Field Subroutines |
| Reading and Writing Using ECS Field Subroutines |
| Logon Example using Fields Routine |
| Chapter Summary |
| Subroutines |
| Exercise 10 3270/5250 Communications (Optional) |
| Part A - Become familiar with the host application |
| Part B - Create an ESL application |
| Part C - Add dialog controls. |
| Part D - Write ESL code to connect to the host. |
| Part E - Send the UserID and Password to the host |
| Part F - Navigate through several screens of your host application |
| Part G - Log off from the host application to the logon screen. |
| Part H - Write other responses. |
| Part I - (Optional) Use EcsGetError in the case the Watch is unsuccessful. |
| Exercise 10 Solution (including all of the base code and optional sections) |
| Developing An ESL To Host Connection Part III |
| Synchronizing ESL With the Host |
| Specifying ESL-to-Host Synchronization |
| Synchronizing ESL With the Host |
| Defining Watch Criteria |
| Executing Watch Criteria |
| EcsWatchAndWait Example |
| EcsWatch Example |
| Chapter Summary |
| Controlling the Emulator |
| Error Handling |
| Error Handling Example |
| Error Handling With EcsCheckIndicator |
| Subroutines |
| 3270/5250 Screen Watching Solution |
| APPC |
| Memory Management |
| Types of Memory |
| Memory Allocation |
| Memory Usage |
| Assessing Memory Usage |
| Optimizing Memory Usage |
| Squeeze Memory and Related Commands |
| Memory Example: |
| Change to Program |
| Chapter Summary |
| Appendix A - Specifying Fonts in EASEL Programs |
| Appendix B - Suggested Naming Conventions |
| Appendix C - Dynamic Action Bars |
| Appendix D - A Region's World, Window, And Viewpoint |
| Manipulating The Viewport |
| Manipulating The Window |
| Manipulating The Windows of a Textual Region |
| Appendix E - Screen Size |
| Appendix F - Keys |
| Appendix G - CONFIG.ESL Settings for ESL |
| Appendix H - Command Line Options for ESL |
| Appendix I - Dynamic Data Exchange |
| Appendix J - DDE |
| Sample DDE Client |
| Sample DDE Server |
| Glossary |
© 2011 ESL Syndetic Ltd.