From the blog

Bundle RAD Studio si Sencha Ext JS

RAD Studio Sydney + Sencha ExtJS PRO Contactați-ne pentru informații suplimentare: vanzari@d-data.ro Achiziționați RAD Studio și primiți gratuit o licență Ext JS Pro pentru web development.  Oferta valabilă la achiziția oricărei din ediții RAD Studio 10.4 Sydney – Professional, Enterprise, sau Architect. Creați aplicații WEB funcționale multiplatforme pentru desktop, tablete sau smartphone-uri. Profitați de funcționalitățile avansate ale Sencha Ext JS Pro atunci când achiziționați RAD Studio. RAD Studio Vă sprijină pe parcursul întregului ciclu de dezvoltare a aplicațiilor Dvs – oferind instrumente pentru design și pentru dezvoltarea single source-code, care poate fi compilată în aplicații pentru diferite platforme: Windows, Andoid, iOS, modile, Linux etc. Sencha Ext JS este cel mai amplu framework JavaScript pentru crearea de aplicații web și mobile cu un volum mare de date, cross-platform și pentru orice dispozitiv modern. Ext JS include peste 115 componente UI pre-integrate și testate de înaltă performanță. Solicitare Ofertă Completați formularul de mai jos pentru o ofertă personalizată. Terms & Conditions: Oferta valabilă în perioada 14 Octombrie 2020 – 30 Noiembrie 2020. Oferta disponibilă doar la achiziția RAD Studio 10.4 Sydney (All Editions). Tipuri de licențe incluse în promoție – ESD, Network Named, Concurrent. Academic licenses și maintenance renewals,nu fac parte din aceasta ofertă. Embarcadero își rezervă dreptul de a modifica, anula sau amâna oricând prezenta ofertă Prezenta ofertă nu este aplicabilă daca contravine legislației locale. Se pot aplica restricții adiționale. Cum beneficiați de ofertă: Solicitați o ofertă partenerului local Embarcadero și plasați comanda înainte de data de încheiere a promoției.

Read More

Promotie Halloween 2020!

Promoție de Halloween soluții Embarcadero în Romania Bucurați-vă de Halloween și beneficiați de un discount special la achiziția licențelor Embaracdero! Build Stunning Application  5X faster for Windows, Android, iOS, macOS, and Linux. Reduceri oferite: Professional Enterprise Architect Professional 10%  Enterprise 15%  Architect 20%  Native Apps that Perform. Build Windows C++ Apps 10x Faster with Less Code. Reduceri oferite: Professional Enterprise Architect Professional 10%  Enterprise 15%  Architect 20%  Get more. Do more. Spend less. Solicitați ofertă Grăbiți-vă! Oferta este valabilă până la data de 31 Octombrie 2020! [hurrytimer id=”8460″]

Read More

How To Migrate Your Legacy C++ Applications To The Latest Blazing-Fast Version

Thinking to migrate your Legacy C++Builder Applications to the Latest Delphi? Curious to know the things to do and tips to do effortless migrations? This post will guide you through the considerations for successful migrations Things to consider : Unicode Compatibility – Unicode support was added to RAD Studio, Delphi and C++Builder starting with the 2009 version. Many migration resources were developed at that time but are still useful today if upgrading from a pre-Unicode (2007 or earlier) version. Unicode Statistics Tool on your Delphi application and check if any Unicode changes are needed.This Unicode Statistics Tool will assist you in collecting useful statistics for the time and effort needed to migrate your Delphi applications to Unicode. More Resources for Unicode. 64 bit Migration -Ever since Delphi XE2, it has been possible to generate Delphi 64bit applications from the same code base as your traditional Windows 32bit Delphi code. The business case for 64-bit for business is covered in this tech paper The Impact of 64-bit Applications to your Company’s Bottom Line Database and Middleware -The Borland Database Engine (BDE) has been deprecated, and beginning with version XE8 the BDE has been removed from the Delphi installation, but is still available as a separate download from Code Central. All applications using the BDE are recommended to be migrated to FireDAC. If you are new to FireDAC Data Access Components, start here and look at the First Steps and Getting Started links. 3rd party Components : The 3rd party plug-ins (libraries) need to be rebuilt in the current Delphi version. Having the source code makes this easier. You will need to re-compile your 3rd party components / libraries from older Delphi using the current Delphi 10.4.1 version so the components and libraries can be used in current Delphi projects.Check this link for some of the third party components available with RAD Studio and you can search all tools and components on the Embarcadero Technology Partner Directory. Tips for successful migrations : Before Migration: Set an Objective like Why do we need to migrate? What do you want to Mograte to ? Verify availability of Third party applications. Look for Alternatives in GetIt/GitHub/Others. Will help to validate post migrations. BuildTime: Verify Project options , Compiler Version directives, Solve dependencies and your own code, Solve Hints and Warnings. Stabilization: Verify to stabilization by doing some functional tests, corrections of errors, acceptance test Modernization: Look out the modern features which latest version supports such as Use of Styles, Windows/High DPI themes. Use of panels Card,Grid,Stack,Flow. Migration from Client/server to Multi layered Application, Web frameworks, Multiplatform application. Look out the Latest Version Feature Matrix here. Watch the YouTube Video on Migration with Demonstration Webinar Replay for Delphi here. Watch the webinar on Migrating and Modernizing Legacy C++ Applications here.

