Book Image

Expert Delphi

By : Paweł Głowacki
Book Image

Expert Delphi

By: Paweł Głowacki

Overview of this book

Delphi is the most powerful Object Pascal IDE and component library for cross-platform native app development. It enables building natively compiled, blazingly fast apps for all major platforms including Android, iOS, Windows, Mac, and Linux. If you want to build server-side applications, create web services, and have clear GUIs for your project, then this book is for you. The book begins with a basic primer on Delphi helping you get accustomed to the IDE and the Object Pascal language and will then quickly move on to advanced-level concepts. Through this book, we’ll help you understand the architecture of applications and will teach you the important concepts of the FireMonkey library, show you how to build server-side services, and enable you to interact with the Internet of Things. Towards the end, you will learn to integrate your app with various web services and deploy them. By the end of the book, you will be able to build powerful, cross-platform, native apps for iOS and Android with a single code base.
Table of Contents (14 chapters)

Drawing in code

The key to FireMonkey cross-platform support is its rendering architecture. When you create a new multidevice project with Delphi, on the first page of the wizard you can choose an application type. This effectively just selects the type of the first form to add to a new app. You can choose Blank Application. This will add to the project a form inherited from TForm, which is a basic two-dimensional form. The second choice is 3D Application. This will add a form inherited from TForm3D. All other choices give you a TForm descendant with some additional controls already added. Check the following screenshot:

If you decide to add more forms to the project, then you can see the real choice. It is either an HD Form or a 3D Form. HD stands for High Definition and is just a different name for 2D. Depending on the chosen platform, FireMonkey forms are rendered using different...