Delphi Cookbook 3ed is out!

Posted on gio 09 agosto 2018 in Books

Delphi Cookbook 3rd Edition

Here's the 3rd edition of the Delphi Cookook! Delphi Cookbook is a best sellers for PacktPub in its category since the 1st edition back in the 2014. This edition is the first in co-authoring with Daniele Spinetti. Daniele Spinetti is an Embarcadero MVP wich works with me in bit Time Professionals (site in english here). We works together every days, so has been a pleasure to share this experience too.

What's new in 3rd edition

In this third edition we wanted to add content to keep the book updated with emerging technologies and new features made available by Delphi. Like the 2nd edition, some chapters are completely new while all the others has been updated, evolved and integrated with new contents. The new chapters are devoted to Linux Development and IoT. Moreover there are many new contents about FireDAC and RTTI attributes.

This edition contains all the recipes from the previous version updated to Delphi 10.2 Tokyo. We reached now 780 pages and 78 recipes!

Delphi Cookbook 3rd edition lets you learn all the development possibilities provided by Delphi

  • Cross-platform
  • Mobile with FireMokey (Android and iOS)
  • Server-side programs (Linux and Windows)
  • Integration with IoT
  • Working with data (FireDAC, JSON, XML)
  • a lot more...

Topics of the book

  • Develop visually stunning applications using FireMonkey
  • Deploy LiveBinding effectively with the right OOP approach
  • Working with data (JSON, XML)
  • Design, develop and deploy server-side programs to serve RESTful web services (Linux and Windows) and provide data to your mobile and web apps
  • Use well-defined GUI design patterns to build mobile applications that provide a great user experience
  • Extremely useful recipes on FireDAC database access framework
  • Build mobile apps that read data from a remote server efficiently
  • Call the platform native API on Android and iOS even for an unpublished API
  • Manage software customization for your customer by making better use of an extended RTTI
  • Implement the most popular design pattern without wasting too much time on debugging and bug fixing
  • Enrich your knowledge of Delphi deepening the libraries made available
  • Integrate your applications with Internet of Things

As I told also at the time of 1st and 2nd edition, Delphi Cookbook is not an introductory book, you will not find any “Introduction to the Object Pascal language”, however the majority of the chapters are not too complex and can be grasped also by the new Delphi programmers.

Where to buy

The book is available for sale on the editor website and on Amazon.

PacktPub (Official book page)

Delphi Cookbook 3rd Edition on PacktPub


Delphi Cookbook 3rd Edition on Amazon

Samples and source code

All the samples are in a github repo

Table of contents

Chapter 1: Delphi Basics

  • Changing your application's look and feel with VCL styles
  • Changing the style of your VCL application at runtime
  • Customizing TDBGrid
  • Using owner-draw combos and listboxes
  • Making an owner-draw control aware of the VCL styles
  • Creating a stack of embedded forms
  • Manipulating JSON
  • Manipulating and transforming XML documents
  • I/O in the 21st century – knowing the streams
  • Creating a Windows Service
  • Using the TService.LogMessage method
  • Be coherent with the Windows look and feel using TTaskDialog
  • The amazing TFDTable – indices, aggregations, views, and SQL
  • ETL made easy – TFDBatchMode
  • Data integration made easy – TFDLocalSQL

Chapter 2: Becoming a Delphi Language Ninja

  • Fun with anonymous methods – using higher-order functions
  • Writing enumerable types
  • Using enumerable types to create new language features
  • RTTI to the rescue – configuring your class at runtime
  • Duck typing using RTTI
  • BOs validation using RTTI attributes
  • Creating helpers for your classes

Chapter 3: Knowing Your Friends – The Delphi RTL

  • Checking strings with regular expressions
  • Consuming RESTful services using native HTTP(S) client libraries
  • Coping with the encoded internet world using System.NetEncodings
  • Saving space using System.Zip
  • Decoupling your code using a cross-platform publish/subscribe mechanism

Chapter 4: Going Cross-Platform with FireMonkey

  • Giving a new appearance to the standard FireMonkey controls using styles
  • Creating a styled TListBox
  • Impressing your clients with animations
  • Using master/details with LiveBindings
  • Showing complex vector shapes using paths
  • Using FireMonkey in a VCL application
  • Reinventing your GUI, also known as mastering Firemonkey controls, shapes, and effects

Chapter 5: The Thousand Faces of Multithreading

  • Synchronizing shared resources with TMonitor
  • Talking with the main thread using a thread-safe queue
  • Synchronizing multiple threads using TEvent
  • Communication made easy with Delphi Event Bus
  • Displaying a measure on a 2D graph like an oscilloscope
  • Using the Parallel Programming Library in the real world: Tasks
  • Using the Parallel Programming Library in the real world: Futures
  • Using the Parallel Programming Library in the real world: Parallel For/Join

Chapter 6: Putting Delphi on the Server

  • Developing web client JavaScript applications with WebBroker on the server
  • Converting a console application into a Windows service
  • Serializing a dataset to JSON and back
  • Serializing objects to JSON and back using RTTI
  • Sending a POST HTTP request for encoding parameters
  • Implementing a RESTful interface using WebBroker
  • Controlling remote application using UDP
  • Using app tethering to create a companion app
  • Creating DataSnap Apache modules
  • Creating WebBroker Apache modules
  • Using native HTTP(S) client libraries
  • Logging like a pro using LoggerPro

Chapter 7: Linux Development

  • Creating Linux TCP/IP servers
  • How to correctly handle Linux signals
  • How to build a modern Linux daemon
  • Building a TCP/IP Linux server and daemonizing it
  • Building a RESTFul server for Linux
  • Building a complete RESTful server with database access and web client interface
  • Creating WebBroker Apache modules for Linux

Chapter 8: Riding the Mobile Revolution with FireMonkey

  • Taking a photo, applying effects, and sharing it
  • Using TListView to show and search local data
  • Using SQLite databases to handle a to-do list
  • Do not block the main thread!
  • Using a styled TListView to handle a long list of data
  • Customizing the TListView
  • Taking a photo and location and sending it to a server continuously
  • Talking with the backend
  • Making a phone call from your app
  • Tracking the application's life cycle
  • Building your own SMS sending service with the REST API

Chapter 9: Using specific platform features

  • Using Android SDK Java classes
  • Using iOS Objective-C SDK classes
  • Displaying PDF files in your app
  • Sending Android Intents 554
  • Letting your phone talk – using the Android TextToSpeech engine
  • Using Java classes in Android apps with Java2OP
  • Doing it in the background, the right way – Android services

Chapter 10: Delphi and IoT

  • How to blink an LED using Arduino
  • How to drive multiple relays with Arduino and Delphi
  • Reading data from Arduino
  • How to blink an LED using Raspberry Pi
  • How to drive multiple relays with Raspberry Pi and Delphi
  • Reading data from Raspberry PI