Movatterモバイル変換


[0]ホーム

URL:


Packt
Search iconClose icon
Search icon CANCEL
Subscription
0
Cart icon
Your Cart(0 item)
Close icon
You have no products in your basket yet
Save more on your purchases!discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Profile icon
Account
Close icon

Change country

Modal Close icon
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timerSALE ENDS IN
0Days
:
00Hours
:
00Minutes
:
00Seconds
Home> Programming> Application Development> Delphi Programming Projects
Delphi Programming Projects
Delphi Programming Projects

Delphi Programming Projects: Build a range of exciting projects by exploring cross-platform development and microservices

Arrow left icon
Profile Icon Duarte
Arrow right icon
€24.29€26.99
Full star iconFull star iconFull star iconFull star iconHalf star icon4.2(9 Ratings)
eBookMay 2019248 pages1st Edition
eBook
€24.29 €26.99
Paperback
€32.99
Subscription
Free Trial
Renews at €18.99p/m
eBook
€24.29 €26.99
Paperback
€32.99
Subscription
Free Trial
Renews at €18.99p/m

What do you get with eBook?

Product feature iconInstant access to your Digital eBook purchase
Product feature icon Download this book inEPUB andPDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature iconDRM FREE - Read whenever, wherever and however you want
Product feature iconAI Assistant (beta) to help accelerate your learning
OR

Contact Details

Modal Close icon
Payment Processing...
tickCompleted

Billing Address

Table of content iconView table of contentsPreview book icon Preview Book

Delphi Programming Projects

Building an Instagram Clone

The world has changed. We are in the new digital age where, every day, more and more apps are available to the users. So, what really grabs attention, since we have so many options available? Features, user experience, rich design? We can say that, with Delphi, we have all the ability to develop rich applications, both graphically and in terms of functionality.

A major challenge for Delphi developers is the paradigm shift between desktop and mobile platforms. The way to develop and draw a form is different, of course; however, many developers program as if they were still working with a Delphi 7 IDE.

If you are this type of developer and want to learn more about responsive design and how to change your desktop mindset for mobile, then this isanideal chapter for you.

We have chosen an application already on the market—Instagram—to better elucidate these insights and this paradigm shift.

In this Delphi version of Instagram, you will be introduced to the following topics:

  • Mindset between desktop and mobile
  • Creating responsive layouts
  • Creating buttons withScalable Vector Graphics (SVG) icons
  • Interacting with the camera
  • Sharing photos

The knowledge necessary for understanding this chapter is basic. Experience with Delphi is not necessary; minimal knowledge of the IDE and some components, such as buttons, edits, and listviews, is sufficient.

Mindset difference between desktop and mobile

When smartphones became essential and the emergence of the three major mobile OS competitors (iOS, Android, and Windows phone—this last one has been discontinued) took shape, developers were confused. After all, who was not accustomed to responsiveness or smaller screens? Before diving into this new world, you need to understand some important things.

Developing for the Windows desktop, we have some benefits—available memory, ease of interface design (usually in resolutions of at least 1,024 x 768), and others. Most of these features make the programmer's life much more focused on the logic of the application without worrying too much about available computer resources or the like.