Read More

OAuth2.0 With The Rest Client Components For C++ Builder

Authentication becomes a critical part of any business, that too developing applications using the OAuth2.0 protocol is still challenging to some C++Builder developers using Restful APIs as most modern IoT applications mandates. Don’t worry, this post will simplify your challenge and understand better. Assume an end-user(Resource Owner) has an account in google(Resource Server) and has resources like contacts. The same user wants to sign up in Facebook (Third-Party App), as a user, he needs to reuse users credentials of google in Facebook and avoid fresh signup(filling all the personal details in Facebook and creating login credentials orto access some of the protected resources from google e.g) use contacts from google to invite friends that need to be used on Facebook. This is achieved by traditional Client Server authentication. But this approach has drawbacks as mentioned below. End user credentials is used by 3rd party app. 3rd party app store credentials for later use. Resource servers must provide password authentication. End users cannot revoke access to individual 3rd party app as credential are universal, can only block access by changing password. Compromise of 3rd party app exposes end user password. OAuth2.0 addresses these issues by introducing an authorization layer and separating the role of the client from that of the resource owner. Instead of using the resource owner’s credentials to access protected resources, the client obtains an access token — a string denoting a specific scope, lifetime, and other access attributes. Access tokens are issued to third-party clients by an authorization server with the approval of the resource owner. The client uses the access token to access the protected resources hosted by the resource server. For above scenario, an end-user (resource owner) can grant facebook (client- webapp, browser, desktop app) access to his protected contacts stored at a google contacts (resource server), without sharing his username and password with the facebook client to invite friends. Instead, he authenticates directly with a server trusted by the contact service(authorization server), which issues the contacts service delegation-specific credentials (access token). End user data is exposed over a Restful API. All transaction is over HTTP/HTTPS. REST – Representational state transfer web services are known as Restful APIs is an architecture style not a protocol. It exposes end user data (XML or typically JSON) by creating URI and transfer over a HTTP protocol. For RestDemo Sample click here. OAuth2.0 Work Flow. Authorization Grant Types: It can be Authorization code, Implicit, Resource owner credentials, Client Credentials. OAuth2.0 and the Internet Of Things: IoT Gadgets and Devices vast of amount of data which can be Applied with analytics which can creates revenue stream. Many IoT Vendors expose end user data over Restful services. Be aware of Vendor Restful API restrictions such as Rate limiting, time and changes in vendor API may result in feature breaking in your client Application. To avoid such limitations you can check Embercadero’s Enterprise Mobility Services Middleware. Okay, this would have helped in understanding the concepts about OAuth2.0 and IoT Use cases. To check the demonstration in action checkout this below one.

Read More

30+ Delphi Units For The Next Level DevOps

