From the blog

Learn About Using IBM Watson And The Power Of AI In Delphi And C++Builder

Take your Delphi and C++Builder projects to the next level using the IBM Watson REST API, a collaborative environment with AI tools that you can use to deploy machine learning models and training data. In this webinar, you can learn how to use IBM Watson APIs to make AI applications with your Delphi or C++ Builder applications. Overview of this session: Delphi & C++ Builder Integration with Web and REST Services HTTP native client library SOAP clients REST clients BaaS clients Cloud API IBM Watson AI Services Visual Recognition Tone Analysis (Natural Language Classification) Watson Machine Learning What you can do with Watson APIs Speech to Text – Text to Speech NLP Knowledge Studio Visual Recognition Language Translator Language Classifier AI for IT Operations AI for Customer Service and more Infuse AI in your Delphi and C++ Builder applications to make more accurate predictions, automate processes, and decisions. Be sure to watch the whole session to learn the demos in action and learn best practices!

Read More

Learn C++ Event Handling In 5 Minutes

In this short tutorial, C++ Product Manager, David Millington, explains what event handlers are and how to use them in your C++ application development.  Overview The event is that something happens.  Event handler – a method that’s called when something happens or is attached to an event. Technical details: an object-method pointer, referring to both the method and object instance on which to call the method. And it can have any signature. Defining Event Handlers In an event receiver class, you define event handlers, which are methods with signatures for instance: return types, calling conventions, and arguments that match the event that they will handle. Firing Events To fire an event, simply call the method declared as an event in the event source class. If handlers have been hooked to the event, the handlers will be called. Be sure to check out other tutorials on C++ Builder here:

Read More

Embarcadero RAD Studio Architect la pret de Enterprise

  Contactați-ne pentru informații suplimentare: vanzari@d-data.ro Promoțiile vin mai degrabă anul acesta! Ediția Architect la prețul ediției Enterprise = economie smart. Până pe data de 31 Decembrie 2020 oferta Embarcadero de sărbători Vă permite să economisiți bugete semnificative și să beneficiați de ediția Architect la prețul ediției Enterprise și de soluții adiționale în valoare de peste 12000$ incusiv: Sencha ExtJS Professional license: Create your perfect web-enabled front end using JavaScript and ExtJS. InterBase ToGo mobile deployment license: Add data storage to your apps with this zero-maintenance, encrypted, embeddable database. RAD Server multisite deployment license: Perfect for your microservices architecture backend ($5,000+ value). AquaData Studio license: Powerful database modeling and design (full Interbase support). FmxLinux bundling with Delphi and RAD Studio now available. 1-year term key for Ranorex Studio—Automate your VCL UI testing. Ediția Architect este destinată echipelor care devzoltă și implementează soluții complexe, dezvoltă clienți web cu tehnologia JavaScript, testează aplicațiile și securizează arhitectura bazelor de date integrate în aplicații. Contactați echipa noastră pentru prețuri promoționale pentru IDE Delphi și C++ Builder! Solicitare Ofertă Completați formularul de mai jos pentru o ofertă personalizată. Terms & Conditions: Oferta valabilă până pe data de 31 Decembrie 2020. Ofertă valabilă la procurarea: RAD Studio 10.4 Sydney–Architect Edition Delphi 10.4 SydneyArchitect Edition C++ 10.4 SydneyArchitect Edition Named user, network named, and concurrent licenses. Această ofertă nu este disponibilă la achiziția de: Renewals Academic editions Această ofertă nu poate fi cumulată sau combinată cu alte oferte curente. Embarcadero își rezervă dreptul de a modifica, anula sua amâna oricând prezenta ofertă Prezenta ofertă nu este aplicabilă daca contravine legislației locale. Pot fi aplicate restricții adiționale. Modul de aplicare a reducerii: Contactați partenerul local Procurați online Prețul de renewal mentenanța după 12 va fi prețul deplin de la ediția Architect.

Read More