When web applications began to emerge with their HTTP protocol in the best request-response style, a new concept of development was created. The programmer had to adapt to the new markup languages (HTML and CSS) and had to separate their application in what we call the server/client side. So, anyone who previously programmed into a single programming language (such as Java or C#) had to adapt to learn markup languages. And, with a need for insertion in the web world, the programmer needed to deal with screen sizes. On the other hand, the applications should be more and more responsive to work more in the varied sizes of screen, from tiny phones to tablets and desktops; not to mention the limitations of the hardware, since they have less processing power and memory than desktop computers.

Mobile has combined the advantages of the previous twoalong with their disadvantages. If it was said in the web application that everything was on the web, that is to say, for any user access just entering the site, the mobile brought back the desktop concept. The application is installed in the device, and, if you have to upgrade the application, you have to do so for each device. We return to the same situation as desktop applications.

Having limited hardware, including reduced screen size and the absence of peripherals means that the challenge for the mobile developer is more complex

Before you start reading into this topic, you must abandon certain preconceptions, such as the idea that developing for mobile is the same as doing so for web or desktop. No, it's not! Remember that your user is on a limited device and does not have any peripherals for assistance, such as a mouse or keyboard.

Follow these steps to learn about viewing for different screen types:

  1. Open the Delphi IDE and create aMulti-Device Application. Note that different screen types will have different viewing characteristics:
  1. Select one Android or iPhone view.
Note that the display format is changed. Try working on master view and switch views to keep track of the layout of your components on the form.

When you work with a different view of the master, Delphi will create a new.FMX file in your project folder. This file will contain the positions of the components for that particular screen format. The paradigm shift is not just about the size or the screen format, but the Delphi IDE helps us identify those nuances.

Range of sizes

There are a range of sizes used to determine the view that is used in Android apps. Note that the runtime does not require an exact match to select a view. The runtime chooses the closest match.The following table shows the ranges for each view, specified in landscape coordinates:

View Name

Minimum Size

(Pixels)

Maximum Size

(Pixels)

PPI
Android 3.5'' Phone800x5001,000x600320
Android 4'' Phone1,1168x7301,360x850320
Android 5'' Phone1440x9001,708x960320
Android 7'' Tablet1708x9601,920x1,200320
Android 10'' Tablet2,400x1,5002,560x1,600320

It is possible to visualize the layout of the forms in the device in real time by looking at the Berlin version design time. Fantastic, isn't it? To do this, downloadtheFire UI Live Preview applicationfrom your platform store (Google Play:http://docwiki.embarcadero.com/RADStudio/Rio/en/FireUI_App_Preview, or Apple Store:https://itunes.apple.com/us/app/fireui-app-preview-10.1-berlin/id1090861997) or install directly via theC:\Program Files (x86)\Embarcadero\Studio\20.0\LivePreview\ path.

FireUI Live Preview is a server/client multi-device tool that allows you to broadcast the active form of your application, in real time, to several devices simultaneously.

Creating responsive layouts

In this topic, you will learn how to work with responsive layouts in Delphi usingFireMonkey (FMX). For the examples, we will use Delphi Tokyo. Let's have a look at the requiredsteps:

  1. To start, open Delphi and create a new project by navigating toFile|New|Multi-Device Application-Delphi and selectBlank Application:

Adjust the style for Android; for example, for the view, we will continue in theMaster view.

Give preference to working in theMaster view. During development, if you want to modify views and add new controls to your form, the responsiveness properties will not be inherited. For example, when adding aTButton component to a 4-inch Android view, properties will be lost if you create to modify for a different view, such as iPhone. In theMaster view, all the characteristics will be kept, keeping their proportions clear, by the platform.
  1. Add aToolbar component to your form.
  2. Create two buttons insideToolbar.
  3. Select the two buttons and align to the left.
  4. Modify the margins to5 on each property.
  5. Save your project and run the application for a Windows platform.
  6. Then, select the first button that is already configured and modify theStyleLookup property by selecting thecameratoolbuttonoption. Notice that the button icon is then changed to a specific camera icon.
  7. Add anotherToolbar component, but leave it with bottom alignment. In this toolbar, add a button, align it to the right, and change its margins to5, as in the top buttons. This button will exit the application.
  8. Finally, add aTLayout component to the center of your form so that it fills the empty area and align it when usingClient.
  9. Also, modifyStyleLookup for the missing buttons. For the button next to the camera, selectsearchtoolbutton, because, through this, we will search the already-saved images in the device. For the last button,selectescapetoolbutton in theStyleLookup property, because, with this button, we will leave the application.

TLayout

The FireMonkey components have an owner, parent, and children. If you put any component on a form, it becomes the owner and parent of the component.

Using properties such asPosition,Align,Margins, andPadding with anchors, you will turn your app in to a responsive application.

Note that, even if you resize the form, the buttons remain aligned to the left, respecting the margins, and are inside the toolbar.
FireMonkey layouts are containers for other graphics objects that can be used to build elegant-looking forms. FireMonkey layouts extend the functionality of the controls for the arrangement and scaling of controls.

To achieve rich interfaces usingTLayout, use more than one layout and the organization properties of the child controls in the layouts.

If everything went well here, you will have a form as shown in the following screenshot:

Try creating new views and see the resulting alignment. This is the basic principle for developing a responsive application in FireMonkey.

If you want to view the format with the screen rotated, there is a button to rotate the screen. With this, you can view the layout on the screen in a different format as shown in the following screenshot:

Look at the different types of layouts and their characteristics. For project types where you need to insert many components, use theScrollBox so you can have a scrolling effect on your form.

Creating buttons with SVG icons

In the previous project, we created the main basic layout. Later on, we created photo and sharing events. In this project, we will work with the use of SVG icons, which are infinitely smaller in size in relation to the allocation of space.

SVG is an XML-based vector graphics format that can scale to any size without losing clarity. SVG images and their characteristics are defined in XML text files. That is, they can be searched, indexed, scripted, and compressed. Like XML files, SVG images can be produced and modified with any editing software.

We will use 100% native components in order to use an SVG image. To do this, follow this step by step:

  1. From theTool Pallet, selectTRectangle. Add in the toolbar created previously, use the property, and align the rectangle by setting it to the center. You will now have a rectangle centered in the toolbar.
  2. Add a speed button inside this same rectangle. Note that in theStructure pane, the button is contained within the shape. Do the same with theTPath component, but leave it as the child of the speed button. Align both toCenter.
  3. Clear theText property of the new speed button:

The structure of your application should be like this, with the components nested.

  1. Okay, now that you have the basic structure assembled on your form, it's time to choose an SVG icon to illustrate this button. The purpose of this button is to execute the share function when clicked. So, we can now share a photo. You can search the internet for various SVG icons. In this example, you can copy the SVG codeathttp://materialdesignicons.com/ to use in our application.

  1. The icon used is Instagram. It is important to note that in certain tools or websites, such asmaterialdesignicons.com, you have the functionality to view the SVG code and also to be able to download the binary file. A simpler way to get the SVG code is to view it online:

In this case, to copy the correct information from the SVG vector, go directly to thed= property and copy its content. This property contains the icon code:

  1. Once you have the content of the SVG vector, you can include it in your Delphi application using theTPath component. To do so, follow these steps:
    1. Select theTPathcomponent.
    2. Select theData property.
    3. Input the SVG content and save as shown in the following screenshot:
Note that by entering the content of the data tag in theTPath component, you can preview the image.

This is what the Instagram icon looks like:

You can color the icon in theFill property, includingGradient. To remove the border, just leave it asNone in theStroke.Kind property atObject Inspector:

You can also change the color of your button as long as it is inside the rectangle. To do this, change theFill.Color property of the rectangle and watch the magic happen.

In the first two steps, we created a new button and centered the toolbar. Notice that this button has a new component, theTPath. TheTPath is inside our button. This causes the image, which we copy from the internet appears contained in the component. In steps three, four, and six,we located the SVG icon and copied its content through thed property. With the contents of the image copied, we then go to theTPath component, making it display the same icon that was selected, in this case, Instagram.

If you're not familiar with SVG icons, feel free to browse through a variety of other sources. There are numerous websites for downloading icons in various formats, including SVG.

Interacting with the camera

There are at least two ways to take a picture with FireMonkey—the first, for the lazy, is to use anActionList, linking the action of taking a photo to a visual component, such as a button. In this case, your application will request access to the device's camera application.

The second form, however, gives us more freedom in terms of functionality, usingTCameraComponent. With it, you can set the resolution, specify the type of camera (front or back) that can be used, choose to use the flash, and you can even create your own flashlight application.

Lights, camera, and action!

Now that we have the main screen properly built with its main components anchored, we can work on the main functionality—recording moments! Using the same project as the previous recipes, we will finally develop the code to capture images:

  1. First, add aTImage component to your form and set its alignment toalClient, filling all layout content. We will use thisTImage to display the photo. Now, do the same for a non-visual component, calledActionList. Enter this into the form. Change theTImage property and name it asImgInsta.
  2. With the right-click onActionList, open theActionList Editor option.
    With the keyboard, clickCtrl +Insertto open the dialog containing the options; you can also go with the mouse on theNew button and insert the new action. The action we want isTTakePhotoFromCameraAction:

In this project, we will capture the image in two ways, the first with a standard action and the other using theIFMXCameraService interface.

  1. Let's create theDoDidFinish procedure:
procedureTForm1.DoDidFinish(Image:TBitmap);beginImgInsta.Bitmap.Assign(Image);end;
  1. In this procedure, the image parameter, which will come from the camera, will be assigned to theTImage component in our form. Remember to assign this procedure to theOnDidFinishTaking event ofTTakePhotoFromCameraAction:
procedure TForm1.TakePhotoFromCameraAction1DidFinishTaking(Image: TBitmap);
begin
DoDidFinish(Image);
end;

In the next few steps, you will understand why this is redundant.

  1. We can create a new default action, which will fetch images already saved in the device library. Repeat the process to add a new action to yourActionList; however, this time select theTTakeFromLibrary action.
If you want your application to automatically save the pictures taken by a device camera to the device photo library, set theTCustomTakePhotoAction.NeedSaveToAlbum property toTrue.
  1. When selecting the event of this new action, the code is exactly the same code that was made inTTakePhotoFromCameraAction:
procedure TForm1.TakePhotoFromLibraryAction1DidFinishTaking(Image: TBitmap);
begin
DoDidFinish(Image);
end;
Note that since the image comes from a parameter, which comes from the action, it allows you to use exactly the same line of code.
  1. Bind the respective actions to their execution buttons:
  1. Let's increase the project a bit more, including an extra button added to the top in the first toolbar, only this time, right-aligned. This button will also take a picture, but, using theIFMXCameraService interface. To perform such an act, include the following unitsin theuses clause of your form:
usesFMX.MediaLibrary,FMX.Platform,System.Messaging;

  1. Add another procedure to capture the message coming from the device and thus identify an action to take photos:
procedureDoMessageListener(constSender:TObject;constM:TMessage);

Its implementation is shown in the following code snippet:

procedure TForm1.DoMessageListener(const Sender: TObject; const M: TMessage);
begin
if M is TMessageDidFinishTakingImageFromLibrary then
ImgInsta.Bitmap.Assign(TMessageDidFinishTakingImageFromLibrary(M).Value);
end;
  1. Encode theFormCreate procedure:
procedure TForm1.FormCreate(Sender: TObject);
begin
TMessageManager.DefaultManager.SubscribeToMessage(
TMessageDidFinishTakingImageFromLibrary, DoMessageListener);
end;
  1. To conclude, let's encode theonClick event of the newly added button:
procedure TForm1.Button3Click(Sender: TObject);
var
Service: IFMXCameraService;
Params: TParamsPhotoQuery;
begin
if TPlatformServices.Current.SupportsPlatformService(IFMXCameraService,
Service) then
begin
Params.Editable := True;
// Specifies whether to save a picture to device Photo Library
Params.NeedSaveToAlbum := True;
Params.RequiredResolution := TSize.Create(640, 640);
Params.OnDidFinishTaking := DoDidFinish;
Service.TakePhoto(Button3, Params);
end
else
ShowMessage('This device does not support the camera service');
end;

We divide this project into two parts, where, in the first part, we use anActionList to take a picture. These actions require very little programming; however, they will not work on Windows platforms. In the second part, when using theIFMXCameraService interface, we have the freedom to implement our codes with a few more lines but greater freedom. We can also include parameters that allow us to, for example, set the minimum resolution and define whether we will save the image to the device as well.

You should also check theTCameraComponent component. You can take your photos without even directing them to your device's camera, including video recordings.

Sharing photos

FireMonkey's basic sharing service does not differ from the way we interact to take a photo; that is, we can use a standard action in ourActionList1 to create a new event where we share the photo you just took.

Now that our application is responsive and is properly recording the most important moments through photographs, let's share! Using the same example from previous recipes, we will now develop the button event we created with the SVG icon.

The following steps will show you how to share the photos using FireMonkey:

  1. Create a new action in theActionList1, in theMedia Library category, to display the share center. Select theShowShareSheetAction1action:
  1. The event is now different; in order to share, it is necessary to assign what you want to share. In our project, we will share a photo. For this, we must program theOnBeforeExecute event of this action:

The following is the code for theOnBeforeExecute event:

procedure TForm1.ShowShareSheetAction1BeforeExecute(Sender: TObject);
begin
ShowShareSheetAction1.Bitmap.Assign(ImgInsta.Bitmap);
end;
  1. Now, to finish, just assign the newly coded action theAction property of our button. You can useStructure pane and select theTSpeedButton (which has theTPath component is inside it) component with the Instagram logo. With everything ready, when taking a photo it will be filled through theTImage component that can be shared.

The following screenshot shows the form view at development time:

The following screenshot shows the form viewrunning on an Android mobile:

Finally, the application images are still at design time in Delphi and are already running on an Android device.

Summary

We have introduced through this mini Instagram clone how to work with basic responsive design, making sure that, regardless of the size of the screen, our controls adjust according to the screen. Then, through theTPath component, we included icons in SVG format, drastically reducing the size of the images and icons thanks to vectorization.

Our code was simple and consisted of only three lines. At a minimum, we can take a photo, choose a photo from the library, and share with friends. All this is done usingActionList and interfaces already done in the FireMonkey library.

In the next chapter, you'll be introduced to the wonderful world of APIs. Not only is it possible to consume Facebook API services, but you can develop your application on the platform by interacting with Delphi.

Delphi is this simple, RAD, and practical!

Left arrow icon

Page1 of 11

Right arrow icon
Download code iconDownload Code

Key benefits

  • Build responsive user interfaces (UIs) for desktop and mobile with FireMonkey
  • Implement a microservices architecture using the Rapid Application Development(RAD) server
  • Create clones of popular applications like Instagram and Facebook using Delphi 10.3

Description

Delphi is a cross-platform programming language and software development kit that supports rapid application development for Microsoft Windows, Apple Mac OS X, Android, and iOS.With the help of seven practical projects, this book will guide you through the best practices, Delphi Run-Time Library (RTL) resources, and design patterns. Whether you use the Visual Component Library (VCL) or FireMonkey (FMX) framework, these design patterns will be implemented in the same way in Delphi, using Object Pascal. In the first few chapters, you will explore advanced features that will help you build rich applications using the same code base for both mobile and desktop projects. In addition to this, you’ll learn how to implement microservice architecture in Delphi. As you get familiar with the various aspects of Delphi, you will no longer need to maintain source code for similar projects, program business rules on screens, or fill your forms with data access components.By the end of this book, you will have gained an understanding of the principles of clean code and become proficient in building robust and scalable applications in Delphi.

Who is this book for?

This book is for developers, programmers, and IT professionals who want to learn the best market practices by implementing practical projects. Prior knowledge of the Delphi language is a must.

What you will learn

  • Get to grips with the advanced features of RTL
  • Understand how to deal with the paradigm change between multiplatform projects
  • Build rich interfaces with Google s Material Design features
  • Understand how to implement design patterns in Delphi
  • Turn a mobile device into a remote controller with app tethering technology
  • Build a multi-database system using VCL

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date :May 03, 2019
Length:248 pages
Edition :1st
Language :English
ISBN-13 :9781789135237
Category :
Languages :

What do you get with eBook?

Product feature iconInstant access to your Digital eBook purchase
Product feature icon Download this book inEPUB andPDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature iconDRM FREE - Read whenever, wherever and however you want
Product feature iconAI Assistant (beta) to help accelerate your learning
OR

Contact Details

Modal Close icon
Payment Processing...
tickCompleted

Billing Address

Product Details

Publication date :May 03, 2019
Length:248 pages
Edition :1st
Language :English
ISBN-13 :9781789135237
Category :
Languages :
Concepts :

Packt Subscriptions

See our plans and pricing
Modal Close icon
€18.99billed monthly
Feature tick iconUnlimited access to Packt's library of 7,000+ practical books and videos
Feature tick iconConstantly refreshed with 50+ new titles a month
Feature tick iconExclusive Early access to books as they're written
Feature tick iconSolve problems while you work with advanced search and reference features
Feature tick iconOffline reading on the mobile app
Feature tick iconSimple pricing, no contract
€189.99billed annually
Feature tick iconUnlimited access to Packt's library of 7,000+ practical books and videos
Feature tick iconConstantly refreshed with 50+ new titles a month
Feature tick iconExclusive Early access to books as they're written
Feature tick iconSolve problems while you work with advanced search and reference features
Feature tick iconOffline reading on the mobile app
Feature tick iconChoose a DRM-free eBook or Video every month to keep
Feature tick iconPLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick iconExclusive print discounts
€264.99billed in 18 months
Feature tick iconUnlimited access to Packt's library of 7,000+ practical books and videos
Feature tick iconConstantly refreshed with 50+ new titles a month
Feature tick iconExclusive Early access to books as they're written
Feature tick iconSolve problems while you work with advanced search and reference features
Feature tick iconOffline reading on the mobile app
Feature tick iconChoose a DRM-free eBook or Video every month to keep
Feature tick iconPLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick iconExclusive print discounts

Frequently bought together


Hands-On Design Patterns with Delphi
Hands-On Design Patterns with Delphi
Read more
Feb 2019476 pages
Full star icon5 (1)
eBook
eBook
€26.99€29.99
€36.99
Delphi Programming Projects
Delphi Programming Projects
Read more
May 2019248 pages
Full star icon4.2 (9)
eBook
eBook
€24.29€26.99
€32.99
Delphi Cookbook
Delphi Cookbook
Read more
Jun 2016470 pages
Full star icon5 (3)
eBook
eBook
€29.69€32.99
€41.99
€41.99
Stars icon
Total111.97
Hands-On Design Patterns with Delphi
€36.99
Delphi Programming Projects
€32.99
Delphi Cookbook
€41.99
Total111.97Stars icon

Table of Contents

8 Chapters
Building an Instagram CloneChevron down iconChevron up icon
Building an Instagram Clone
Technical requirements
Project overview
Getting started
Mindset difference between desktop and mobile
Creating responsive layouts
Creating buttons with SVG icons
Interacting with the camera
Sharing photos
Summary
Further reading
Building a Facebook REST APIChevron down iconChevron up icon
Building a Facebook REST API
Technical requirements
Facebook Graph API and more
Project overview
Getting started
Creating an application on Facebook
Request and response REST services
Working with JSON
Logging in with Facebook
Summary
Further reading
Cross-Platform Services for Windows, iOS, and AndroidChevron down iconChevron up icon
Cross-Platform Services for Windows, iOS, and Android
Technical requirements
Project overview
Getting started
Creating Windows services
Creating Android services
iOS background mode
Summary
Further reading
Design Patterns to Build a Multi-Database SystemChevron down iconChevron up icon
Design Patterns to Build a Multi-Database System
Technical requirements
Project overview
Getting started
Creating a database
Models for a database – objects
Exploring Delphi interfaces
Repositories
Presentation and final testing
Summary
Further reading
Creating GUI Apps with FireMonkeyChevron down iconChevron up icon
Creating GUI Apps with FireMonkey
Technical requirements
Project overview
Getting started
Creating Material Design layouts
Working with animations
Floating button
Summary
Further reading
Implementing Tethering to Create a Remote ControlChevron down iconChevron up icon
Implementing Tethering to Create a Remote Control
Technical requirements
Project overview
Getting started
Creating app tethering applications
Sharing screens
Opening an application remotely
Summary
Further reading
Building Microservices Using the RAD ServerChevron down iconChevron up icon
Building Microservices Using the RAD Server
Technical requirements
Project overview
Getting started
What is a microservice architecture?
Introducing RAD Server
Consuming services on RAD Server
Security
Deployment
Summary
Further reading
Other Books You May EnjoyChevron down iconChevron up icon
Other Books You May Enjoy
Leave a review - let other readers know what you think

Recommendations for you

Left arrow icon
Debunking C++ Myths
Debunking C++ Myths
Read more
Dec 2024226 pages
Full star icon5 (1)
eBook
eBook
€21.59€23.99
€29.99
Go Recipes for Developers
Go Recipes for Developers
Read more
Dec 2024350 pages
eBook
eBook
€21.59€23.99
€29.99
50 Algorithms Every Programmer Should Know
50 Algorithms Every Programmer Should Know
Read more
Sep 2023538 pages
Full star icon4.5 (64)
eBook
eBook
€26.99€29.99
€37.99
€37.99
Asynchronous Programming with C++
Asynchronous Programming with C++
Read more
Nov 2024424 pages
Full star icon5 (1)
eBook
eBook
€23.39€25.99
€31.99
Modern CMake for C++
Modern CMake for C++
Read more
May 2024504 pages
Full star icon4.7 (13)
eBook
eBook
€26.99€29.99
€37.99
Learn Python Programming
Learn Python Programming
Read more
Nov 2024616 pages
Full star icon3.5 (2)
eBook
eBook
€21.59€23.99
€29.99
Learn to Code with Rust
Learn to Code with Rust
Read more
Sep 202557hrs 40mins
Full star icon5 (1)
Video
Video
€56.99
Modern Python Cookbook
Modern Python Cookbook
Read more
Jul 2024818 pages
Full star icon4.9 (17)
eBook
eBook
€29.69€32.99
€41.99
Right arrow icon

Customer reviews

Top Reviews
Rating distribution
Full star iconFull star iconFull star iconFull star iconHalf star icon4.2
(9 Ratings)
5 star55.6%
4 star22.2%
3 star11.1%
2 star11.1%
1 star0%
Filter icon Filter
Top Reviews

Filter reviews by




AnônimoDec 13, 2019
Full star iconFull star iconFull star iconFull star iconFull star icon5
Recomendo os capítulos do RAD Server e de material design especialmente. O livro é uma jóia.
Amazon Verified reviewAmazon
Nivaldo de Amorim AssisJul 24, 2023
Full star iconFull star iconFull star iconFull star iconFull star icon5
Ótimo livro.
Amazon Verified reviewAmazon
SeekerNov 15, 2019
Full star iconFull star iconFull star iconFull star iconFull star icon5
I have a requirement for a Rad Server project from a client and I read up all the information on Embarcadero web sites and looked at a few videos, even got their official PDF that describes it. But there were several issues not explained properly. Luckily I discovered this book and bought from Packt directly as ebook. Went straight to the chapter on Micro services with Rad Server and found all the information with neat screenshots explaining all the steps right till the deployment stage. Very nice! It takes effort to compile such complex information in logical steps that are easy to understand.
Amazon Verified reviewAmazon
Fabio Cardoso ChagasJun 10, 2021
Full star iconFull star iconFull star iconFull star iconFull star icon5
Conciso, e excelente fluxo de aprendizado. Os tópicos associados facilitam o entendimento. Ótimo para consultas rápidas de técnicas atuais que melhoram a aplicação.
Amazon Verified reviewAmazon
Mauricio AbreuJul 09, 2019
Full star iconFull star iconFull star iconFull star iconFull star icon5
O produto é exatamente o que eu precisava e tem a qualidade muito boa.A entrega da Amazon foi incrível chegou antes da data estimada.
Amazon Verified reviewAmazon
  • Arrow left icon Previous
  • 1
  • 2
  • Arrow right icon Next

People who bought this also bought

Left arrow icon
50 Algorithms Every Programmer Should Know
50 Algorithms Every Programmer Should Know
Read more
Sep 2023538 pages
Full star icon4.5 (64)
eBook
eBook
€26.99€29.99
€37.99
€37.99
Event-Driven Architecture in Golang
Event-Driven Architecture in Golang
Read more
Nov 2022384 pages
Full star icon4.9 (10)
eBook
eBook
€26.99€29.99
€37.99
€33.99
The Python Workshop Second Edition
The Python Workshop Second Edition
Read more
Nov 2022600 pages
Full star icon4.6 (19)
eBook
eBook
€28.79€31.99
€38.99
Template Metaprogramming with C++
Template Metaprogramming with C++
Read more
Aug 2022480 pages
Full star icon4.6 (13)
eBook
eBook
€26.09€28.99
€35.99
Domain-Driven Design with Golang
Domain-Driven Design with Golang
Read more
Dec 2022204 pages
Full star icon4.4 (18)
eBook
eBook
€24.29€26.99
€33.99
Right arrow icon

About the author

Profile icon Duarte
Duarte
William Duarte is a Delphi Certified Developer and Embarcadero Regional MVP Coordinator. He began his career in 2005 as a programmer. He was recognized as an internationally certified Retail Technical Consultant by Retail Pro in 2007. He is a specialist in commercial automation and desktop/mobile development, and the author of a book in PortugueseDelphi for Android and iOS, by Brasport, 2015. He is currently working as a consultant for the Brazilian Navy and retail chain stores.
Read more
See other products by Duarte
Getfree access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

How do I buy and download an eBook?Chevron down iconChevron up icon

Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.

If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.

Please Note: Packt eBooks are non-returnable and non-refundable.

Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:

  • You may make copies of your eBook for your own use onto any machine
  • You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website?Chevron down iconChevron up icon

If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:

  1. Register on our website using your email address and the password.
  2. Search for the title by name or ISBN using the search option.
  3. Select the title you want to purchase.
  4. Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title. 
  5. Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook?Chevron down iconChevron up icon
  • If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
  • To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
  • To view your account details or to download a new copy of the book go to www.packtpub.com/account
  • To contact us directly if a problem is not resolved, use www.packtpub.com/contact-us
What eBook formats do Packt support?Chevron down iconChevron up icon

Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.

You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.

What are the benefits of eBooks?Chevron down iconChevron up icon
  • You can get the information you need immediately
  • You can easily take them with you on a laptop
  • You can download them an unlimited number of times
  • You can print them out
  • They are copy-paste enabled
  • They are searchable
  • There is no password protection
  • They are lower price than print
  • They save resources and space
What is an eBook?Chevron down iconChevron up icon

Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.

When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.

For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.

Create a Free Account To Continue Reading

Modal Close icon
OR
    First name is required.
    Last name is required.

The Password should contain at least :

  • 8 characters
  • 1 uppercase
  • 1 number
Notify me about special offers, personalized product recommendations, and learning tips By signing up for the free trial you will receive emails related to this service, you can unsubscribe at any time
By clicking ‘Create Account’, you are agreeing to ourPrivacy Policy andTerms & Conditions
Already have an account? SIGN IN

Sign in to activate your 7-day free access

Modal Close icon
OR
By redeeming the free trial you will receive emails related to this service, you can unsubscribe at any time.

[8]ページ先頭

©2009-2025 Movatter.jp