GpDelphiUnits is a collection of Delphi units by Primož Gabrijelčič. These Delphi Units might help you to do some work quickly and efficiently. This is an open-source project and you can check out the full source code on over GitHub. What you can get from these units? Here are some of the available units with aims: DSiWin32 Collection of Win32/Win64 wrappers and helper functions. GpCommandLineParser Attribute-based command line parser. GpForm A simple form with some enhancements. GpHttp Asynchronous HTTP GET/POST with ICS and OmniThreadLibrary. GpHugeF Interface to 64-bit file functions with some added functionality. GpLists Various TList descendants, TList-compatible, and TList-similar classes. GpLockFreeQueue The sample implementation of a dynamically allocated, O(1) enqueue and dequeue, threadsafe, micro locking queue. GpManagedClass Smarter base class. Handles error codes, has a precondition and postcondition checker. GpStructuredStorage Structured storage (compound file; file system inside a file) implementation. GpStuff Various stuff with no other place to go. GpSync Enhanced synchronization primitives. GpSysHook The main unit for the GpSysHookDLL. Implements system-wide keyboard, mouse, shell, and CBT hooks. Supports multiple listeners, Delphi Units, automatic unhooking on process detach, and only installs the hooks that are needed. Supports notification listeners and filter listeners (should be used with care because SendMessage used for filtering can effectively block the whole system if the listener is not processing messages). Each listener can only listen to one hook because the hook code is sent as a message ID. All internal IDs are generated from the module name so you only have to rename the DLL to make it peacefully coexist with another GpSysHookDLL DLL. GpTextFile Interface to 8/16-bit text files and streams. Uses the GpHugeF unit for file access. GpTextStream Stream wrapper class that automatically converts another stream (containing text data) into a Unicode stream. The underlying stream can contain 8-bit text (in any codepage) or 16-bit text (in 16-bit or UTF8 encoding). GpTimezone Time zone conversion. GpVCL VCL helper library. GpVersion Version info accessors and modifiers, version storage, and formatting. SafeMem GetMem/FreeMem wrapper that checks for block overruns. SpinLock A scalable atomic lock Head over and check out the full project source code and documentation here!

Read More

Create a Web Application Security Blueprint

The best way to make web applications secure is to include security at every step along the development process, from requirements analysis, to design, to implementation and testing, and into maintenance and update phases. To that end, it’s wise to consider a kind of “Web Application Security Blueprint” as part and parcel of how you work through the application lifecycle. Here’s a checklist of items to consider and best practices to follow when putting such a blueprint together. Put the security focus on the web application with Web Application Security Blueprint First and foremost, this means scanning for and eliminating vulnerabilities before applications get released. Kiuwan’s code scanning tools and technologies can not only provide guidance and remediation for the code you build in house, but also assess risks and vulnerabilities in the open source frameworks and code libraries you reference in that code. Second, a constant focus on Web Application Security Blueprint means that security concerns play a role in establishing application architecture and design, and security reviews should be included as part of the feedback process in moving those choices and lifecycle steps forward. The same concerns apply when choosing open source or third-party components, libraries and frameworks. (Here again, Kiuwan can help provide insight on such things.) Third, it’s vital to choose development tools that include (or can incorporate) security scans as part of the process of managing builds, versions and releases. Kiuwan offers plug-ins for the following IDEs: Eclipse (Analyzer and Viewer) RAD (Rational Application Developer for WebSphere Software) IBM Rational Developer for i systems (and more) Microsoft Visual Studio (Viewer) JetBrains (Viewer) IntelliJ IDEA, PhpStorm, PyCharm (and more) Microsoft VS Code (Viewer) Use the right security tools Development managers and software architects would do well to consult security experts as well as developers in assembling an application security (AppSec) toolkit. This toolkit should include all the software and analysis tools required to identify and then address or remediate risks, threats and vulnerabilities. This is where Kiuwan’s code security tools really shine, including Code Security (SAST), Insights (SCA for assessing and managing open source risk) and Code Analysis (QA for code analysis, including IDE plug-ins). Assemble people with the proper skills and resources Developers need information and training about how best to consider and incorporate security concerns as a key ingredient throughout the entire development and operations lifecycles. To that end, Kiuwan offers a broad collection of on-demand webinars to help establish and elevate developers’ security consciousness and to foster a deeper understanding and more effective use of Kiuwan’s tools and technologies. Topics include tutorials on working with specific tools (code scanning, plug-in integration, working with open source components, and more), as well as training on continuous delivery (a stance often termed DevSecOps or even SecDevOps), managing security challenges on distributed teams, effective strategies for working on remote QA teams, and more. Kiuwan won’t leave you to figure out its tools and technologies on your own; you’ll find plenty of help, guidance, and examples. Pivot DevSecOps into the cloud Companies need to understand what kinds of security risks cloud providers pose (and most accept), as well as what kinds of security controls they use and offer to their customers to manage security in the cloud. When migrating applications from on-premises resources (compute, storage and networking) into the cloud (ditto), companies must develop a detailed plan to incorporate […]

