getit

Learn How To Build MVVM Pattern Based App In 20 Minutes

MVVM is a software architectural pattern that facilitates the separation of the development of the graphical user interface via a markup language or GUI code from the development of the business logic or back-end logic so that the view is not dependent on any specific model platform. In this Skill Sprint in 20 minutes, you can learn how to apply this MVVM pattern to your Delphi applications smoothly.  Model-View-ViewModel The MVVM design pattern decouples your application code and separates the concerns of your application. You must care about MVVM because it is the way to write maintainable, testable code. The compelling reason is the ease of maintenance. Utilize MVVM and, your app will never become a legacy application. How can you achieve within Delphi? The answer is separating the software. ViewModel – Present data to the view View – User interface Model – Business logic or back-end Be sure to watch the whole session to learn more about the MVVM pattern and the demo using the Delphi.

Read More

FL Studio Is A Massively Popular Digital Audio Workstation Software Built In Delphi

Image-Line Software is the Belgian based creator of FL Studio, one of the most popular Digital Audio Workstations (DAWs) available on the market for creating music. FL Studio is installed more than 30,000 times per day (more than 10 million installations a year) by users in more than 200 countries, including power users such as Avicii, Martin Garrix, Afrojack, and Mike Oldfield. “Delphi is very important for us as a development tool because it allows us to do inline assembly and link function to the code directly. With classic development tools, that process is much clumsier. However with Delphi you can just add a button and double click; it speeds up coding and allows us to work in the language we know best.” – Jean-Marie Cannie, CTO and Founder Case Study https://www.embarcadero.com/case-study/image-line-software-case-study Download https://www.image-line.com/ Screenshot Gallery

Read More

Human Interface Devices Communicator For C++ Builder On Windows

Communicating with Human Interface Devices Communicator such as Alphanumeric display, Bar Code Reader, Sensors, Volume control on Speakers/Headsets becomes a primary use case for real-world applications. Do you spend more time in building libraries to communicate with HID for your Delphi/C++ and Lazarus 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 Communicator 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: from C++ Builder 5 to 10.4 Sydney and Lazarus 2.0.8. Platforms: Windows;   Steps to Download and use the Native HID Library: Download Native HID and Unzip the file. Navigate to the Library folder for different Versions. e.g) Delphi10.4. Read the Readme.txt file to know about features and copyright information. Create a Windows VCL Application and use Hid.pas in the uses section. Include the Library folder into Project->Options->Delphi Compiler->Search Path. Compile and check for using the library. 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 HID device 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.

Read More

Easily DirectX Support with VCL In C++Builder On Windows

It is surprisingly easy to add joystick support to your VCL In C++Builder app on Windows. Here is third party Delphi and C++ Builder component from WINSOFT for retrieving joystick position and status for any keys. You can use wired or wireless joystick for your application like games, audio/video players and other application. I have tested this delphi component on a recent Windows 10. All functionality corresponds to the declared. All buttons my joystick successful detected. Also works analog sticks. Now let’s view this demo (included to instalation packages) The first thing you need to do is install component to Delphi. It’s very fast and simple! Look this video. Demo included to component package. Now let’s look at the stages of working with a component. # 1 stage – Enumerate controlers # 2 stage – Connect to controler and get value ranges # 3 stage – Now we can read current values from controller anytime. The component uses the DirectX API. Extended capabilities also provide support for rudder pedals, flight yokes, and other devices that use up to six axes of movement, a point-of-view hat, and 32 buttons.This component has both versions for FireMonkey and for VCL In C++Builder applications to Delphi / C ++ Builder 10 – 10.4. Works with: Delphi, C ++ Builder, RAD Server, FireMonkey, VCLWorks on: Windows 32-bit, Windows 64-bit Source code included in registered version. Royalty free distribution with application without any limitation. Related linksHere is packages for VCL and Firemonkey:JoystickJoystick for FireMonkeyDirectX JoystickDirectX Joystick for FireMonkey Code Faster and Smarter with VCL on C++Builder Smart developers and Agile software teams write better code faster using modern OOP practices and C++Builder’s robust frameworks and feature-rich IDE. Spend less time waiting for lengthy compiles with our highly optimized modern C++ compilers for Windows and iOS Code Insight™ delivers code-completion based on your code and used libraries to help you code quickly and accurately plus customize the IDE to meet your coding style. Get native, high-speed direct access to InterBase, SQLite, MySQL, SQL Server, Oracle, PostgreSQL, DB2, SQL Anywhere, Advantage DB, Firebird, Access, Informix, MongoDB, and more. Get hints and tips from inline documentation as you write code Utilize popular libraries such as Boost, Eigen, and ZeroMQ plus leverage a broad range of community tools and libraries. Integrate with version control systems including Git, Subversion and Mercurial

