Lazarus training for Delphi programmers

This workshop is ideal for Delphi programmers as an introduction to the world of Lazarus as a supplement to your Delphi skills. With over 20 years experience in Delphi programming we have now been implementing for the last 4 years all new projects exclusively with Lazarus, and provides a comprehensive insight into programming with Lazarus.

Target group

Programmers, who …
... already have a number of years experience developing Delphi applications,
... wish to continue to use their existing Delphi VCL and Pascal knowledge,
... take advantage of a similar development environment with an almost identical programmming language,
... want to realize real multi-platform development,
... want to utilize the advantages of an active open source software and community,
... want to choose a future-proof and vendor-independent development environment for the next 10 to 20 years,
... want to save license fees and yet still keep up-to-date.

We will be focusing on the following topics:

1. Introduction to the world of Lazarus

  • Selecting the correct version, 32 or 64 Bt, CodeTyphon or standard Lazarus.
  • Installation, parallel installation of multiple versions, portable installation.
  • The key paths and files of a Lazarus installation.
  • Lazarus components: What is included, where you can get more, how does the install work?
  • Limitations when converting existing projects and component libraries.
  • Differences between LCL and VCL.
  • Comparison of Lazarus project files and Delphi projects.
  • Handling the Lazarus IDE; customization options.
  • Strategies to incorporate large parts of existing Delphi projects.


2. Avoid past mistakes

  • Does it always have to be components or there is another way.
  • Dynamic creation of controls and administration in separate lists.
  • Dynamic form construction.
  • Use OwnerDraw techniques to extend common components.
  • Implement complex components on a modular basis.
  • Constructing your own class libraries.
  • Should properties be set in the Object Inspector or in your code?
  • Automatically generate source code.
  • Assign events at runtime.
  • Global exception handling and trace logging.
  • Multilingual and UTF8 support.
  • A simple calendar application, modeled on the Google calendar.


3. Database techniques

  • Complex 3rd party DB access components or, even better, the integrated SQLDB components.
  • Interaction of SQLDB with Firebird and other databases.
  • Connection, Transaction, Dataset, Query etc.
  • Data source and data-aware components: advantages and disadvantages.
  • Alternative methods of data storage and display.
  • Object class model for data access without DataSource.
  • Generate and use automated SQL for insert/update/delete/select.
  • Reporting techniques with Lazarus and databases, report design, interaction with stored procedures.
  • Multilingual and UTF8 support in the database.
  • Concepts for high-performance database applications.
  • A simple database application, illustrating a simple invoicing software.


4. Multi-platform in practice

  • Installing Lazarus on other platforms.
  • What needs to be considered in order to use the source code on all platforms?
  • The major platform-specific basics.
  • Open the Lazarus sample project on Win32, Win64, Linux, Mac OSX, Raspberry Pi in the IDE, compile and test.
  • Simple Android applications using Lazarus.
  • Simple iOS Applications using Lazarus.
  • Simple web applications using Lazarus or directly using PHP and Firebird.


5. What's next

  • Classic menu structures in the age of tablets and alternatives.
  • Touch applications for retail, services and industry.
  • Integration of PDF technologies and external applications.
  • Advantages of a database-driven architecture.
  • Automatic distribution of exe, dll and setup files.
  • Automatic distribution of database structures and table contents.
  • Concepts for long term, team-friendly code.
  • Flexible database models, flexible foreign key and tree structures.

<< Firebird Developer Days | site map | IBExpert & Firebird Prepaid Hotline >>