Read More

Corona distance-tracking solution with Cisco Meraki and PRTG

Do you remember the summer of 2019, when we danced together at music festivals, populated beaches and went to the supermarket without being counted at the entrance? And all of this without a face mask? In 2020, many things have changed. Suddenly there is this fear of the virus, you pick up the word “Corona” in just about every conversation and much of the former easygoingness is suddenly gone. Companies are also thinking about what their everyday work life could look like in the future. The most important recommendation in office corridors at the moment is: Keep your distance! However, it is not always easy to assess this correctly. A team of the well-known IT company Bechtle GmbH in the Hannover office had the idea to find a solution for this within the framework of a virtual hackathon, which I will now introduce to you in more detail. The concept The objective of the idea was to create an analysis that would give the people in a room quick, easy and highly accurate information about whether the distances are appropriate. However, accuracy, complexity and speed are not easy to calculate here, which is why the result was not intended to be 100% accurate, but rather a flexible form of feedback that can be achieved without too much effort. Use of Meraki zones to determine distances Meraki cameras can determine the number of people in a camera image, and the image can also be divided into different, freely configurable zones. The idea is to set up the zones so that they correspond to the allowed distance. As soon as a zone is occupied by more than one person, this means that the distance is less than the required range. The information about the zones can be determined at Meraki via API or via MQTT stream. No upload of images to a cloud is necessary since the image evaluations are performed directly on the camera and only the purely numerical values are then transferred to the zones. Data analysis with PRTG Network Monitor To evaluate and display the mentioned numerical values, another tool is necessary. This is where PRTG Network Monitor comes into play. Using the REST Custom sensor, PRTG accesses the Meraki API and reads the necessary values. The first step is to display the people in each zone individually. Next, the Sensor Factory sensor in PRTG calculates the data and visualizes the results with a traffic light dashboard. This makes it visible at a glance if there are too many people in a zone and if the necessary distances are no longer given. That was only the beginning The proof of concept I just described was only the first step. Useful extensions are, for example, WiFi-capable lamps or traffic lights that directly signal that distances in a room can no longer be maintained by flashing a red light. Data transmission can also be optimized in the next step. Instead of the previous API-based solution, data transmission using the MQTT protocol is planned.

Read More

Powerful Human Interface Devices Library For C++ Builder

Communicating with Human Interface Devices such as Alphanumeric display, Bar Code Reader, Sensors, Volume control on Speakers/Headsets becomes a primary use case for real-world, Cross-platform applications. Do you spend more time in building libraries to communicate with Human Interface Devices for your Delphi/C++ FireMonkey applications? WINSOFT Provides a powerful library to get the job done. It uses the standard Windows HID API. Features: Able to notify on Human Interface Devices arrival and removal. Can retrieve all the HID devices information available in the System. Flexible to getting/set Feature Report for the HID devices. Works with Windows 32/64-bit applications. Versions Supported: /C++ Builder XE2 – C++ Builder 10.4.1 Sydney Platforms: Windows, OS X, Android, and iOS; Steps to Download and use the Native HID Library: Download Native HID for FireMonkey and Unzip the file. Nahttps://winsoft.sk/nathid.htmvigate to the Library folder for different Versions. e.g) Delphi104-Win32. Read the Readme.txt file to know about features and copyright information. Create a Windows VCL Application and use FHid.pas in the uses section. Include the Library folder into Project->Options->Delphi Compiler->Search Path. Compile and check for using the library. NativeHID Download and Use for FireMonkey demo:https://www.youtube.com/embed/qx5A1zm9WkM?feature=oembed Key HID concepts:Report -Reports are the actual data that is exchanged between a device and a software client.  Input Report – Data sent from the Human Interface Devices to the application, typically when the state of a control changes. Output Report – Data sent from the application to the HID device, for example to the LEDs on a keyboard. Feature Report -Data that can be manually read and/or written, and are typically related to configuration information. Report Descriptor – The Report Descriptor describes the format and meaning of the data that the device supports.UsageTables – Contain a list with descriptions of Usages, which describe the intended meaning and use of a particular item described in the Report Descriptor. For example, a Usage is defined for the left button of a mouse.  USB-IF WorkGroup Publishes the Usage Tables. See USB-IF HID Specifications. Learn how to build FireMonkey applications using Native HID library

