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.