Read More

New for the IDE in RAD Studio 10.4.1

RAD Studio 10.4.1 is a quality-focused release, and this goes for the IDE! We’ve addressed many items including some very commonly requested changes; read more below. A ‘quality-focused release’ means one where we introduce very few new features, and focus 95% of our development efforts on quality. 10.4.1 has had a lot of work in the IDE and will be much smoother for you once you install. But, in 10.4.1 we’ve also spent that time on new features, and we’ve implemented a couple of really commonly requested items. There are two sections to this blog post: first, a change to an old IDE feature; second, a new feature, and key areas that you may be very happy we’ve focused on! The Floating Form Designer Layouts and Multiple Monitors: aka, ‘when does the IDE change things?’ Notable Quality The Floating Form Designer Ever since 2003, the RAD Studio IDE has been ‘docked’: that is, while you can drag tool windows like the Palette, Object Inspector, Messages, Watches and so forth to float, the overall design of the IDE is an integrated window. Specifically the editor and form designer are integrated in the main window. The ‘floating form designer’ is when you turn this off, and it allows the form you are designing to be a window among other windows; that is, it’s not embedded in the main IDE, but mimics the Delphi 1-though-7 behaviour where the designed form can be above or behind the editor. This behaviour has been replaced by modern docked designing for seventeen years, requiring you to manually turn on the old-style feature, and unfortunately did not always behave well. When assessing the feature, we made the hard decision to remove it. What does this mean? Does it mean you can’t have multiple editor or designer windows, for example? No! Very much not. In fact, you can still have multiple editor windows spread over multiple monitors too if you wish, with each one hosting a designed form… and we’ve even tweaked a wide range of areas and UX or behaviour tweaks while you do! Two really notable items we’ve addressed in this area are: The IDE used to not work quite as you’d want when clicking on an item in the Structure pane: the Structure pane would sometimes scroll and the wrong item was selected. This is now resolved. If you click, it will select what you clicked on. I’m really glad to note this one. When you have multiple forms being designed at once, the Structure and Object Inspector windows would reflect the selection for the form designer in the window they were docked to. Now they always reflect the form you are editing. Ie, whatever you’re working on is what they’ll show information for, regardless of what’s docked where. The key to note here is how much better 10.4.1 is at handling form designing over multiple screens. These were ‘annoyances’, things that might seem minor but got in the way when working. We’re glad to note the better behaviour in RAD Studio 10.4.1. Layouts and Multiple Monitors: aka, ‘when does the IDE change things?’ When working with layouts and the designer, we also added one often-requested feature. Desktop layouts save the position and location of your IDE windows, including the monitor your IDE is on. You can create […]

Read More

Ultra-Fast Web Application Development using Delphi/C++ Builder