Read More

Sencha Ext JS 7.3 GA Release is here!

The Sencha team is excited to announce the latest release of Sencha Ext JS 7.3! Although the pandemic has disrupted the entire world’s ‘normal’ workflow, the Sencha team held strong and has been working relentlessly toward getting this quarterly release in the hands of our community.  This release mainly focuses on feature quality improvements, performance and usability enhancements in both the modern and classic toolkit. We’ve added many API examples and some ready-to-use templates for quick reuse. Through each release, we are committed to continually listening to your feedback as we improve the product experience, and strengthen the quality and functionality of the product.  Read on to learn what’s new in Sencha Ext JS 7.3. Highlights of Sencha Ext JS 7.3 Several improvements to the Data Grid, Fields, Charts and Buttons widgets. Enhancements to Ext JS Grid scrolling experience. Many quality improvements addressing customer reported tickets. Check out the release notes for full details.  New Kitchen Sink examples and directly usable ready-to-go templates for both toolkits Over 30+ new fiddle examples in Ext JS API Docs  Upgraded Froala WYSIWYG Editor to latest version 3.2.1 Ext JS Kitchen Sink Examples  New ready-to-go ‘Login Form’ templates. We’ve created some handy examples that can easily be directly copy-pasted into your application. Learn how to: Create a responsive login form Create a template to reset user password Create a responsive create account template Login Screen Example Create Account Example Easily navigable and ‘searchable’ component examples for the Modern toolkit. Quickly search for examples via the ‘Menu search’ option. View corresponding code and directly implement it into your application. (The tree view navigation exists in the Kitchen sink classic toolkit—we’ve expanded it for the modern toolkit) New API Component Examples  We’ve added over 30+ Data Grid API component examples and fiddle links so you can directly copy-paste the code into your application.  Check out Ext.grid API examples in the API docs for Classic and Modern Toolkit. New examples have been added for Columns (check, drag, tree, date, text, boolean), Plugins (row operations, clipboard, summary, drag-drop), Filters, Selection (rows, cells, header) and many more. Here are a few fiddle snippets: Here are our top 5 “don’t miss out” examples for modern and classic toolkits— Modern Toolkit Classic Toolkit Ext.grid.rowedit.Plugin Ext.grid.plugin.CellEditing.html Ext.grid.selection.Columns.html Ext.grid.column.Boolean.html Ext.grid.selection.Replicator.html Ext.grid.plugin.Clipboard.html Ext.grid.plugin.Clipboard.html Ext.grid.plugin.RowWidget.html Ext.grid.filters.Plugin.html Ext.grid.plugin.DragDrop.html What’s Next?  The engineering team is pacing well on regular quarterly releases and we are committed to delivering new features, quality, performance and usability enhancements and improvements all along. The work on Ext JS 7.4 is in full swing! We expect version 7.4 to be packed with many new features and enhancements especially around the data grid. Our goal is to provide you with continual support through quality and performance enhancements. If you have any feedback or questions, drop us a note here or get in touch.   Try Sencha Ext JS 7.3 We invite you to try out Ext JS 7.3 today! The 30-day free trial is available via public npm or through an easy zip download.  Get started today and build your first app in 3 easy steps.  Download Ext JS 7.3 30-day free trial Read the Getting Started Guides Check out the new and updated Resource Center

Read More