Free Web Components Promo

  Contactați-ne pentru informații suplimentare: vanzari@d-data.ro Web Components Pack GRATUIT + 15% Reducere!  Până pe data de 13 Februarie 2021 la procurarea edițiilor Enterprise sau Architect a soluțiilor RAD Studio sau Delphi – alegeți cadou unul din cele trei componente web: IntraWeb vă permite să dezvoltați aplicații în Desktop mode, implementându-le ca aplicații WEB sau JavaScript fără plugin-uri adiționale. TMS Web Core este un Framework avansat pentru crearea aplicațiilor WEB în RAD Studio. UniGui permite utilizatorilor RAD Studio să creeze, modeleze, și să verifice aplicațiile web IDE utilizând un set unic de componente vizuale. Alegeți oricare dintre cele de mai sus și obțineți-l GRATUIT când procurați edițiile RAD Studio / Delphi Enterprise sau Architect! Această ofertă combină cele mai bune soluții de dezvoltare web pentru RAD Studio și puteți alege cea pe care o preferați. Adăugați opțiuni de dezvoltare vizuală, bazată pe clientul web RAD, pe lângă opțiunile de dezvoltare Windows și multi-platform oferite de către RAD Studio. Contactați echipa noastră pentru prețuri promoționale pentru IDE Delphi și C++ Builder! Solicitare Ofertă Completați formularul de mai jos pentru o ofertă personalizată. Terms & Conditions: Această ofertă promoțională NU POATE fi cumulată sau combinată cu alte oferte. Această ofertă se aplică DOAR la achiziția de licențe noi ediția Enterprise/Architect. Această ofertă NU ESTE VALABILĂ la comenzile online – Contactați partnerul local pentru ofertă Această ofertă NU SE APLICĂ la upgrade de la ediția Professional. Această ofertă NU SE APLICĂ la renewals sau licențe academic. Doar O SINGURĂ componentă web disponibilă pe achiziție, cantitatea componentelor oferite corespunde numărului licențelor RAD Studio procurate. Oferă valabilă până pe data de 13 Februarie 2021. Componentele web trebuie solicitate pâne pe data de 19 Februarie 2021

Read More

Powerful Native Windows Open Source And Free Python IDE Built In Delphi

Embarcadero’s users understand the scalability and stability of C++ and Delphi, and depend on the decades of innovation those languages bring to development. Ninety of the Fortune 100 and an active community of more than three million users worldwide have relied on Embarcadero’s award-winning products over the past 30 years. Icons by Icons8.com. © 2020 EMBARCADERO INC. ALL RIGHTS RESERVED Legal

Read More

RAD Studio Roadmap November 2020

Embarcadero’s users understand the scalability and stability of C++ and Delphi, and depend on the decades of innovation those languages bring to development. Ninety of the Fortune 100 and an active community of more than three million users worldwide have relied on Embarcadero’s award-winning products over the past 30 years. Icons by Icons8.com. © 2020 EMBARCADERO INC. ALL RIGHTS RESERVED Legal

Read More

Learn To Build A Python GUI For Working with 2D Graphics And The Matplotlib Library In A Delphi Windows App

Drawing graphics programmatically is a very popular task these days. You can easily solve it using Matplotlib library with Python4Delphi (P4D). P4D is a free set of instruments that allows you to work with Python scripts, modules and types in Delphi. In this post, we will look at how to run Matplotlib library using Python for Delphi. With Delphi and C++Builder and Python4Delphi, you can build Python GUI apps for Windows using various Python libraries. Open project Demo1 to run the Python script in Python for Delphi. Use Memo1 for Python script and Memo2 for results. Click Execute button for running the script. Download Demo1 source from GitHub. If you run into a floating point division error when executing the code run MaskFPUExceptions(True); before you call ExecStrings. procedure TForm1.Button1Click(Sender: TObject); begin PythonEngine1.ExecStrings( Memo1.Lines ); end; procedure TForm1.Button1Click(Sender: TObject); begin PythonEngine1.ExecStrings( Memo1.Lines ); end; Python Matplotlib library provides various tools for working with 2D graphics. With this library, you can create graphics, customize legends, style sheets, color schemes, and manipulate images. There are examples of code from the Matplotlib below. Draw a plot You can draw very simple plots with Mathplotlib. Or, if you want, you can change the shape and color of the points in the graphic in different ways. In the following example, we will draw the green triangular points using the argument ‘g^’  in function plot(). import matplotlib.pyplot as plt import numpy as np t = np.arange(0., 5., 0.2) plt.plot(t, ‘g^’) plt.show() import matplotlib.pyplot as plt import numpy as np t = np.arange(0., 5., 0.2) plt.plot(t, ‘g^’) plt.show() Stacked bar chart In this example, we show how to draw a stacked bar plot. We will use the function bar() twice. We need to pass to this function such parameters as labels, values of various categories that need to be displayed, names of labels. Finally, we will set such graphic parameters as title, y-label. import matplotlib.pyplot as plt labels = [1, 2, 3, 4, 5] cat1_means = [14, 39, 30, 19, 54] cat2_means = [43, 62, 52, 51, 29] width = 0.35 fig, ax = plt.subplots() ax.bar(labels, cat1_means, width, label=’Cat1′) ax.bar(labels, cat2_means, width, bottom=cat1_means, label=’Cat2′) ax.set_ylabel(‘Scores’) ax.set_title(‘Scores by product cutegories’) ax.legend() plt.show() import matplotlib.pyplot as plt labels = [1, 2, 3, 4, 5] cat1_means = [14, 39, 30, 19, 54] cat2_means = [43, 62, 52, 51, 29] width = 0.35 fig, ax = plt.subplots() ax.bar(labels, cat1_means, width, label=‘Cat1’) ax.bar(labels, cat2_means, width, bottom=cat1_means, label=‘Cat2’) ax.set_ylabel(‘Scores’) ax.set_title(‘Scores by product cutegories’) ax.legend() plt.show() Draw curves and fill the area In this example, we use the function plot() again to build a graphic of cos(x). Then we fill the area in green color between two curves using function fill_between(). Pass parameters x, y1 and y2 to determine the curve and exclude some horizontal regions from being filled using parameter where. import matplotlib.pyplot as plt import numpy as np fig, ax = plt.subplots() x = np.arange(0, 7 * np.pi, 0.1) y = np.cos(x) ax.plot(x, y, color=’black’) ax.fill_between(x, 0, 1, where=y > 0.75, color=’green’, alpha=0.5, transform=ax.get_xaxis_transform()) plt.show() import matplotlib.pyplot as plt import numpy as np fig, ax = plt.subplots() x = np.arange(0, 7 * np.pi, 0.1) y = np.cos(x) ax.plot(x, y, color=‘black’)   ax.fill_between(x, 0, 1, where=y > 0.75,                 color=‘green’, alpha=0.5, transform=ax.get_xaxis_transform()) plt.show() We got acquainted with some of the Matplotlib library’s features. Go here, […]