Choosing the Web framework for Web Application Development in Delphi or C++ Builder will no more a tough task for both developers and companies to meet the business needs. There is plenty of resources around Embercadero and the web about various frameworks with the pros and cons of each. Still, struggle to choose the right one for your need? Don’t worry this post will guide you through the available frameworks. RADStudio Included Server Technologies : Web Broker: Abstract the HTTP Server concept with concrete classes mapped to CGI, ISAPI, ApacheModules, Standalone(indy). It can maps URLs to actions, supports filters, and global handlers. To start with WebBroker Click here. DataSnap is a Delphi technology that allows the development of multi-tier applications, most notably multi-tier database applications. Supports Rest, TCP/IP, HTTP/HTTPS. Backward compatible with COM/DCOM. A serios of tutorials here. RAD Server Load Delphi and C++ business logic methods into RAD Server, add some users, and go. REST/JSON end-points are auto-created and managed. Access control is handled. Data storage is built-in or you can easily connect to any popular Enterprise RDBMS or cloud service.  SOAP Services: It’s a protocol which enables you to access remote data, or call remote procedures. SOAP data is transmitted using an XML wrapper, usually over an HTTP or direct TCP/IP. To create and use SOAP service Click here. RADStudio Included some Client Technologies for Web Application Development: Which includes Rest BaaS Client, Cloud Client libraries, Rest Client libraries, SOAP Clients. 3rd Party Web Frameworks: Client Focused: Pascal->JavaScript Transpilers. Write in Object Pascal and translate/Compiles in to JavaScript. Creates a pure Web client Solution. Compatible with many popular server solutions. TMSSoftware’s Web Core Integrates into Delphi IDE. Write object pascal and design in RAD Studio, builds pure HTML & JavaScript. Works with TMS’s cross-platform FNC components. Builds a Single Page Application. The large reusable component set with database access. Smart Mobile Studio (SMSC) transpiler has its own IDE uses familiar Object Pascal dialect. Compiles to pure JavaScript. Has lots of target like Node.js Tizen, console & Espruino. Has own RTL and full Visual component framework. ElevateSoft’s Web builder transpiler has its own IDE with components similar to VCL. Supports using native Elevate Web Builder Web server Modules. It compiles to optimized JavaScript. Full Stack or Client/Server Focused: Framework covers the Server app and client interface. Balanced Approach good to choose when Both Server and Visually designed UI is one project. WebBroker is the core on the server for most frameworks listed below. AtoZed Software’s IntraWeb: Installs into IDE, Modeled on VCL, Visual Client Designer. The client built from the JS and HTML library. Delphi UI event handlers run on servers, extensible via typescript. FMSoft UniGui: Installs into Delphi IDE, VCL like design and use. Provides data-aware controls, supports desktop and mobile. Allows optional javascript for client-side events and VCL like server event handlers. Open source Ethea Kitto2: Uses Web broker for the backend. No visual designer, make it easy to use Ext JS to build client. Server Focused Open Source: Delphi MVC Framework: Rest Server built on WebBroker includes Delphi IDE wizard. Runs under Apche or ISS on Windows & Linux. Restful RMM level 3 compliant. Synopse mORMot : Doesn’t use Web broker, Integrated SpiderMonkey JavaScript engine for server-side business logic. ORM/ODM: Object persistence on Almost any database (SQL or NoSQL).SOA: organize your business logic into REST services. Web MVC: Publish your ORM/SOA process as responsive Web applications. MArs Curiosity: Lightweight Rest Server built on WebBroker, installs into Delphi […]

Read More

C++17 On Windows 10 With The C++ Builder

As you know from C++ Builder 10.3, we have support for the modern C++17 On Windows 10 version. Here you can see the C++ 17 support chart. In this CodeRage session, Dion Mai shows demo applications in action. You can find out how you can use the new C++17 On Windows 10 functions and an updated C++17 standard library.  What you can find in this session? Moreover, you can find out how you can call WinRT functionalities. You can find all the wrappers from the RAD Studio installation folder. Source->RTL->Win->WinRT   C++ Builder provides three levels of development:1. Components (VCL and FMX)2. Common Libraries (RTL).3. Platform APIs (iOS, Android, Mac OS) In this post we will discuss the Common Libraries (RTL). C++ Builder has several hundred functions, macros, and classes that you call from within your C and C++ programs to perform a wide variety of tasks, including low- and high-level I/O, string and file manipulation, memory allocation, process control, data conversion, mathematical calculations, and more.​ The C++ Builder Run-Time Library (or RTL) is composed of a number of base header files that provide the underlying support for most of the VCL and FireMonkey component libraries . The RTL includes global routines, utility classes such as those that represent streams and lists, and classes such as TObject, TPersistent, and TComponent.​ Although closely allied with FireMonkey and VCL, the RTL does not include any of the components that appear on the Tool Palette. ​ Instead, the classes and routines in the RTL are used by the components that do appear on the Tool Palette, and are available for you to use in application code in either VCL projects or FireMonkey projects, or when you are writing your own classes.​ For example, the System header contains most of the Run-Time Library (RTL). ​ And from the System header, you have the System.Math.hpp header that defines classes, routines, types, variables, and constants related to mathematical operations, vectors and matrices.​ Or the System.Bluetooth.hpp header that provides classes to use the Bluetooth capabilities of the device that is running your application to connect to applications running on remote devices.​ Or the System.Sensors.hpp header that provides classes and components that let you obtain information and manage system sensors. The Sensors are pieces of hardware or software that can provide measures of physical quantities to your applications.​ Or the System.Threading.hpp header that defines classes and types that implement the parallel programming library.​

