|
| |
|
|
|
More than 40 Chapters
More than 80 pages of review questions and exercises
Please Note
- This course is based on .NET Windows Forms development .
- The course is approximately 5 days and is designed for people with little or no
exposure to Delphi Prism
- It can be scheduled as a 3 day course for experienced Delphi programmers
- If there are other topics you need covered don't hesitate to
ask
|
- What is Microsoft .NET
- What is .NET
- Why .NET
- .NET Framework Overall Design Goals
- .NET and Java
-
What about existing software?
- Terminology
- CLR: Common Language Runtime
- CIL: Common Intermediate Language
- CLS: Common Language Specification
- CTS: Common Type System
- Module
- Assembly
- Managed/unmanaged code
-
.NET Framework
- Delphi Prism in Visual Studio
- Compiling changes
- Background compile
-
Variables
- What's new in VS2008
-
Overview of new features in Visual Studio 2008
- Visual Studio Overview
- Visual Studio Editions
- The language
- The environment
- Hints and Warnings
- Intellisense
-
Code Snippets
- Visual Studio Configuration
- Environment Options
- Projects and Solutions
- Editor Options
- Import/Export settings
-
IDE Docking
- Win32 Delphi vs Delphi Prism
- Generics
- Strings
- ResourceString
- Procedure/Function keywords
- Constructors
- Destructors
- initialization/finalization
- Events
- Assignment operator
- Pointers and unsafe code
- Interface method renaming
- Member visibility
- Record initializers
-
Miscellaneous
- Hello World
- What is a project?
- What is a project file?
- An all in one project
- Compiling
- Better programming with classes and files
- Working with classes and files
-
Navigating open windows
- Delphi Prism Projects Settings
- What a basic project contains
- Identifying files to keep
-
Project options
- Forms, Controls and Properties
- What is a form?
- Components and controls
- Placing controls on a form
- Smart tags
- Aligning controls on a form
- Adding components to a form
-
Properties and events
- The Delphi Prism Language
About Delphi the Delphi Prism Language
- Comments
- Capitalization
- Statements
- Flow control and iteration statements
- Operators and types
- Enumerations
- Boxing and unboxing
- Type conversions
- Namespace
-
Compiler magic
- User interface elements
- Application access features
- Menus
- Toolbars - Toolstrip
- Resources
-
Dialogs
- Classes, methods, parameters, variables
- Class files
- Methods
- Value, reference, out and params parameters
- Default Parameters
- Static and instance methods
- Virtual, sealed, abstract, override
- Static variables
- Scope
- Records
- Type casting
-
Class designer
- Object Oriented Programming
- Object Oriented Programming Principles
- Abstraction
- Encapsulation
- Inheritance
-
Polymorphism
- Classes and objects
- Dephi Prism modifiers
- Delphi Prism Keywords
- Constructors and destructors
- Properties and Indexers
- Auto-implemented properties
-
"using" statement
- Garbage collection
- Garbage collection features
- Other languages and garbage collection
- Garbage collection and OS resources
- Finalization queue
- What causes Finalize to be called
- Implementing a dispose method
- Garbage collection algorithm
-
Garbage collection commands
- Debugging Programs
- Project Debug Options
- Debugger Options
- Debug Windows
- Edit and Continue
-
Debug shortcut keys
- Exception Handling
- Protecting code from errors
- Raising and re-raising exceptions
- Trapping exceptions
- Debug exception - edit and continue
- Identifying classes of exception
- Global exception handler
- Resource protection
-
Defining your own exception classes
- Visual Inheritance
- Form inheritance
-
Rules for base forms
- User interaction
- Unexpected events
- Showing forms:
-
DialogResult
- Useful User Interface Controls
- Tab Control
- Property Grid
- Picture Box
- Month Calendar
- Web Browser
-
XP Themes
- Core .NET Classes
- StringBuilder vs String, StringCollection
- CollectionBase
- ArrayList
- HashTable
- SortedList
- Queue and Stack Collection
- Painting
- XmlSerializer
-
Generics
- Key utility classes
- Some Key Utility Classes
- Path
- Environment
- Application
-
Screen
-
Other useful classes and namespaces
- Database access choices
- Connection strings
- The components
- Database access choices
- ODBC, OleDB
- OracleClient
-
SQLClient, SQLServerCe
- MS SQL Server with SQLClient
- Establishing a connection
- Retrieving data
- Enabling updates
- Creating a binding source
- Filling a DataGridView
- Saving changes
- Putting it all together
- Extracting specific fields
-
Building commands automatically
- Extending the DataGridView
- Extending the DataGridView
- Master-detail
-
Master-detail with parameterised queries
- Advanced database techniques
- Data Binding – Formatting and Parsing
- Navigating datasets
- DataViews – Filtering and Sorting
- Adding, Editing and Deleting rows
- Executing a command
- Executing queries
-
Transactions
- Binding non-DB data
- Simple data binding
- Generics data binding - List<>
-
Generics data binding - BindingList<>
- Multi-threading
- Threads
- Multi-threaded applications
- The Thread class
- Creating threads
- Thread priorities
- Managing thread execution
-
Thread safety
- Dynamic component creation
- Recap – what is a component
- Why create them at run-time?
- Creating run-time components
-
Linking to a click event
- Attributes
- Introduction to attributes
- Using attributes
- Global attributes
- Creating custom attributes
- Retrieving attribute information
- Conditional and Obsolete attributes
- Developing components
-
Fun Stuff
- Preprocessor directives
- $IFDEF / $ELSE / $ENDIF
- $DEFINE
- $UNDEF
- $IFNDEF
- $WARNING
- $ERROR
- $REGION
-
$ENDREGION
- MDI Applications and splash screens
- Defining the MDI container
- Adding MDI Child forms
- Closing child windows
- MDI Window menu
- Menu merging
-
Splash screens
- Blurring the boundaries
- Calling unmanaged code from managed code
-
Calling managed code from unmanaged code
- Assemblies
- An assembly is…
- Creating assemblies
- Assembly names
- Assembly location
- Single- and multi-file assemblies
- Creating multi-file assemblies
- Strongly named assemblies
- Delayed assembly signing
- The global assembly cache
-
Viewing assembly contents
- Adding help to an application
- Help files
- Help class
- HelpNavigator enumeration
-
HelpProvider component
- Application Resources
- Resources
- Distribution alternatives
- Using assemblies
- Satellite assemblies
- Resource fallback
- Compiling satellite assemblies
- Installing satellite assemblies in the GAC
- Non-GAC satellite assemblies
- Resources in the main assembly
- Adding resources
-
Retrieving resources
- Singletons
- Why Singletons
- 1. A non-thread-safe example
- 2. A slow thread-safe example
- What’s the problem?
- 3. No locks – implicit instantiation
- 4. No locks and delayed instantiation
-
What to use?
- Delegates
- What are delegates?
- A simple delegate
- Anonymous methods
- Event handler anonymous method
-
Lambda Expressions
- Events
- Events – review
- Event type
-
Event declaration
- Implicitly Typed Local Variables
- Introduction
- Examples
-
LINQ Queries
- Partial Methods
- Definition
- Example
- Limitations
-
Why?
|
|
|
|
| |
|