DBASE1 - dBASE Plus Core Concepts
| Categories |
Programming Training, Database Training, dBASE Plus Training |
| Duration |
5 days (35 hours) |
| Pre-requisites |
Programming experience in dBASE for DOS or Windows or any xBase dialect or high level language. Assumes experience with dBASE or another xBase dialect and familiarity with database terms and concepts. Windows programming experience not required. |
|
|
|
| Courseware |
DBASE1-BS (250 pages) |
| Price |
$1975 |
| Notes |
Uses the latest release of dBASE Plus in the course, but concepts also apply to Visual dBASE 7.x and dB2K (dBASE 2000).
The DBASE2 - dBASE Plus Advanced Topics course is also available as a follow-up to this course, for experienced dBASE Plus programmers.
|
This dBASE Plus training class is designed to transition programmers from prior versions of dBASE or other xBase dialects in DOS or Windows to dBASE Plus, the most current release of dBASE. In addition to hands-on work with the development environment, components and tools, there is extensive coverage of Windows programming techniques, event driven programming, object oriented programming, and the database object hierarchy.
"There really is an "aha phenomenum" just like they taught me in psychology school. Didn't really realize that I wasn't really grasping the concept. Just all of a sudden everything got about 100% easier and code seems to work the first time. What a welcome change! Thanks for all of your help.." -- John W. from Parker, CO
"Ted is probably the best teacher that I have ever encountered in many many years of academia. His methods of teaching are excellent.." -- Kenny D. from Encino, CA
"(Ted Blue was) simply brilliant. Clear, easy to understand, and with a wealth of knowledge. A Ted clone to bring home ;-) should have been included in the course. (If you need) to learn dBase, if that is new ground, this course is a must.." -- Hans Kristian H. from Oslo, Norway
"I thought that Ted made the class. I soley attended the course because of the fact that Ted taught the class. I was not disappointed.." -- Gregg F. from Brentwood, TN
"I had NO experience with Windows programming, only limited knowledge of Windows itself, and even with knowing essentially none of the syntax used in db2k, this gave me a good base from which to build my knowledge and begin the transition of my programs, etc, at work from db4 to db2k and the Windows environment. Outstanding instruction - good speaker - good with the diversity of students and their various levels - Ted (Blue) was excellent at making the answers to each person's questions relate to everyone in the class.." -- Walter F. from Eureka, CA
New Features
Supported File Formats
Report Objects / Report Designer
Project Explorer
Data Objects
ActiveX Integration
Enhanced Visual Designers
Inspector Improvements
Source Code Editor
New Classes
Database Enhancements
New DBF7 File Format
Web Development
dQuery/Web
dBASE Language Issues
New Language Constructs
Comments (*, //, /* */)
C-Style Operators
Assignment Operator
Literal Dates and Arrays
The WITH Statement
Variable Scoping
PUBLIC
PRIVATE
LOCAL
Declaring Local Variables
Visibility of Local Variables
Limitations of Local Variables
STATIC
Comparing Public, Private, Local and Static
Codeblocks
Codeblock Variables
Executing Codeblocks
Expression Codeblocks
Statement Codeblocks
Returning Values from Codeblocks
The Codeblock Builder
Exception Handling
Catching Exceptions with try..catch
Resource Protection with try..finally
Dynamic External Objects
Enabling and Disabling DEO
Searching for External Objects
Source Code Aliasing
Creating Source Code Aliases
Using Source Code Aliases
Object Oriented Programming
OOP Terminology
Understanding Objects
Objects are Variables
Objects are Collections
Objects have Methods
this
Instances vs. References
Copying Objects
Passing Objects as Parameters
Finding Objects with FindInstance()
Releasing Objects
Object Operators
The NEW Operator
The Dot Operator ( . )
The Index Operator ( [ ] )
Working with Objects
Dynamic Subclassing
Adding Properties to Objects
Properties as a Replacement for PUBLIC Variables
Creating Form Properties
Creating Global Properties
Adding Methods to Objects
Dynamic Subclassing using Object()
Adding Indexed Properties
String-Indexed Properties
Working with Classes
The Scope Resolution Operator ( :: )
Calling Class Methods
Overriding Methods
Calling Ancestor Methods
Implicit Variables
Creating Implicit Variables
dBASE Classes
Form Classes
Control Classes
Utility Classes
Database Classes
Custom Classes
The Design Environment
The Navigator
The Command Window
The Project Explorer
The Form Designer
The Component Palette
The Inspector
Properties in the Inspector
Events in the Inspector
Methods in the Inspector
Using the Inspector at Runtime
The Field Palette
The Format Toolbar
The Alignment Toolbar
The Menu Designer
The Source Editor
The Report and Label Designer
The Table Designer
The SQL Designer
The Debugger
Invoking the Debugger
Debuggable Files
Forms and Projects
Project Management
Project Files
Creating Projects
Creating Forms
Creating Forms with the Form Wizard
Creating Forms with the Form Designer
Working with Forms
Running Form Files
Referencing Form Files
Creating Form Variables
Closing Forms
Linking Other Files to Form Files
SET PROCEDURE TO <filename>
DO <filename>
Including Header Files with #include
Working with Forms
The .WFM File Structure
Form File Sections
The Header Section
The Bootstrap Section
The Class Section
The General Section
Start and End Points for Form Sections
The Form's Class Definition
The Constructor
Methods
Start and End Points in the Class Definition
The Complete Form File Layout
Code Generation
Editing Properties in the .WFM file
Form Types
MDI and SDI Forms
The Frame Window
Controlling the Frame Window
Modal vs. Modeless Forms
Displaying a Modeless Form
Displaying a Modal Form
Dialogs
Working with Dialogs
Working with Form Types
Multi-page Forms
Working with Multi-page Forms
The Parent Hierarchy
Components are Form Properties
The Elements Property
Containers and the Parent Hierarchy
Component Order
Component Order and Containers
Component Order and Caption Shortcuts
Working with Containers
Custom Form Classes
Menus and Toolbars
Menus
Creating Menus
Built-in Menu Objects
Menu Shortcuts
Working with Menus
Menu Structure
The .MNU File Structure
Layout of the .MNU File
Menu Classes
The MENUBAR Class
The MENU Class
The Menu Object Hierarchy
Accessing Menus at Runtime
Working with Menus
Popup Menus
The POPUP Class
Working with Popup Menus
Toolbars
Toolbar Classes
The TOOLBAR Class
The TOOLBUTTON Class
Using a Custom Toolbar Class
Creating Toolbars in Code
Attaching and Detaching a Toolbar
Reopening a Closed Toolbar
Custom Toolbars
Working with Toolbars
The Component Library
Common Properties, Events and Methods
Common Properties
Common Events
Common Methods
Editing Common Properties
Unique Properties
Working with Common Properties
Components
Components Grouped by Category
Components Grouped by Functionality
Windows Control Types
The Standard Components
Development Steps
Using the Standard Components
Event-driven Programming
The SET Technique
Determining the Event
Determining the Target
Determining the Source
Implementing Component Interaction
Controlling User Interaction
Lists and Groups
The DataSource Property
The Group Property
Working with Lists and Groups
Initialization and Synchronization
Primary Controls
Synchronizing Controls
Synchronizing Controls at Startup
Synchronizing Controls at Runtime
Working with Initialization
Persistence
The Windows Registry
The Registry Component
Working with the Registry
The Data Access Components
Creating a Query Tester
The Data Button Components
Working with the Data Buttons
The Report Components
StreamFrames
Groups
The Custom Components
The ActiveX Components
Creating Database Applications
The Data Access Components
Data Object Connections
Rowsets
Building a Dataset
Designing a Data Model
Creating Tables
Creating a BDE Alias
The Project Manager Application
Master-Detail Relationships
Adding Records
Dialog Editing
Inline Editing
Implementing Inline Editing
Rowset States
State Management
Monitoring State Changes
Data Entry Forms
Modification Routines
Implementing Dialog Editing
Calculated Fields
Creating a Calculated Field
Lookup Fields
Creating a Lookup Field
Searching and Sorting
Sorting with Indexes
Sorting with ORDER BY
Searching
FindKey and FindKeyNearest
Implementing Search and Sort
Setting Ranges
Filters
Using the Filter Property
Activating Filters
Filter Options
Filter by Form
Creating Complex Filters
Working with Filters
Database Architecture
Database Classes
Data Object Connections
The Database.DatabaseName Property
The Query.Database Property
The DataLink Property
The Query.Rowset Property
Sessions
The Dataset Components
The Data Object Hierarchy
Accessing Data Objects in Code
Data Modules
Creating Data Modules
Linking Data Modules to Forms
Sharing Data Modules
Accessing the Data Module's Data Objects
Custom Data Modules
Working with Data Modules
Rowsets
Rowset States
Working with Rowset States
State Management
Implicit vs. Explicit changes
State Change Events
State Change Event Timing
Implementing State Management
Field Objects
The Fields Array
Assigning Field Values
The Field Class
Field Properties
Field Methods
Field Events
The DbfField Class
The PdxField Class
The SqlField Class
Working with Field Objects
SQL Database Operations
SQL
ANSI-92 SQL
SQL Extensions
Local SQL
Writing SQL Code
SQL Operators
SQL Data Types
DML Commands
DDL Commands
Aggregate Functions
String and Date Functions
The SQL Designer
Selecting Fields
Running a Query
The .SQL File
Working with .SQL Files
Validation Events
Database-level Validation
Table-level Validation
Record-level Validation
Field-level Validation
Control-level Validation
Multi-user Issues
Automatic Record Locking
Pessimistic vs. Optimistic locking
Transaction Processing
Transaction Isolation Levels
Creating Reports
Using the Report Wizard
Using the Report Designer
Report Objects
Report Object Hierarchy
The Report Pane
The Group Pane
PageTemplates
StreamFrames
Group Headerbands and Footerbands
Detail Bands
Using StreamFrames
Creating Reports
Adding Standard Components to a Report
Groups and Summaries
Creating Labels
Other Report Features
Appendix A - File Extensions
Appendix B - Global Variables and Constants
The _app Global Variable
Appendix C - Include Files
The BLUESTAR.H Header File
Appendix D - dBASE Coding Standards
Naming Conventions
Coding Conventions
Line Continuations
Appendix E - dBASE Resources
Books
Training
Internet
Vendors
Appendix F - Data Models
Appendix G - Shortcut Keys
Appendix H - The Borland Database Engine
BDE Overview
BDE Architecture
The BDE Administrator
Aliases
Driver-based Architecture
Accessing Data with a Drive
Shared Services
BDE Objects
Database Object
The BDE API
Core API Functionality
Commonly Used BDE Functions
Appendix I - The Data Module Designer in Visual dBASE 7.x
Working with Data Modules