Read More

Start your IoT solution with RAD Studio 10.4

Let’s say for example that you want to create a heart rate monitor app. You’ll need information about the heart rate GATT profile to connect to and collect data from the bluetooth enabled HR monitor device. GATT profiles are high level definitions that define how to use standard services in your applications. The heart rate GATT profile is used for fitness or health applications. The server device with a heart rate sensor exposes the standard heart rate service so that the Bluetooth LE client discovers the service and starts collecting data, for example the bpm (beats per minute). The GATT profile is the combination of service + characteristics. You could research all of these specifications on your own, or you could skip ahead by using our prebuilt IoT heart rate sensor component.  IoT Solution with RAD Studio 10.4, we not only provide  Bluetooth components out of the box, but also offer over 50 prebuilt IoT device components for many popular devices, ranging from home automation, to fitness gadgets, medical devices, environmental sensors and more. They are downloadable via the GetIt Package Manager in RAD Studio 10.4 Sydney (Tools > GetIt Package Manager) and include both BLE and Z-Wave components. For example, you can quickly build your own fitness application using either the generic ThingConnect heart rate service component or a device specific IoT component. We provide ready-to-use sample apps for each of the IoT components in GetIt.   The IoT framework for Bluetooth LE based devices uses TBluetoothDeviceDiscoveryManager to manage the connection with an IoT device as a general Bluetooth LE based connection mechanism and wraps each device as a component. For instance, the TWahooTICKRHeartRateMonitor component wraps the Wahoo TICKR Heart Rate Monitor. The TBluetoothDeviceDiscoveryManager component provides the basic mechanism for connecting to Bluetooth LE based devices. In the TBluetoothDeviceDiscoveryManager component, you can define timeout and a number of re-tries to connect for these devices. To build a ThingConnect application, you need the following components: The TBluetoothDeviceDiscoveryManager component is used to set up the connection with the device. The corresponding ThingConnect device component is used to retrieve the services and the characteristics data from the device. Using the TPolarHeartRateMonitor component, it’s easy to connect to the Polar H7 heart rate sensor, and start monitoring the Heart Rate service, including subscribing to HR measurement data updates, and retrieving the building sensor location. You can find a step-by-step tutorial on how to build your own heart rate tracking application using RAD Studio here. IoT Solution With RAD Studio 10.4, we provide fully customizable user interface templates. Using one of the FireMonkey UI templates provides a great starting point for building a visually stunning fitness application. Shown: FireMonkey UI template – Home Screen 3, available in GetIt.  

Read More

GetIt Package Manager