Read More

Structured Programming in Delphi – DelphiCon 2020

Have you heard of functional programming but are vague on the details?  Are you ready to expand beyond the object-oriented mindset?  Tomorrow, Nick Hodges, author of Coding in Delphi, will teach us how to harness functional programming techniques to craft beautiful programs in Delphi.  Just one day away, Functional Programming with Delphi is a knowledge-broadening talk you don’t want to miss! DelphiCon 2020 offers ten talks and four expert panels by Embarcadero tech partners and Most Valuable Professionals spanning the range of software from education to industrial database access. Come for the functional programming and leave with a greater understanding of how to maximize performance with Delphi. The conference is free and open to the public. Sign up now by clicking the “Save my seat” button at delphicon.embarcadero.com!

Read More

Learn To Build A Python GUI For Processing Images With Pillow Library In A Delphi Windows App

Are you looking for a simple way to process images programmatically? You can do it with Python for Delphi using Pillow library. Python for Delphi (P4D) is a free tool that allows you to execute Python scripts, create new Python modules and types in Delphi. This post will guide you on how to run Pillow library code using Python for Delphi. You can easily build Python GUI apps using your favorite Python libraries for Windows using Delphi and C++Builder and Python4Delphi. In order to run the Python script in Python for Delphi, open and run project Demo1. Then insert the script into lower Memo, click Execute button, and get the result in upper Memo. You can find the Demo1 source on GitHub. procedure TForm1.Button1Click(Sender: TObject); begin PythonEngine1.ExecStrings( Memo1.Lines ); end; procedure TForm1.Button1Click(Sender: TObject); begin   PythonEngine1.ExecStrings( Memo1.Lines ); end; With Pillow library, you can perform geometric and color transformations. It also allows to cut, copy part of the image and merge several images into one. Let’s take a look at some examples. Open, show, and get image properties First, open the image using function open(). You can get image properties such as format, size, type. from __future__ import print_function from PIL import Image im = Image.open(“test.jpg”) print(im.format, im.size, im.mode) im.show() from __future__ import print_function from PIL import Image im = Image.open(“test.jpg”) print(im.format, im.size, im.mode) im.show() Create thumbnails thumbnail() function allows you to create an image thumbnail. The input parameters of this function are the size of the image that you want to get in pixels. Use save() function to save the image in a specified directory. from __future__ import print_function from PIL import Image import os path = “test.JPG” im = Image.open(path) size = (250, 250) outfile = os.path.splitext(path)[0] + “.thumbnail” im.thumbnail(size) im.save(outfile, “JPG”) from __future__ import print_function from PIL import Image import os   path = “test.JPG” im = Image.open(path) size = (250, 250) outfile = os.path.splitext(path)[0] + “.thumbnail”   im.thumbnail(size) im.save(outfile, “JPG”) Geometrical transformations Function transpose() allows you to perform different geometrical transformations with the image. For example, you can rotate the image by a given angle or flip it horizontally and vertically. from __future__ import print_function from PIL import Image im = Image.open(“test.jpg”) box = (0, 0, 320, 426) region = im.crop(box) region = region.transpose(Image.ROTATE_180) region = region.transpose(Image.FLIP_LEFT_RIGHT) im.paste(region, box) im = im.rotate(45) im.save(“test2.jpg”) from __future__ import print_function from PIL import Image im = Image.open(“test.jpg”) box = (0, 0, 320, 426) region = im.crop(box) region = region.transpose(Image.ROTATE_180) region = region.transpose(Image.FLIP_LEFT_RIGHT) im.paste(region, box) im = im.rotate(45) im.save(“test2.jpg”) Change images colors Now let’s look at how to change image color. Function split() allows you to decompose the image into separate colors and work with each color separately. In the following example first, we split the image into separate parts by color. Then select the area where the green value is less than 150. At the next step, we increase the blue value by 0.5. In the end, we merge everything into a new image. source = im.split() R, G, B = 0, 1, 2 mask = source[G].point(lambda i: i source = im.split() R, G, B = 0, 1, 2 mask = source[G].point(lambda i: i 150 and 255) out = source[B].point(lambda i: i * 0.5) source[R].paste(out, None, mask) source[B].paste(out, None, mask) im = Image.merge(im.mode, source) Now you can make various modifications […]

Read More

Quickly Migrate and Modernize Your Delphi/C++ Apps Using FastReport With Windows High DPI Setup

Display panel manufacturers have packed an increasing number of pixels into each unit of physical space on their panels resulted in the dots per inch (DPI) of modern display panels. In the past, most displays had 96 pixels per linear inch of physical space (96 DPI); in 2017, displays with nearly 300 DPI or higher are readily available. Variety of monitors like SD, Full HD, 4K Ultra HD, 8K Ultra HD in the market. We have laptops, desktops with small screens, and without display scale factor/DPI changes it’s very hard to use it and this can be even more complicated when talking about Full HD, 4K Ultra HD, 8K Ultra HD. Our application should be able to handle them. You cannot be sure what every user prefers. Some common scenarios where the display scale factor/DPI changes are: Multiple-monitor setups where each display has a different scale factor and the application is moved from one display to another (such as a 4K and a 1080p display) Docking and undocking a high DPI laptop with a low-DPI external display (or vice versa) Connecting via Remote Desktop from a high DPI laptop/tablet to a low-DPI device (or vice versa) Making display-scale-factor settings change while applications are running Desktop applications must tell Windows if they support DPI scaling. By default, the system considers desktop applications DPI unaware and bitmap-stretches their windows. By setting one of the Unaware, System, Per-Monitor, and Per-MonitorV2. available DPI awareness modes, applications can explicitly tell Windows how they wish to handle DPI scaling. When updating a System DPI-aware application to become Per-MonitorV2 aware, the code which handles UI layout needs to be updated such that it is performed not only during application initialization but also whenever a DPI change notification (WM_DPICHANGED in the case of Win32) is received. Things to know on migrating your Delphi Application to High DPI ? Set the DPI awareness Mode in Project->Options->Application->Manifest-DPI Awareness and Select Per-MonitorV2. Use Sceen.PixelsPerInch-primaryDispaly DPI Use TVirtualImageList instead of TImageList. Check all custom draw for absolute positions Use Control.CurrentPPI to get Current PPI of Control Mixed Mode for dialogs(SetThreadDPIAwarenesscontext) Use Form events OnBeforeMonitorDPIChanged/OnAfterMonitorDPIChanged. Note: Ensure backward compatibility for your platform and Delphi version of your application. Some of the Delphi And FastReport High DPI Controls: TControl: procedure such as ScaleforPPI, ChangScale, ScaleControlsForPPI helps for High DPI change. TFrxBAseForm: procedure such as UpdateResources, UpdateFormPPI, ProcessPreferences, and Message WM_DPICHANGED helps for FastReport form DPI change. TFrxDPIAwareCustomControl: procedure such as DoPPIChanged, GetScale, and Message WM_DPICHANGED_AFTERPARENT helps for FastReport custom control DPI change. Check out the Video Fast Migration to Windows 10 High DPI, below for Demonstration. Check the latest RAD Studio 10.4.1 Features which includes VCL Style Changes for High DPI.

Read More