Book Image

Delphi Cookbook - Second Edition

By : Daniele Teti
Book Image

Delphi Cookbook - Second Edition

By: Daniele Teti

Overview of this book

Delphi is a cross-platform Integrated Development Environment (IDE) that supports rapid application development for Microsoft Windows, Apple Mac OS X, Google Android, and Apple iOS. It helps you to concentrate on the real business and save yourself the pain of wandering amid GUI widget details, or having to tackle inter-platform incompatibilities. It also has a wide range of drag-and-drop controls, helping you code your business logic into your business model, and it compiles natively for desktop and mobile platforms. This book will teach you how to design and develop applications, deploy them on the cloud platform, and distribute them within an organization via Google Play and other similar platforms. You will begin with the basics of Delphi and get acquainted with JSON format strings, XSLT transformations, unicode encodings and various types of streams. We then move on to more advanced topics such as developing higher-order functions and using enumerators and RTTI. You will get an understanding of how Delphi RTL functions and how to use FireMonkey in a VCL application. We will then cover topics such as multithreading, using the parallel programming library and putting Delphi on a server. We will also take a look at the new feature of WebBroker Apache modules and then ride the mobile revolution with FireMonkey. By the end of the book, you will be able to develop and deploy cross-platform applications using Delphi .
Table of Contents (15 chapters)
Delphi Cookbook Second Edition
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface
Index

Parallelize using the parallel for


One of the first loops that any programmer starts to know is the for loop. In this recipe, we'll see a particular type of for loop: the parallel one. To be clear, this parallel for loop is not a new language feature but is a sort of it implemented as a static class method.

The parallel for loop is part of the Parallel Programming Library and is implemented by the TParallel class. Here's one of its (overloaded) versions and a utilization example:

//declaration
class method TParallel.&For(ALowInclusive, AHighInclusive: 
Integer; const AIteratorEvent: TProc<Integer>): TLoopResult;

//used as follows
TParallel.&For(1,10,
  procedure(Index: Integer)
  begin 
    //executed 10 times with index 1..10
  end);

What is different about the classic for? The difference is that the anonymous method passed to the for method is executed on different threads concurrently; this is the reason it's a parallel for, as the for block is executed in parallel. This means...