GetIt Package Manager Enhancements Coming in RAD Studio 10.4 RAD Studio has a light weight package manager, a mechanism for downloading additional product features, add-on libraries and components, demos, VCL and FMX styles and more. Some of the content is provided by Embarcadero, but a lot comes from our community of developers and third-party vendors. Now in the coming 10.4 release of Delphi and C++Builder, the GetIt Package manager is going to see significant changes in 10.4. The key addition is that now each entry has an associated release date, technically a timestamp. This is the foundation of different features: the ability of sorting the list of entries by date, seeing the most recent ones on top for each entry you have already installed, the indication that an updated version is available the ability to list all installed entries that have an update available Updated Filters In terms of UI change, the Filter section of the GetIt dialog UI will be modified: We are removing older, inactive filters (like Free and Paid) and keeping 2 options offering 2 new ones: All for all entries Installed for the packages installed on the current system Subscription only is a new filter for exclusive content published by Embarcadero and limited to customers with an active update subscription license Updates lists packages installed on the current system and for which a new release is available (that is a package with a newer timestamp than the installed version timestamp) This is the updates filter in action: Another change is in the Sort By section of the GetIt Dialog box, which is going to have a new option to sort packages by release date (or timestamp). GetIt Entries UI The UI of the individual entry in the GetIt dialog will also be modified to indicate the specific date the package was published and (eventually) the date you installed that package. Depending on the status, the entry UI includes new buttons for the action(s) — there are now more actions available, including Updating a package. Here you can see the standard UI for an entry and the same after the package has been installed and an update has been made available: Notice that the two dates indicated in the last image are the release date of the last update and the release date of the one currently installed (the timestamp of the installed item, not the date it was installed). RAD Studio Patches Another key feature we are enabling in 10.4 is the ability to use GetIt to distribute patches, with a specific way to alert customers that a patch is available. We’ve added a new section to the Welcome page to indicate when a patch is available and you have not installed it: Once installed, that indication will disappear. Combined to this Welcome page hint, we’ll have a new category in the GetIt package manager for patches. But this is not the only related change. We have technically introduced a deferred installation mode, so that a patch requiring to update files used by the RAD Studio IDE itself can be installed by a separate process once you close RAD Studio (or as you restart it). This will account for the installation of more complex patches, that require you to close RAD Studio first. Additional GetIt Features Beside the features […]

Read More

Upgrade Your WinApps To Windows 10 With RAD Studio

Odată cu încheierea perioadei de asistență pentru Windows 7 în data de 14 Ianuarie 2020, nu a fost niciodată un moment mai bun pentru a vă upgrada aplicațiile pentru Windows 10 with RAD Studio.  RAD Studio oferă asistență extinsă pentru Windows 10. Cu RAD Studio 10.3.3, puteți actualiza rapid și ușor aplicațiile VCL la Windows 10 cu componentele de control Windows VCL, stiluri și servicii WinRT / UWP Windows 10. Acest lucru face ușor să abordați paradigme UI comune pe Windows 10. Embarcadero oferă o serie de controale VCL UI special concepute pentru Windows 10. Include documentație detaliată și demonstrații pentru diferitele controale VCL la care aș recomanda să aruncați o privire: TSplitView este un container pentru alte controale care pot fi deschise și închise, similar cu TMultiView în FireMonkey TRelativePanel este un panou de aspect care vă permite să poziționați și să aliniați obiectele copil în raport cu celălalt sau cu panoul părinte TToggleSwitch oferă două stări, pornit și oprit TDatePicker și TTimePicker sunt controale moderne de selectare a datei și a orei TCalendarView și TCalendarPicker oferă vizualizări de lună, an și decenii TSearchBox este un control de editare care oferă funcții de căutare TActivityIndicator oferă un indicator rotativ animat pentru utilizare în aplicațiile Windows 10 TCardPanel este o componentă specializată care gestionează o colecție de carduri TStackPanel este un control al containerului care vă permite să aliniați automat toate controalele parentale vertical sau orizontal, păstrând setările personalizate pentru înălțime și lățime ale fiecărui control. Solicită oferă personalizată RAD Studio! Folosind stiluri, este foarte ușor să schimbați complet aspectul aplicației dvs. VCL. Pentru a seta un stil pentru aplicația VCL, selectați stilul în Proiect> Opțiuni> Aplicație> Aspect. Puteți alege dintre mai multe stiluri VCL Windows 10 încorporate sau să descărcați altele prin intermediul pachetului GetIt Package Manager (Instrumente> Manager pachet GetIt) din categoria Stiluri. De asemenea, oferim multe stiluri Windows încorporate pentru FireMonkey și cele personalizate pe care le puteți descărca prin intermediul pachetului GetIt Manager și se pot aplica aplicației Windows FireMonkey folosind TStyleBook.

Read More